加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

Docker网桥和nginx允许ip

发布时间:2020-12-13 21:12:19 所属栏目:Nginx 来源:网络整理
导读:我们有一个包含几个docker容器的docker bridge.主docker是一个nginx服务器,充当web主机并将所有数据转发给其他容器. 现在要求连接仅限于指定的ip地址列表.为此,我编辑了nginx服务器文件: server { allow 127.0.0.0/8; deny all; ... 哪个应该允许环回127.0.

我们有一个包含几个docker容器的docker bridge.主docker是一个nginx服务器,充当web主机并将所有数据转发给其他容器.

现在要求连接仅限于指定的ip地址列表.为此,我编辑了nginx服务器文件:

server {
        allow 127.0.0.0/8;
        deny all;
        ...

哪个应该允许环回127.0.0.1连接.

然而这失败了,看看access.log显示了原因:
所有行都以:

    172.25.0.1 - - [10/Apr/2018:08:22:46 +0000] "GET

172.25.0.1是docker bridge网关;因此,码头工人“忘记”外部的ips,我不能再过滤掉了.

我怎样才能过滤ips?或者将源ips转发到docker?

最佳答案
这是预期的,也是docker网络工作的方式.默认情况下,您最终会在docker主机上看到类似于虚拟网络的内容.从外部转发的连接将通过docker0和NAT到达每个容器.

为了解决这个问题,简单的答案是在nginx容器上使用主机网络.
即 – docker run命令的–network host选项.见:host networking

另外,请阅读docker网络文档.在那里解释得更彻底.
https://docs.docker.com/network/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读