我在本地主机上运行了一些服务,监听端口 80 或 9999。
当我连接到公司 VPN(Cisco Anyconnect)时,它突然停止响应。
localhost
可以很好地解析为 127.0.0.1,但它挂了一段时间,最后失败并出现 ERR_CONNECTION_RESET。我可以连接到互联网和我所有的公司网站(公司域中的所有子域)。
连接后/etc/resolv.conf
如下所示:
nameserver 127.0.0.53
options edns0
search <my corporate domain>
一些可能有帮助的信息:
$ traceroute localhost
traceroute to localhost (127.0.0.1), 30 hops max, 60 byte packets
1 localhost (127.0.0.1) 0.053 ms 0.049 ms 0.017 ms
$ wget localhost:9999
--2020-10-27 15:57:25-- http://localhost:9999/
Résolution de localhost (localhost)… 127.0.0.1
Connexion à localhost (localhost)|127.0.0.1|:9999… connecté.
requête HTTP transmise, en attente de la réponse… Erreur de lecture (Connexion ré-initialisée par le correspondant) dans les en-têtes.
Nouvel essai.
抱歉,这是法语,但它设法连接到 127.0.0.1,但连接已重置。
$ telnet localhost 9999
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.
$ ifconfig lo
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Boucle locale)
RX packets 409827 bytes 193361809 (193.3 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 409827 bytes 193361809 (193.3 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
答案1
最终找到了解决方案,尽管我仍然不明白问题的根本原因。
我的服务在 docker 上运行,使用 docker-compose。出于某种原因,当我使用默认网络名称 (docker-compose_default) 时,VPN 会与 docker 网络混淆。使用其他网络名称解决了该问题。
也许这可能会对某些人有帮助!