15%

全场主机优惠15%

测试技能,享折扣

使用代码:

Skills
开始使用
09.10.2024

如何修复ERR_CONNECTION_TIMED_OUT错误:完整技术指南

ERR_CONNECTION_TIMED_OUT 错误意味着您的浏览器向远程服务器发送了连接请求,但在规定时间内(基于 Chromium 的浏览器通常为 30 秒)未收到任何响应。TCP 握手从未完成,因此浏览器放弃了尝试,并显示此错误而非加载页面。

这并非单一原因导致的故障。它可能源自客户端(您的设备、网络、浏览器),中间基础设施(DNS 解析器、代理、防火墙),或服务器端(源站过载、Web 服务器配置错误、SSL 过期或上游路由故障)。正确诊断需要逐层系统排查。

连接超时期间实际发生了什么

当您输入 URL 并按下回车键时,浏览器会执行一个精确的序列:DNS 解析、TCP 连接(SYN / SYN-ACK / ACK)、可选的 TLS 握手,然后是 HTTP 请求/响应周期。超时错误意味着该链路中某处发生了停滞——最常见的是在 TCP 连接阶段,即任何 HTTP 数据交换之前。

了解哪个阶段失败可以告诉您应将修复重点放在哪里。DNS 故障会产生不同的错误代码(`ERR_NAME_NOT_RESOLVED`)。TLS 故障会产生 `ERR_SSL_PROTOCOL_ERROR`。当您看到 `ERR_CONNECTION_TIMED_OUT` 时,DNS 查找已成功,但 TCP 套接字从未收到来自目标 IP 的 SYN-ACK。这大大缩小了排查范围。

根本原因:为何会出现此错误

类别具体原因客户端或服务器端
网络ISP 路由问题、丢包、链路拥塞客户端
DNS缓存过期、解析器错误、传播延迟客户端
防火墙 / 安全Windows 防火墙、杀毒软件、企业代理阻止 80/443 端口客户端
浏览器缓存损坏、扩展程序异常、代理配置错误客户端
TCP/IP 协议栈Winsock 目录损坏、IP 设置不正确客户端
服务器过载CPU/RAM 占用过高、连接队列耗尽、DDoS服务器端
Web 服务器配置`KeepAliveTimeout` 过低、`MaxClients` 超出限制、虚拟主机配置错误服务器端
托管基础设施账户被暂停、VPS 上的防火墙规则、迁移后服务器 IP 错误服务器端
CDN / 反向代理CDN 边缘节点无法访问源站基础设施

方法 1:在网络层验证您的互联网连接

不要只是”检查互联网是否正常工作”。请运行结构化测试:

  • Ping 网关:打开命令提示符并运行 `ping 192.168.1.1`(或您路由器的 IP)。如果失败,问题在您的设备与路由器之间。
  • 直接 Ping 公共 IP:运行 `ping 8.8.8.8`。如果成功但网站无法访问,问题在 DNS,而非连接本身。
  • 运行路由追踪:Windows 上使用 `tracert google.com`,Linux/macOS 上使用 `traceroute google.com`。查看跳点在哪里停止响应——这可以识别出故障的网络段。
  • 重启路由器:断电 30 秒后重启。这会强制重新获取 DHCP 租约,并重新建立与 ISP 的 PPPoE/PPPoA 会话。
  • 通过移动热点测试:如果网站通过 LTE 可以加载但家庭宽带不行,则故障在您路由器的上游——很可能是您的 ISP 或其使用的特定路由路径。

方法 2:刷新并重建 DNS 缓存

被污染或过期的 DNS 缓存可能会为某个域名存储旧的、无法访问的 IP 地址,导致每次连接尝试都因该地址上的服务器不再存在而超时。

Windows 上:

“`

ipconfig /flushdns

ipconfig /registerdns

“`

macOS(Ventura / Sonoma)上:

“`

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

“`

Linux(systemd-resolved)上:

“`

sudo systemd-resolve –flush-caches

“`

刷新后,在 Windows 上使用 `ipconfig /displaydns` 验证缓存已清空——输出应极少。然后在进行任何其他更改之前再次尝试连接,以便确认 DNS 缓存是否是唯一原因。

