技术与生活 / 一篇记录
只给 Nginx 用的端口,不必开放给全网
发布端口时省略宿主地址,可能把应用绑定到所有接口。若公网流量统一经过 Nginx,绑定回环可以减少绕开入口代理直接访问应用的路径。
宿主机 Nginx 代理应用时,应用端口通常不需要直接暴露公网。
实际怎么检查
容器名与镜像名仅作示例;操作前先确认目标对象,不直接对不明数据执行清理。
docker ps --format '{{.Names}} {{.Ports}}'
确认管理应用显示的是 127.0.0.1 绑定。
遇到异常再检查什么
检查 docker ps 与宿主监听列表,再从外部测试。宿主回环限制适合本机代理场景,跨主机访问则应使用受控网络与明确的访问规则。
还需要确认代理本身与应用位于同一台宿主机。若反向代理也在独立容器中,它的 localhost 并不是宿主回环地址,这时更适合使用受控容器网络与服务名连接。
容器端口映射不能代替对 IPv6、安全组和防火墙的核查。
参考:Docker 文档。