【问题标题】:OSX : Chrome cannot connect to .localhost-domains. Connection refusedOSX:Chrome 无法连接到 .localhost-domains。拒绝连接
【发布时间】:2021-08-20 11:02:37
【问题描述】:
这让我很难过。
我有一个运行 nginx + php-fpm 的本地开发设置,我使用 .localhost 作为每个项目的工作域。昨天 Chrome 停止使用本地域。相反,它只是返回连接被拒绝。 DevTools 将错误显示为(failed) net::ERR_CONNECTION_RESET。
访问http://127.0.0.1 有效,但当然不适用于本地项目。
Safari 继续使用 .localhost。
Chrome:版本 90.0.4430.212(官方构建)(x86_64)
操作系统:macOS 11.4 (20F71)
【问题讨论】:
标签:
macos
google-chrome
localhost
ipv6
ipv4
【解决方案1】:
尝试了几种不同的方法,例如:
- 更新 /etc/hosts
- 正在清除 Chrome 的 DNS
chrome://net-internals/#dns
- 从
chrome://net-internals/#hsts 中删除域
从 chrome://net-internals/#events 创建网络日志,然后查看不同的事件后,找到了解决方案。找到这个:
t=18295 [st=0] +SOCKET_ALIVE [dt=4]
--> source_dependency = 5112 (TRANSPORT_CONNECT_JOB)
t=18295 [st=0] +TCP_CONNECT [dt=1]
--> address_list = ["[::1]:80","127.0.0.1:80"]
--> canonical_name = ""
t=18295 [st=0] TCP_CONNECT_ATTEMPT [dt=1]
--> address = "[::1]:80"
t=18296 [st=1] -TCP_CONNECT
--> source_address = "[::1]:56378"
t=18296 [st=1] +SOCKET_IN_USE [dt=3]
--> source_dependency = 5111 (HTTP_STREAM_JOB)
t=18296 [st=1] SOCKET_BYTES_SENT
--> byte_count = 719
t=18298 [st=3] SOCKET_READ_ERROR
--> net_error = -101 (ERR_CONNECTION_RESET)
--> os_error = 54
t=18299 [st=4] -SOCKET_IN_USE
t=18299 [st=4] SOCKET_POOL_CLOSING_SOCKET
--> reason = "Connection was closed when it was returned to the pool"
t=18299 [st=4] -SOCKET_ALIVE
Chrome 似乎默认使用 IPv6。
解决方案
将listen [::]:80 ipv6only=off;添加到nginx站点配置并重启nginx。