方法 3:切换到可靠的公共 DNS 解析器

您 ISP 的默认 DNS 解析器可能速度慢、不稳定,或受到地理过滤的限制。将其替换为快速的公共解析器,通常可以解决由 DNS 查找失败(静默返回错误或无记录)引起的超时错误。

Windows 上(IPv4):

  1. 打开控制面板 > 网络和 Internet > 网络和共享中心 > 更改适配器设置
  2. 右键单击您的活动适配器,选择属性
  3. 选择Internet 协议版本 4 (TCP/IPv4),然后单击属性
  4. 选择使用下面的 DNS 服务器地址,然后输入您首选的解析器。

推荐的公共 DNS 解析器:

提供商主 DNS备用 DNS协议支持
Google Public DNS8.8.8.88.8.4.4DNS-over-HTTPS、DNS-over-TLS
Cloudflare1.1.1.11.0.0.1DNS-over-HTTPS、DNS-over-TLS
OpenDNS208.67.222.222208.67.220.220DNSCrypt
Quad99.9.9.9149.112.112.112DNS-over-HTTPS、恶意软件拦截

关键边缘情况:如果您最近将网站迁移到新服务器或更改了 A 记录,DNS 传播最多可能需要 48 小时。在此期间,部分用户将被引导至旧 IP。运行 `nslookup yourdomain.com 8.8.8.8` 与 `nslookup yourdomain.com 1.1.1.1` 可以比较不同解析器返回的结果——如果 IP 不同,您正处于传播窗口期,而非真正的超时错误。

方法 4:清除浏览器缓存、Cookie 和扩展程序

Chrome 和其他基于 Chromium 的浏览器会独立于操作系统级 DNS 缓存来缓存 DNS 响应。即使您刷新了系统缓存,浏览器内部的 DNS 缓存仍可能保留过期记录。

直接清除 Chrome 内部 DNS 缓存:

  1. 导航至 `chrome://net-internals/#dns`
  2. 单击清除主机缓存
  3. 导航至 `chrome://net-internals/#sockets`
  4. 单击刷新套接字池

清除浏览数据:

  1. 打开 Chrome,按 `Ctrl + Shift + Delete`
  2. 将时间范围设置为所有时间
  3. 勾选Cookie 及其他网站数据缓存的图片和文件
  4. 单击清除数据

首先在无痕窗口中测试。如果网站在无痕模式下可以加载但普通窗口不行,则浏览器扩展程序是罪魁祸首。通过 `chrome://extensions/` 禁用所有扩展程序,然后逐一重新启用以找出问题所在。广告拦截器、VPN 扩展程序和安全工具是最常见的干扰来源。

方法 5:禁用代理设置

代理配置错误或过期是此错误最常被忽视的原因之一,尤其是在企业设备上,或卸载 VPN 软件后遗留了代理设置的情况下。

通过 Chrome:

  1. 前往设置 > 系统 > 打开计算机的代理设置
  2. 手动代理设置下,确保使用代理服务器已切换为关闭
  3. 自动代理设置下,确保使用设置脚本已切换为关闭(除非您有意使用 PAC 文件)

通过 Windows 设置直接操作:

  1. 打开设置 > 网络和 Internet > 代理
  2. 禁用所有手动代理条目
  3. 仅在您的网络需要时才启用自动检测设置

通过命令提示符(最快方法):

“`

netsh winhttp reset proxy

“`

这会将 WinHTTP 代理设置重置为直接连接,绕过任何可能由软件设置的系统级代理。

方法 6:重置 TCP/IP 协议栈和 Winsock 目录

Winsock 目录(Windows 对 Berkeley 套接字 API 的实现)损坏可能导致间歇性或持续性连接故障,其表现与服务器端超时完全相同。这在恶意软件清除、网络驱动程序更新失败或杀毒软件激进操作后尤为常见。

管理员身份打开命令提示符,依次运行以下命令:

“`

netsh winsock reset

netsh int ip reset resetlog.txt

ipconfig /release

ipconfig /flushdns

ipconfig /renew

“`

运行所有命令后重启计算机。`resetlog.txt` 文件将在您的工作目录中创建,并记录每个被重置的注册表键——有助于审计哪些内容已损坏。

