ERR_CONNECTION_RESET 是谁重置了连接
发布时间:2026-01-22 14:20       
更新时间:2026-01-22 22:53
浏览器报 ERR_CONNECTION_RESET,意思是 TCP 连接被中途掐断——不是超时,也不是拒绝。谁掐的?只有三个候选:你的电脑、中间链路、服务器,三种来源的处置完全不同,所以第一步不是改任何配置,而是确定方向。
先看重置发生在哪一步
curl -v http://目标域名 -o /dev/null 观察输出:连接刚建立就被 reset,多与服务器入口有关;请求发出去、等响应时被 reset,可能是应用崩溃、防火墙干预或链路问题。再换手机热点测同一地址,两边结果不同,嫌疑立刻指向你原来的本地网络。重置发生的时机也是证据:秒级被断多与防火墙有关,请求处理几秒后才断,更像是应用或链路的问题。
本地来源
代理软件、安全防护工具、浏览器插件都可能主动断开连接。完全退出代理直连测试,换无痕模式排除扩展;Windows 上安全软件的"网页防护"功能也偶有误杀,暂时退出对比一次就有结论。本地问题还有个佐证:同一台电脑上其他网站正常,只有目标站点被重置。本地问题的另一个佐证:同一台电脑上其他网站正常,只有目标站点被重置。
服务器来源
服务器的防火墙规则、连接数上限都会触发 reset:nginx 的 worker_connections 打满后新连接直接被断;fail2ban 之类的封禁规则也可能拒绝特定来源。登录后执行:
netstat -ant | grep -c ESTAB
iptables -L -n | head -50
前者看连接数是否顶到上限,后者看有没有针对你 IP 的规则。调 worker_connections 前注意,它还受 worker_rlimit_nofile 和系统 ulimit 的约束,用 ulimit -n 查看当前上限,两层限制要一起调到位,只拧一颗螺丝没用。
中间链路来源
特征最有辨识度:只有部分地区、部分运营商的用户被重置,服务器本地一切正常。这是中间设备干预的典型表现,用 mtr -T -P 80 目标域名(TCP 模式探测 80 端口)跑几分钟,看异常从哪一跳开始。运营商侧的问题多数随路由收敛自愈,持续超过一天的再走正式报障。
归因不靠猜,靠两两对比:换网络、换端口、换时间点各测一次,重置的来源自然会浮出水面。