网页显示连接已重置/连接超时/拒绝连接怎么办?网络故障通用排查矩阵

[!IMPORTANT] 【快速回答】 浏览器出现 “连接已重置”(ERR_CONNECTION_RESET)“连接超时”(ERR_CONNECTION_TIMED_OUT)“拒绝连接”(ERR_CONNECTION_REFUSED),其根本原因可精确归结为以下 4 种网络协议层异常:

  1. 拒绝连接 (ERR_CONNECTION_REFUSED):代理客户端(如 Clash/v2rayN)异常退出或被强行关闭,但 Windows/macOS 系统代理未被自动清理,导致本地浏览器仍将请求发往已关闭的 127.0.0.1:7890 监听端口。
  2. 连接已重置 (ERR_CONNECTION_RESET):目标网站响应期间 TCP 连接被强制插入 RST 终止复位包。在访问外网时,80% 以上是因为防火墙(GFW)检测到了 HTTP/TLS 握手报文中的敏感域名 SNI(Server Name Indication)或 IP 封锁;国内网站出现此情况则多为本地安全软件拦截或网关设备丢包。
  3. 连接超时 (ERR_CONNECTION_TIMED_OUT):客户端发送 SYN 握手包后在指定时间(通常为 21 秒)内未收到服务端的 SYN-ACK 回应,常发生在节点链路断开、路由死锁或防火墙静默丢包(Drop)。
  4. 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 系统操作

    1. Win + R 快捷键,输入 inetcpl.cpl 打开【Internet 属性】。
    2. 切换至【连接】标签页,点击下方【局域网设置 (LAN Settings)】。
    3. 取消勾选“为 LAN 使用代理服务器”,并勾选“自动检测设置”。
    4. 点击【确定】应用保存。
  • 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。

  1. 刷新 Windows 本地 DNS 缓存: 打开命令提示符(CMD)或 PowerShell,执行:
    ipconfig /flushdns
  2. 重置 HOSTS 文件: 定位到 C:\Windows\System32\drivers\etc\hosts,检查是否有自定义的域名映射条目。若存在与故障域名相同的解析,先进行注释或清空。
  3. 设置高可用公共 DNS: 在网卡 TCP/IPv4 属性中,将 DNS 手动修改为以下高可用组合:
    • 国内主 DNS119.29.29.29 (腾讯 DNSPod) 或 223.5.5.5 (阿里 DNS)
    • 海外/备用 DNS1.1.1.1 (Cloudflare) 或 8.8.8.8 (Google 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 网卡状态:

  1. 检查 System Proxy 端口: 确认客户端设置中的 Mixed Port(混合端口,默认 78907897)未被 Docker、VMware 或杀毒软件占用。
  2. TUN 虚拟网卡修复: 若开启了 TUN 模式,检查 Windows 设备管理器中是否安装了 WintunClash Premium Service。若网卡图标出现黄色感叹号,请进入客户端在设置中点击 Reinstall TUN Service 重新安装服务模式。
  3. 检查规则分流 (Rule Mode): 若访问特定网站提示 ERR_CONNECTION_RESET,尝试在客户端将模式从 Rule(规则模式) 切换为 Global(全局模式)。若全局模式下正常,说明订阅规则中的分流 Domain-Suffix 或 GEOIP 数据库缺失,需要更新规则订阅。

步骤五:精准诊断 GFW 阻断与目标服务端宕机

使用命令行命令行诊断工具,在 1 分钟内确认故障发生节点:

  1. 测试 TCP 端口通畅性(PowerShell 命令):
    # 测试目标服务器的 443 端口是否建立 TCP 连接
    Test-NetConnection -ComputerName target-website.com -Port 443
    • TcpTestSucceeded : FalsePing 通,说明发生了 TCP 端口封锁 或目标服务器防火墙丢包。
  2. 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)。

  1. 在 Clash 的配置文件中,确认 rules 规则顶部包含:
    - GEOIP,LAN,DIRECT
    - DOMAIN-SUFFIX,local,DIRECT
    - IP-CIDR,192.168.0.0/16,DIRECT
  2. 如果开启了 TUN 模式,请在 TUN 设置中开启 Strict Route(严格路由),以防止私有网段流量被错误路由到虚拟网卡。

Q4:访问学术网站或海外知名站点时,提示 ERR_SSL_PROTOCOL_ERROR,是证书有问题吗?

:大部分情况下并非目标网站证书失效,而是以下三种原因之一:

  1. 本地系统时间偏差:本地电脑时间与标准 UTC 时间相差超过 5 分钟,导致 TLS 证书有效期校验失败。
  2. 中间人解密扫描:部分杀毒软件(如 Kaspersky、Avast)开启了“HTTPS 扫描”功能,强行替换了 SSL 证书。
  3. GFW 的 SNI 阻断:GFW 在检测到敏感域名的 Client Hello 握手时强行伪造了非法的 TLS 告警数据包。开启代理切换节点即可解决。

Q5:执行 netsh winsock reset 重置命令后,电脑需要重新设置网络吗?

:不需要。该命令仅恢复 Windows 内置的套接字 API 注册表项和网络协议栈链,不会删除已保存的 Wi-Fi 密码或静态 IP 配置。重启电脑后,系统会自动重新加载正常的网卡驱动套接字。