在 Linux 上,重置网络状态的等效命令为:

“`

sudo systemctl restart NetworkManager

sudo ip route flush cache

“`

方法 7:审查防火墙和杀毒软件规则

Windows Defender 防火墙和第三方安全套件可能会静默阻止对特定端口、IP 范围或域名的出站连接。该阻止不会立即产生”连接被拒绝”错误——数据包被丢弃,浏览器等待直到达到超时阈值。

临时诊断测试:

  1. 前往控制面板 > 系统和安全 > Windows Defender 防火墙
  2. 单击启用或关闭 Windows Defender 防火墙
  3. 临时为专用网络和公用网络均禁用防火墙
  4. 尝试连接

如果禁用防火墙后网站可以加载,请立即重新启用,然后创建一条特定的出站规则以允许流量到达受影响的域名或 IP,而不是让防火墙保持关闭状态。导航至高级设置 > 出站规则 > 新建规则进行精确配置。

对于杀毒软件:大多数现代安全套件包含 HTTPS 检测或”网页防护”功能,会对 TLS 流量执行中间人拦截。如果杀毒软件的根证书不受浏览器信任,或杀毒软件错误地标记了目标服务器,这可能会中断连接。临时禁用网页防护组件(而非整个杀毒软件)是比禁用所有保护更精准的测试方式。

方法 8:重置 Chrome 的实验性标志和网络预测器

Chrome 的实验性标志和网络预测功能有时会导致连接问题,尤其是在浏览器更新后这些功能的行为发生变化时。

禁用网络预测:

  1. 前往设置 > 隐私和安全 > Cookie 及其他网站数据
  2. 滚动至预加载页面以加快浏览和搜索速度并将其禁用

将所有 Chrome 标志重置为默认值:

  1. 导航至 `chrome://flags`
  2. 单击右上角的全部重置
  3. 重新启动 Chrome

重置 Chrome 的整个网络栈设置:

  1. 前往设置 > 高级 > 重置和清理 > 将设置恢复为原始默认值

这不会删除书签或密码,但会重置启动页面、新标签页设置、固定标签页、内容设置、Cookie 和扩展程序——实际上为您提供了一个干净的网络配置基线。

方法 9:增加 TCP 连接超时时间(高级)

默认情况下,Windows 在宣告 TCP 连接尝试失败之前大约等待 21 秒(基于 `TcpMaxConnectRetransmissions` 注册表值,默认为 2 次重传,采用指数退避)。在网络缓慢或拥塞的情况下,这可能太短。

通过注册表编辑器调整(Windows):

  1. 打开 `regedit`
  2. 导航至 `HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters`
  3. 找到或创建名为 `TcpMaxConnectRetransmissions` 的 DWORD 值
  4. 将其设置为 `3` 或 `4`(十六进制)以允许更多重传尝试

重要提示:这会增加 Windows 在放弃 TCP 连接之前的等待时间。它不能修复根本原因——只是为响应缓慢的服务器或拥塞路由提供更多时间。仅将其用作诊断工具,或用于连接地理位置较远的服务器等特定场景。

方法 10:验证服务器是否真正可达

在花更多时间进行客户端修复之前,请先确认问题是否出在服务器端。网站可能因托管账户被暂停、服务器端防火墙规则或 Web 服务器配置错误而完全无法访问——这些都无法通过浏览器修复。

从外部视角检查服务器可达性的工具:

  • downforeveryoneorjustme.com——从单一位置进行简单的可用/不可用检查
  • downdetector.com——汇总主要服务的用户报告
  • tools.pingdom.com——从多个全球位置测试响应时间
  • mxtoolbox.com/SuperTool——测试 DNS、HTTP 头信息和连接性
  • check-host.net——同时从数十个地理节点进行 Ping 和 HTTP 检查

在终端中运行 `curl -v https://yourdomain.com` 可查看确切的故障点——无论 TCP 连接被拒绝、超时,还是成功但返回 HTTP 错误代码。这一条命令比任何图形界面工具都能告诉您更多信息。

服务器端原因:如果您是网站所有者应检查什么

如果您是网站所有者,且访客报告出现 `ERR_CONNECTION_TIMED_OUT`,问题几乎可以肯定出在您的基础设施上。最常见的服务器端原因包括:

