网页显示连接已重置/连接超时/拒绝连接怎么办?网络故障通用排查矩阵
[!IMPORTANT] 【快速回答】 浏览器出现 “连接已重置”(ERR_CONNECTION_RESET)、“连接超时”(ERR_CONNECTION_TIMED_OUT) 或 “拒绝连接”(ERR_CONNECTION_REFUSED),其根本原因可精确归结为以下 4 种网络协议层异常:
- 拒绝连接 (ERR_CONNECTION_REFUSED):代理客户端(如 Clash/v2rayN)异常退出或被强行关闭,但 Windows/macOS 系统代理未被自动清理,导致本地浏览器仍将请求发往已关闭的
127.0.0.1:7890监听端口。- 连接已重置 (ERR_CONNECTION_RESET):目标网站响应期间 TCP 连接被强制插入
RST终止复位包。在访问外网时,80% 以上是因为防火墙(GFW)检测到了 HTTP/TLS 握手报文中的敏感域名 SNI(Server Name Indication)或 IP 封锁;国内网站出现此情况则多为本地安全软件拦截或网关设备丢包。- 连接超时 (ERR_CONNECTION_TIMED_OUT):客户端发送
SYN握手包后在指定时间(通常为 21 秒)内未收到服务端的SYN-ACK回应,常发生在节点链路断开、路由死锁或防火墙静默丢包(Drop)。- DNS 解析失败 (DNS_PROBE_FINISHED_NXDOMAIN):域名解析无法返回有效的 IP 地址,多由本地 DNS 缓存污染、ISP 域名劫持或 TUN 模式虚拟网卡接管异常引起。
黄金 3 分钟一键急救方案:
- 第一步:清空代理设置(Windows 按
Win+i-> 网络和 Internet -> 代理 -> 关闭“使用代理服务器”)。- 第二步:打开终端运行命令
ipconfig /flushdns刷新本地 DNS 缓存。- 第三步:以管理员身份运行
netsh winsock reset并重启电脑。
【故障类型对照表】网络报错代码与根因精细化矩阵
下表总结了现代浏览器(Chromium 架构如 Chrome、Edge、Brave 及 Safari、Firefox)中最常见的网络连接故障报错代码、底层网络层级、典型表现与对应排查优先级:
| 浏览器报错代码 | 对应中文提示 | 底层协议层级 | 核心诱因与原理 | 紧急排查措施 | 优先级 |
|---|---|---|---|---|---|
| ERR_CONNECTION_REFUSED | 拒绝连接 | 传输层 (TCP) | 本地无进程监听目标端口(系统代理残留至 127.0.0.1:7890 / 服务端端口未开放) |
清理系统代理 / 重新启动 Clash 等代理客户端 | P0(最高) |
| ERR_CONNECTION_RESET | 连接已重置 | 传输层 / 应用层 (TCP/TLS) | TCP 通信中收到异常 RST 报文(GFW SNI 深度包检测阻断 / TLS 握手被强行中断) |
开启代理软件分流 / 更换代理节点 / 使用 VLESS-Reality 协议 | P0(最高) |
| ERR_CONNECTION_TIMED_OUT | 连接超时 | 传输层 (TCP) | SYN 包发往目标后无响应(出口路由断裂 / GFW 丢包黑洞 / 代理节点服务器宕机) |
检查代理节点心跳心率 / 测试中转入口 IP 通畅度 | P1 |
| DNS_PROBE_FINISHED_NXDOMAIN | DNS 解析失败 | 应用层 (DNS) | 本地/上游 DNS 服务器无法将域名转化为 IP(DNS 污染 / HOSTS 文件冲突) | 手动更换 DNS 为 119.29.29.29 / 1.1.1.1 并刷新缓存 |
P1 |
| ERR_PROXY_CONNECTION_FAILED | 代理服务器连接失败 | 应用层 (Proxy) | 系统代理设定的前置代理网关不可用或配置监听地址填错 | 检查代理客户端 [Mixed Port] 监听与系统代理地址 | P1 |
| ERR_SSL_PROTOCOL_ERROR | SSL 协议错误 | 会话层 (TLS/SSL) | TLS 握手协商失败(本地系统时间不准确 / 代理软件 MITM 证书解密冲突) | 校准系统时间 / 关闭第三方杀毒软件 HTTPS 扫描 | P2 |
| HTTP 502 / 504 Gateway Timeout | 网关无响应 / 超时 | 应用层 (HTTP) | 代理节点落地机到最终目标服务器的通道中断或 Nginx 后端崩溃 | 切换其他国家落地节点(如由香港切至日本/美国) | P2 |
【5步急救法】全平台通用网络故障恢复流程
当您遇到“网络明明连接正常(QQ/微信能发消息),但浏览器打开任何网页均提示连接被拒绝或重置”时,请严格按以下步骤依次排查:
步骤一:一键清理残余系统代理(彻底解决 ERR_CONNECTION_REFUSED)
代理软件(如 Clash、v2rayN、Shadowrocket)崩溃闪退或非正常关机时,极其容易将 Windows 注册表或 macOS 系统网络架构锁定在代理状态。
-
Windows 系统操作:
- 按
Win + R快捷键,输入inetcpl.cpl打开【Internet 属性】。 - 切换至【连接】标签页,点击下方【局域网设置 (LAN Settings)】。
- 取消勾选“为 LAN 使用代理服务器”,并勾选“自动检测设置”。
- 点击【确定】应用保存。
- 按
-
PowerShell 快速命令行重置(管理员权限):
# 禁用系统代理配置 Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings' -Name ProxyEnable -Value 0 # 清理系统代理服务器地址 Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings' -Name ProxyServer -Value "" -
macOS 系统操作: 打开【系统设置】->【网络】->【详细信息】->【代理】,关闭所有已开启的 HTTP/HTTPS/SOCKS 代理开关。
【代理异常影响链路】
浏览器请求 ──> 尝试连接 127.0.0.1:7890 ──> [代理进程未启动] ──> 立即返回 ERR_CONNECTION_REFUSED
清理代理后 ──> 直连网卡 ──> 网关 ──> 成功访问网页
步骤二:刷新本地 DNS 缓存并配置公共 DoH DNS(解决 DNS 解析失败)
DNS 污染或过期的 DNS 缓存会导致浏览器将正确的域名解析到不可达的死 IP。
- 刷新 Windows 本地 DNS 缓存:
打开命令提示符(CMD)或 PowerShell,执行:
ipconfig /flushdns - 重置 HOSTS 文件:
定位到
C:\Windows\System32\drivers\etc\hosts,检查是否有自定义的域名映射条目。若存在与故障域名相同的解析,先进行注释或清空。 - 设置高可用公共 DNS:
在网卡 TCP/IPv4 属性中,将 DNS 手动修改为以下高可用组合:
- 国内主 DNS:
119.29.29.29(腾讯 DNSPod) 或223.5.5.5(阿里 DNS) - 海外/备用 DNS:
1.1.1.1(Cloudflare) 或8.8.8.8(Google DNS)
- 国内主 DNS:
步骤三:重置 Winsock 目录与 TCP/IP 协议栈(解决网络正常但网页打不开)
Winsock 是 Windows 系统负责套接字 API 的核心组件,杀毒软件强行拦截或网卡驱动异常可能破坏 Winsock 目录结构。
以管理员身份运行 PowerShell,按顺序运行以下修复指令:
# 1. 重置 Winsock 目录(修复套接字绑定失败)
netsh winsock reset
# 2. 重置 IP 协议栈(清理路由表异常)
netsh int ip reset
# 3. 释放并重新获取动态 IP
ipconfig /release
ipconfig /renew
# 4. 彻底重置 Windows 防火墙规则
netsh advfirewall reset
[!NOTE] 执行完毕
netsh winsock reset后,必须重启操作系统方可使套接字目录重建生效。
步骤四:排查代理客户端配置与 TUN 模式接管
如果您在使用 Clash Verge、v2rayN 或 Sing-box,网页排查需要兼顾代理内部路由与 TUN 网卡状态:
- 检查 System Proxy 端口:
确认客户端设置中的
Mixed Port(混合端口,默认7890或7897)未被 Docker、VMware 或杀毒软件占用。 - TUN 虚拟网卡修复:
若开启了 TUN 模式,检查 Windows 设备管理器中是否安装了
Wintun或Clash Premium Service。若网卡图标出现黄色感叹号,请进入客户端在设置中点击 Reinstall TUN Service 重新安装服务模式。 - 检查规则分流 (Rule Mode):
若访问特定网站提示
ERR_CONNECTION_RESET,尝试在客户端将模式从 Rule(规则模式) 切换为 Global(全局模式)。若全局模式下正常,说明订阅规则中的分流 Domain-Suffix 或 GEOIP 数据库缺失,需要更新规则订阅。
步骤五:精准诊断 GFW 阻断与目标服务端宕机
使用命令行命令行诊断工具,在 1 分钟内确认故障发生节点:
- 测试 TCP 端口通畅性(PowerShell 命令):
# 测试目标服务器的 443 端口是否建立 TCP 连接 Test-NetConnection -ComputerName target-website.com -Port 443- 若
TcpTestSucceeded : False但Ping通,说明发生了 TCP 端口封锁 或目标服务器防火墙丢包。
- 若
- Curl 携带 SNI 测试 TLS 握手:
curl -v -Iv --connect-timeout 5 https://target-website.com- 若卡在
Connecting to target-website.com...说明为 连接超时。 - 若卡在
TLS handshake...随后收到Connection reset by peer,说明域名 SNI 已触发 GFW 深度特征阻断。
- 若卡在
【诊断矩阵】网络故障排查逻辑决策树
结合以下 Mermaid 决策树与诊断测试表格,可以准确定位并解决任何复杂的网络连接失败问题:
graph TD
A[网页打开报错] --> B{微信/QQ是否能正常上网?}
B -- 否 --> C[排查物理网口/路由器/光猫IP拨号]
B -- 是 --> D{浏览器具体报错代码是什么?}
D -- ERR_CONNECTION_REFUSED --> E[检查系统代理设置]
E --> E1[系统代理设为 127.0.0.1:7890 且代理客户端未运行]
E1 --> E2[关闭系统代理或重新开启 Clash]
D -- ERR_CONNECTION_RESET --> F{开启代理后能否打开?}
F -- 否 --> F1[代理节点已被 GFW 封锁入口或落地 IP]
F -- 是 --> F2[网站被 SNI 阻断/需分流代理]
D -- DNS_PROBE_FINISHED_NXDOMAIN --> G[执行 ipconfig /flushdns]
G --> G1[修改 DNS 为 119.29.29.29 / 1.1.1.1]
D -- ERR_CONNECTION_TIMED_OUT --> H[运行 Test-NetConnection 测试 443 端口]
H -- 端口不通 --> H1[出口骨干网拥堵/防火墙黑洞丢包]
H -- 端口畅通 --> H2[本地安全软件/HSTS 证书扫描阻断]
诊断矩阵:命令行测试输出与对应解决方案
| 诊断测试命令 | 命令输出特征 | 确诊根因 | 最终解决方法 |
|---|---|---|---|
ping target.com |
Ping request could not find host |
DNS 解析域名失败 | 换公共 DNS,清理 hosts 文件 |
ping target.com |
Request timed out 且丢包率 100% |
ICMP 被目标服务器禁用或出口路由丢包 | 使用 Test-NetConnection 测试 TCP 端口 |
Test-NetConnection target.com -Port 443 |
TcpTestSucceeded : False |
TCP 建立三方握手失败 | 启用代理工具通过跨境中转节点访问 |
curl -I https://target.com |
Recv failure: Connection reset by peer |
TLS SNI 明文特征被阻断 | 切换使用 VLESS-Reality/Trojan 等伪装协议 |
netstat -ano | findstr 7890 |
无任何输出,但系统代理仍开启 | 代理软件强行关机导致代理遗留 | 执行 PowerShell 命令关闭 ProxyEnable 注册表 |
【FAQ】常见问题解答
Q1:为什么微信、QQ 能够正常收发消息,但浏览器打开所有网页均提示“连接被拒绝/打不开”?
答:这是最典型的系统代理残留故障。微信、QQ 等桌面客户端默认不走 Windows 的 Internet Settings 系统代理,而是直接通过底层 API 建立 socket 通信;而 Chrome、Edge、Safari 等浏览器默认会强制继承系统的代理配置。当 Clash/v2rayN 异常退出后,系统代理仍然指向 127.0.0.1:7890,浏览器找不到监听该端口的服务就会拒绝连接。按步骤一清理系统代理即可瞬间恢复。
Q2:“连接已重置”(ERR_CONNECTION_RESET) 与 “连接超时”(ERR_CONNECTION_TIMED_OUT) 在网络底层有何本质区别?
答:
- 连接已重置 (RESET) 属于主动中断。客户端收到了服务端或中间网络设备(如 GFW)发送的 TCP
RST标志包,TCP 协议栈收到后会立即断开连接并返回报错。 - 连接超时 (TIMED_OUT) 属于被动死等。客户端发出了
SYN连接请求包,但由于链路拥堵、服务器宕机或防火墙静默丢弃(Drop),在规定的计时器超时前没有收到任何反馈报文。
Q3:开启代理客户端后,局域网内的 NAS、路由器后台(192.168.1.1)突然打不开了怎么办?
答:这是由于代理客户端没有配置局域网直连绕过规则(Bypass Domain/IP)。
- 在 Clash 的配置文件中,确认
rules规则顶部包含:- GEOIP,LAN,DIRECT - DOMAIN-SUFFIX,local,DIRECT - IP-CIDR,192.168.0.0/16,DIRECT - 如果开启了 TUN 模式,请在 TUN 设置中开启 Strict Route(严格路由),以防止私有网段流量被错误路由到虚拟网卡。
Q4:访问学术网站或海外知名站点时,提示 ERR_SSL_PROTOCOL_ERROR,是证书有问题吗?
答:大部分情况下并非目标网站证书失效,而是以下三种原因之一:
- 本地系统时间偏差:本地电脑时间与标准 UTC 时间相差超过 5 分钟,导致 TLS 证书有效期校验失败。
- 中间人解密扫描:部分杀毒软件(如 Kaspersky、Avast)开启了“HTTPS 扫描”功能,强行替换了 SSL 证书。
- GFW 的 SNI 阻断:GFW 在检测到敏感域名的 Client Hello 握手时强行伪造了非法的 TLS 告警数据包。开启代理切换节点即可解决。
Q5:执行 netsh winsock reset 重置命令后,电脑需要重新设置网络吗?
答:不需要。该命令仅恢复 Windows 内置的套接字 API 注册表项和网络协议栈链,不会删除已保存的 Wi-Fi 密码或静态 IP 配置。重启电脑后,系统会自动重新加载正常的网卡驱动套接字。