我当前有服务 A 和 B ,以及 Traefik ,他们三个都跑在同一台机器的 docker 里。
A 和 B 都通过 Traefik 进行了反代以及绑定了域名
A.example.com 和
B.example.com 并进行了公网解析
现在的问题是:
容器 A 内无法通过域名访问到 B ,curl -v
B.example.com 时返回如下:
```
* Host
B.example.com:443 was resolved.
* IPv6: (none)
* IPv4: (服务器的公网 IP)
* Trying (服务器的公网 IP):443...
* connect to (服务器的公网 IP) port 443 from 172.22.0.6 port 53088 failed: Operation timed out
* Failed to connect to
B.example.com port 443 after 130394 ms: Could not connect to server
* closing connection #0
curl: (28) Failed to connect to
B.example.com port 443 after 130394 ms: Could not connect to server
```
宿主机执行 curl -v
B.example.com 是没问题的。
我没太想明白为什么容器内无法通过公网域名访问?
问了 cursor 他也没搞明白……
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/1160324
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.