Web 服务器连接队列耗尽:

在 Apache 中,`MaxClients`(或 Apache 2.4+ 中的 `MaxRequestWorkers`)指令限制了同时连接数。当达到此限制时,新连接会排队等待并最终超时。检查您当前的配置:

“`

apache2ctl -V | grep -i mpm

grep -i maxrequestworkers /etc/apache2/apache2.conf

“`

在 Nginx 中,等效配置是 `events` 块中的 `worker_connections` 和 `worker_processes`。一个常见的配置错误是在多核服务器上将 `worker_processes` 设置为 `1`,从而造成瓶颈。

防火墙阻止 80/443 端口的入站流量:

如果您管理 VPS 托管环境,请检查您的 iptables 或 nftables 规则:

“`

iptables -L INPUT -n -v | grep -E "80|443"

“`

缺少针对 80 和 443 端口的 ACCEPT 规则将导致所有浏览器连接静默超时。同时验证您托管控制面板的防火墙(CSF、UFW 或 Firewalld)在安全更新后是否无意中阻止了这些端口。

SSL 证书问题导致 TLS 握手超时:

过期或配置错误的 SSL 证书可能导致 TLS 握手停滞,在某些边缘情况下(尤其是使用旧版 TLS 或配置错误的密码套件时)表现为连接超时而非证书错误。使用以下命令验证您的证书:

“`

openssl s_client -connect yourdomain.com:443 -servername yourdomain.com

“`

服务器资源耗尽:

CPU 或 RAM 使用率过高可能导致 Web 服务器进程无响应。在 Linux 服务器上,请检查:

“`

top -b -n 1 | head -20

free -h

ss -s

“`

`ss -s` 命令显示套接字状态摘要——大量处于 `TIME-WAIT` 或 `CLOSE-WAIT` 状态的连接表明连接处理存在问题,将导致新连接超时。

服务器迁移后 DNS 配置错误:

如果您最近将网站迁移到独立服务器或更换了托管服务商,请验证您域名的 A 记录是否指向正确的 IP 地址,以及旧记录的 TTL 是否已过期。使用 `dig yourdomain.com +trace` 从根服务器开始追踪完整的 DNS 解析链。

ERR_CONNECTION_TIMED_OUT 与类似浏览器错误的比较

错误代码含义最可能的原因
ERR_CONNECTION_TIMED_OUTTCP SYN 已发送,但在超时时间内未收到 SYN-ACK防火墙丢包、服务器过载、路由故障
ERR_CONNECTION_REFUSEDTCP SYN 收到 RST 响应该端口无服务监听、防火墙发送 RST
ERR_NAME_NOT_RESOLVEDDNS 查找未返回结果DNS 配置错误、域名未注册、NXDOMAIN
ERR_SSL_PROTOCOL_ERRORTLS 握手失败证书过期、协议不匹配、密码套件不兼容
ERR_EMPTY_RESPONSETCP 已连接,但服务器未发送任何数据Web 服务器崩溃、应用程序返回空响应
ERR_CONNECTION_RESET连接在会话中途被重置网络中断、服务器端连接限制、代理重置
504 Gateway Timeout反向代理等待源站响应超时源站响应过慢、上游连接故障

理解此表在实际操作中非常重要:如果您正在排查自己的服务器问题,用户看到的具体错误会告诉您应首先调查协议栈的哪一层。

实用决策矩阵:优先应用哪种修复方法

使用以下顺序以最小化诊断时间:

  1. 您能访问其他网站吗?不能——先修复本地网络或 ISP 连接(方法 1、6)。能——继续第 2 步。
  2. 在其他设备或网络上网站能加载吗?能——问题在客户端(方法 2、3、4、5、7)。不能——问题可能在服务器端或 DNS 传播。
  3. 外部检查工具(check-host.net)显示网站从多个位置均无法访问吗?是——联系服务器管理员或您的托管服务商。否——问题是区域路由或您特定的 ISP。
  4. 网站在无痕模式下能加载吗?能——浏览器扩展程序或缓存数据是原因(方法 4)。不能——继续进行 DNS 和网络层修复。
  5. 您最近更改了 DNS 记录或迁移了服务器吗?是——等待 DNS 传播完成,并使用 `dig` 或 `nslookup` 验证记录。否——检查服务器端防火墙和 Web 服务器配置。

