我们有一个包含多个 docker 容器的 docker 桥接器。主要的 docker 是一个 nginx 服务器,它充当网络主机并将所有数据转发到其他容器。
现在的要求是连接仅限于指定的 IP 地址列表。为此,我编辑了 nginx 服务器文件:
server {
allow 127.0.0.0/8;
deny all;
...
Run Code Online (Sandbox Code Playgroud)
这应该允许环回 127.0.0.1 连接。
然而,这失败了,查看 access.log 显示了原因:所有行都以:
172.25.0.1 - - [10/Apr/2018:08:22:46 +0000] "GET
Run Code Online (Sandbox Code Playgroud)
172.25.0.1是docker bridge网络网关;因此,码头工人“忘记”了外部 ip,我无法再对其进行过滤。
如何过滤ips?或者将源ips转发给docker?