mhe*_*ier 6 firewall iptables csf docker
我只想在远程 Ubuntu 服务器上的 csf 防火墙后面本地访问 docker 容器。我将DOCKER
设置选项更改为/etc/csf/csf.conf
允许1
docker 更改 iptable 规则。
如果我使用 启动容器-p 8000:8000
,则该端口8000
将向全世界公开(我可以mydomain.com:8000
按预期使用 访问网站,但不是我想要的)。如果我用 启动容器,则-p 127.0.0.1:8000:8000
无法访问它mydomain.com:8000
(这很好),但在这两种情况下,调用localhost:8000
都会导致ERR_EMPTY_RESPONSE
Chrome 或curl: (52) Empty reply from server
终端中出现错误。
尝试使用不同的容器和不同的端口。禁用csf后,它可以正常工作,不会出现空回复错误,因此它必须与csf相关。
如何配置csf仅在本地通过特定端口公开和访问docker容器?
旁注:我正在使用ssh admin@mydomain.com -L 8000:localhost:8000
.
小智 6
也有同样的场景。发现从 lo 到 docker0 的数据包被 CSF 的 OUTPUT 规则集阻止。
通过将“docker0”添加到 ETH_DEVICE_SKIP 来解决,这会导致 CSF 向该接口的 INPUT 和 OUTPUT 链添加一揽子 ACCEPT 规则。这应该不是问题,因为据我所知 docker0 永远不应该绑定到物理接口,但具有更多 Docker 经验的人可能知道事实并非如此。
归档时间: |
|
查看次数: |
2955 次 |
最近记录: |