禁止外部直接访问docker端口
类别:信息技术
作者:ATScore
发布日期:2023年4月29日
禁止外部直接访问docker端口
当部署docker服务后,一种常见方式是用nginx接管端口,由nginx反代到各个容器。 这样就不需要给各个容器配ssl,也便于统一管理。 可是,容器暴露了端口,外部就可以通过端口直接访问了。这并不安全。 有人说iptables来解决,但其实并解决不来,原因众多。甚至和docker的启动顺序还有关系。
解决方法
非常简单
-p 127.0.0.1:8001:80
这样,就只允许127.0.0.1从本地的8001,访问容器的80了。 而nginx中写
proxy_pass http://127.0.0.1:8001
就可以了。