繁体   English   中英

在 docker 中使用 HAProxy 与主机网络

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM