Chrome浏览器普通模式访问页面报错 ERR_CONNECTION_REFUSED 问题排查
Chrome浏览器普通模式访问页面报错 ERR_CONNECTION_REFUSED 问题排查
问题现象
访问页面时接口报错,具体表现如下:
- Chrome 普通模式无法访问,控制台报错:
net::ERR_CONNECTION_REFUSED - Chrome 无痕模式正常访问
- 其他浏览器(如 Firefox、Edge)访问正常
问题原因
经过排查,发现问题是由于 Chrome 普通模式走了 Whistle 代理导致的:
- 根因分析:当天使用了 Whistle 进行代理,在某种未知情况下,Chrome 普通模式的请求仍然走了 Whistle 代理
- 错误机制:代理/规则/端口在某个时刻把请求转发错误或代理不可用,导致出现"连接被拒绝"错误
- 为什么其他方式正常:无痕模式和其他浏览器没有走同一套代理链路,因此不受影响
排查流程
1. 先看报错类型:判断是否为网络层问题
如果是以下错误类型,优先考虑网络相关问题:
ERR_CONNECTION_REFUSED(连接被拒绝)ERR_TIMED_OUT(连接超时)ERR_NAME_NOT_RESOLVED(域名解析失败)
结论:这类错误一般不是接口业务问题,而是代理/DNS/网络缓存相关的问题。
2. 做两个对照实验:快速定位问题范围
-
实验一:Chrome 无痕模式打开同链接
- 如果无痕正常 ⇒ 普通模式里有东西影响(扩展/代理/缓存)
-
实验二:换其他浏览器打开同链接
- 如果其他浏览器正常 ⇒ 系统网络大概率没问题,问题更偏向 Chrome 配置
3. 验证是否为代理导致(本次问题的根因)
- 检查本机是否使用了本地代理工具(如 Whistle、Fiddler、Charles)
- Chrome 普通模式可能配置了走代理,而代理出现问题时 ⇒ 报
ERR_CONNECTION_REFUSED
解决办法(最有效的两步)
第一步:停用代理/扩展,先恢复访问
-
打开
chrome://extensions/- 将代理、抓包、广告拦截等相关扩展全部暂时关闭
-
打开
chrome://settings/system- 检查是否启用了系统代理或 PAC
- 如有必要,先关闭代理设置
💡 提示:如果执行这一步后页面恢复正常,基本可以确认是代理链路导致的问题。
第二步:清理 Chrome 的 DNS / 连接缓存
为防止"过一会又坏"的情况,建议清理相关缓存:
-
清理 DNS 缓存
- 打开
chrome://net-internals/#dns - 点击 "Clear host cache"
- 打开
-
清理 Socket 连接池
- 打开
chrome://net-internals/#sockets - 点击 "Flush socket pools"
- 打开
-
刷新页面
- 普通刷新后如果仍有问题,尝试硬刷新
- 打开 DevTools 后,长按刷新按钮
- 选择 "Empty Cache and Hard Reload"
最终总结
-
问题本质:这次接口异常不是后端服务问题,而是 Chrome + Whistle 代理导致的网络层故障
-
错误表现:请求走代理后出现
ERR_CONNECTION_REFUSED(连接被拒绝) -
处理流程:
- 先停用代理/相关扩展进行验证
- 再清理 Chrome 的 DNS/Socket 缓存
-
后续预防:
- 恢复访问后,检查 Whistle 的端口配置、代理规则
- 确认代理开关状态,避免后续再次出现误转发

浙公网安备 33010602011771号