nginx 在 N 容器上,N 容器位于 docker networks 中的 Nnet 网络上。
A 是一个服务,同样位于 Nnet 网络内,开放了 10086 端口,该服务默认情况下未独立配置 https 。
|  |      1imdong      2024-10-23 23:48:26 +08:00 via iPhone  1 不使用 IP ,直接指向容器名。 | 
|      2yinmin      2024-10-23 23:48:47 +08:00 via iPhone 最稳定和安全的方式:N 容器和 A 容器都设置固定 ip 地址( Nnet 网络下的),nginx 指向 A 容器的固定 ip 。不用将 A 的 tcp 端口-p 映射出来。 nginx 上部署 https 即可,A 容器直接 http 没必须 https 。 | 
|      3yinmin      2024-10-23 23:51:15 +08:00 via iPhone 我不喜欢在 nginx 里配置容器名,因为有些极端情况下,会发生容器名解析 ip 错误导致 nginx 不正常。在容器启动参数里加固定 ip 最为稳定。 | 
|  |      4itechify PRO | 
|      5esee      2024-10-24 00:24:46 +08:00 nginx 反代 宿主机的 IP 不行么? | 
|  |      6daniel8642      2024-10-24 00:49:41 +08:00 都用 docker 了,要不试试 traefik 。 单机部署的话,用 docker compose 配置容器, 反代配置直接写在 docker compose 的 Label 配置里面。 我之前是在主机上装的 nginx ,就是担心容器内网络转发配置太复杂混乱了。 最近服务器快到期,准备重新倒腾一下。 | 
|      7cookii      2024-10-24 00:52:05 +08:00 via Android nginx 用 host 模式,直接指向暴露出来的 localhost:端口 | 
|      8nyxsonsleep OP @esee #5 原因有 2 点: 1. 我用了 NginxProxyManager ,反代宿主机 IP 结果只有配置 http 的情况下可以访问,否则 502 ,不知为什么。 2. 宿主机 ip 应该只会放开 80 和 443 端口,其它端口不打算继续放开,目前仅测试功能。(实际情况有点复杂,但可以这么理解。 | 
|      9nyxsonsleep OP @cookii #7 网安不允许。容器镜像是特制的,有检测工具。 | 
|  |      10povsister      2024-10-24 01:17:24 +08:00 via iPhone 听说过 Ingres controller 吗 | 
|      11nyxsonsleep OP @imdong #1 我能在容器中访问到对应的同 docker net 网络中其它容器的端口,但是在 nginx 和 caddy 中无法反代访问到。 | 
|      12esee      2024-10-24 01:54:29 +08:00 @nyxsonsleep 宿主机的 IP ,不是公网 IP ,宿主机的 IP 对外开放几个端口,都不影响你反代到宿主机的端口啊。都还没到防火墙呢。 | 
|      13dusu      2024-10-24 05:11:30 +08:00 via iPhone 宿主机配个回环地址 例如 10.0.0.1 | 
|  |      14SenLief      2024-10-24 07:47:15 +08:00 bridge 模式,把所有的容器都添加到同一个网络中,npm 也要添加进去,然后用  容器名:端口 连接 | 
|      15evada      2024-10-24 08:13:23 +08:00 nginx 和 A 服务在一个 docker 网络不是可以直接访问容器名吗? server { listen 443 ssl; listen [::]:443; server_name 127.0.0.1; # security include nginxconfig.io/security.conf; # 指定 ssl 证书路径 ssl_certificate xxx.com.cn_server.crt; # 指定私钥文件路径 ssl_certificate_key xxx.com.cn_server.key; # logging access_log /var/log/nginx/access.log combined buffer=512k flush=1m; error_log /var/log/nginx/error.log warn; # reverse proxy location / { proxy_pass http://A:10086; proxy_set_header Host $host; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_redirect off; include nginxconfig.io/proxy.conf; } } | 
|      16jpyl0423      2024-10-24 10:12:11 +08:00 | 
|      17lianglianglee      2024-10-24 10:20:36 +08:00 指向了 docker0 网桥   |