![](/img/trans.png)
[英]How to configure dockercloud/haproxy for docker compose when linked service uses network_mode=host
[英]Using HAProxy in docker with host network
在 docker 容器中运行 HAProxy 时,在使用--net=host
选项运行容器时,我们只能看到(并转发)原始客户端的 IP,如此处所述。
我们的问题:从安全的角度来看,这样做是否可取? 这会让攻击者更容易利用 HAProxy 漏洞吗? 还是这是普遍做法?
那么--net=host
是一种将容器暴露给公共接口的常见做法。 如果您不设置--net=host
将无法在 docker 网络之外访问 haproxy。
如果您正在运行 docker 群,那么您将从 X-Forwarded-For header 中的群入口网络获得 IP。
您可以使用--network=host
解决此问题,但是您无法将容器连接到其他覆盖网络,这可能会导致您的设置出现问题。 例如,如果您想将 HAProxy 连接到其他容器。
幸运的是,您可以使用--publish mode=host,...
而不是默认的--publish mode=ingress
直接绑定到外部 ip。
然后HAProxy会看到真正的客户端ip。 另请参阅https://github.com/docker-archive/dockercloud-haproxy/issues/134#issuecomment-288485710
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.