我只想访问远程Ubuntu服务器上csf防火墙后面的停靠容器。我将/etc/csf/csf.conf中的D1设置选项更改为1,以允许停靠者更改iptable规则。
如果我用-p 8000:8000启动我的容器,端口8000就会暴露在全世界(我可以像预期的那样用mydomain.com:8000访问这个网站,但不是我想要的)。如果我用-p 127.0.0.1:8000:8000启动容器,我无法使用mydomain.com:8000访问它(这很好),但在这两种情况下,调用localhost:8000都会导致终端中的Chrome或curl: (52) Empty reply from server出现ERR_EMPTY_RESPONSE错误。
用不同的集装箱和不同的港口试过。在禁用csf后,它工作时不会出现空应答错误,因此必须与csf相关.
如何配置csf,使其仅在本地通过特定端口公开和访问码头集装箱?
Sidenote:我正在远程使用ssh admin@mydomain.com -L 8000:localhost:8000在服务器上工作。
发布于 2021-02-03 02:45:13
也有同样的情况。发现从lo到docker0的数据包被CSF的输出规则所阻断。
通过在docker0中添加“ETH_DEVICE_SKIP”来解决问题,这将导致ETH_DEVICE_SKIP为该接口的输入和输出链添加一个总括接受规则。这不应该是一个问题,因为AFAIK docker0不应该绑定到物理接口,但是拥有更多Docker经验的人可能知道并非如此。
https://serverfault.com/questions/1020400
复制相似问题