之前用 docker 弄了一堆服务,端口分别映射到了宿主机的端口上,这样在内网可以用 http 直接访问。
然后用 nginx proxy manager ,把这些宿主机的 http 端口转成了 https 再暴露到公网上访问,跑了一年都没问题。
昨天也不知道为什么突然 https-http 不通了,查了一下发现是因为在 nginx proxy manger 这个 container 内部无法 ping 通宿主机 IP ,所以每个 upstream 都超时了。
我有点茫然了,容器是跑的默认网络模式,前面一年明明可以访问宿主机 ip 的,怎么突然不行了。要怎么才能在宿主机内部 ping 通宿主机 ip ?
试过 network_mode: host 居然也不行,不知道啥情况了。我贴一下原来的 docker compose file:
version: "3.8"
services:
nginx-proxy-manager:
image: jc21/nginx-proxy-manager:2.10.4
restart: unless-stopped
ports:
- 9000:80
- 443:443 # Public HTTPS Port
- 8007:81 # Admin Web Port
environment:
DISABLE_IPV6: 'true'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.