gpt4 book ai didi

docker - Centos docker 代理端口 - 防火墙

转载 作者:行者123 更新时间:2023-12-04 19:41:04 40 4
gpt4 key购买 nike

我有一些使用 docker-compose up 运行的项目。该项目在端口 4200、后端 3000 和 db 5342 上有前端。当我使用 docker-compose 运行它时,所有这些端口都是公共(public)的。所以我可以(每个人都可以)访问例如后端 https://myserver:3000/api .

如何将 docker-proxy 端口禁用为公共(public)端口?我的解决方案是我有 nginx,用作 myapp.myserver.com 并重定向到本地前端端口 4200 (nginx.conf) - 前端使用后端端口 3000 和后端 5432 - 但这些端口不应该是公共(public)的。公共(public)端口应该只有 80、443、22 (ssh) 等。

查看我的网络统计:

tcp        0      0 0.0.0.0:80              0.0.0.0:*               NASLOUCHÁ  11972/nginx: master 
tcp 0 0 0.0.0.0:22 0.0.0.0:* NASLOUCHÁ 848/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* NASLOUCHÁ 1149/master
tcp 0 0 0.0.0.0:443 0.0.0.0:* NASLOUCHÁ 11972/nginx: master
tcp6 0 0 :::9000 :::* NASLOUCHÁ 16995/docker-proxy
tcp6 0 0 :::5000 :::* NASLOUCHÁ 14069/docker-proxy
tcp6 0 0 :::5001 :::* NASLOUCHÁ 11557/docker-proxy
tcp6 0 0 :::8080 :::* NASLOUCHÁ 11402/docker-proxy
tcp6 0 0 :::80 :::* NASLOUCHÁ 11972/nginx: master
tcp6 0 0 :::22 :::* NASLOUCHÁ 848/sshd
tcp6 0 0 ::1:25 :::* NASLOUCHÁ 1149/master
tcp6 0 0 :::443 :::* NASLOUCHÁ 11972/nginx: master
tcp6 0 0 :::8000 :::* NASLOUCHÁ 17006/docker-proxy

最佳答案

您也可以使用 nginx.conf 重定向到后端端口。例如,api.myserver.com将流量路由到后端端口 3000 和 db.myserver.com会将流量路由到端口 3000。所有这些容器都应该在同一个 docker network 上以便于路由。

Nginx 可以控制哪些端口暴露给外界。

这样,您的 nginx 将作为 ingress proxy 服务。 .所有连接都通过 nginx 路由,而世界其他地方则忽略了内部使用的端口。这个想法被用来向全世界开放 Kubernetes 背后的服务。

关于docker - Centos docker 代理端口 - 防火墙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62298076/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com