如果您运行自己的服务器基础设施——无论是带 cPanel 的 VPS 还是裸机环境——在花时间进行客户端修复之前,请始终先检查服务器日志。Apache 错误日志(`/var/log/apache2/error.log`)和 Nginx 错误日志(`/var/log/nginx/error.log`)将包含连接失败、资源耗尽事件和配置错误的明确记录。

对于管理多个域名的团队,将域名注册和 DNS 管理集中在单一服务商下,可以显著降低因 DNS 配置分散或域名注册过期而导致传播相关超时错误的风险。

关键技术要点

  • `ERR_CONNECTION_TIMED_OUT` 特指 TCP 层故障——SYN 数据包已发送但未收到 SYN-ACK。这将其与 DNS 错误、TLS 错误和 HTTP 层错误区分开来。
  • 在假设问题出在本地设备之前,始终从外部视角(check-host.net、从远程服务器执行 curl)进行测试。
  • Chrome 维护着独立于操作系统的内部 DNS 缓存。仅通过 `ipconfig /flushdns` 刷新操作系统缓存是不够的——您还必须清除 `chrome://net-internals/#dns`。
  • 在服务器端,防火墙规则导致的静默丢包是此特定错误最常见的单一原因。连接被拒绝(`RST`)会产生不同的错误代码。
  • 服务器迁移后的 DNS 传播延迟经常被误诊为超时错误。在进一步排查之前,始终使用 `nslookup` 针对多个解析器进行验证。
  • 对于生产 Web 服务器,定期监控 `ss -s` 输出。不断增长的 `CLOSE-WAIT` 计数表明应用层套接字处理存在缺陷,在高负载下最终会导致连接超时。

常见问题解答

为什么 ERR_CONNECTION_TIMED_OUT 只出现在某个特定网站而其他网站正常?

这几乎总是意味着目标服务器从您的网络无法访问——要么服务器已宕机,要么其 IP 因 DNS 传播而发生变化,要么服务器上的防火墙规则阻止了您的 IP 范围。使用 check-host.net 等外部检查工具确认该网站是全球无法访问还是仅从您的位置无法访问。

刷新 DNS 缓存能修复 ERR_CONNECTION_TIMED_OUT 吗?

可以,但仅当原因是过期的 DNS 记录指向旧服务器 IP 时。如果 DNS 记录正确而服务器确实无法访问,刷新缓存将无济于事。在刷新前后始终使用 `nslookup` 验证域名解析到的 IP 地址。

VPN 会导致 ERR_CONNECTION_TIMED_OUT 吗?

会。VPN 通过其自身的服务器和 DNS 解析器路由您的流量。如果 VPN 服务器过载、地理位置较远或与目标网站存在路由问题,您将看到超时错误。断开 VPN 并直接测试。反之,某些网站会在防火墙层面封锁 VPN 出口节点的 IP 范围,这也会产生此错误。

如何修复我管理的服务器上的 ERR_CONNECTION_TIMED_OUT?

按以下顺序检查:(1)确认 Web 服务器进程正在运行(`systemctl status nginx` 或 `apache2`),(2)验证防火墙中 80 和 443 端口已开放(`iptables -L` 或 `ufw status`),(3)使用 `top` 和 `free -h` 检查服务器资源使用情况,(4)查看 Web 服务器错误日志中的连接拒绝或工作进程耗尽消息,(5)确认 SSL 证书有效且未过期。

ERR_CONNECTION_TIMED_OUT 与 504 Gateway Timeout 相同吗?

不同。504 Gateway Timeout 是反向代理(如 Nginx 或 CDN)在其配置的超时时间内无法从上游源站获得响应时返回的 HTTP 层错误。`ERR_CONNECTION_TIMED_OUT` 是在收到任何 HTTP 响应之前发生的浏览器层错误——TCP 连接本身从未完成。两者都表示超时,但发生在网络协议栈的不同层。

15%

全场主机优惠15%

测试技能,享折扣

使用代码:

Skills
开始使用