浏览器代理扩展冲突排查:ERR_PROXY_CONNECTION_FAILED、设置被扩展控制与双重代理
很多人遇到过这种情况:电脑上的客户端显示已连接,命令行和其他软件访问海外网站都正常,唯独 Chrome 打不开,地址栏下方显示「ERR_PROXY_CONNECTION_FAILED」或者「ERR_TUNNEL_CONNECTION_FAILED」;打开浏览器的代理设置,看到一行灰字「你的代理设置由某扩展程序控制」,按钮全是灰的点不动。也有人同时装了两三个代理类扩展,今天这个生效、明天那个生效,网页时好时坏。
根源在于浏览器的代理设置同一时间只能由一个扩展控制,而扩展的优先级高于系统代理。旧扩展里残留的代理地址已经失效,浏览器却还在往那里发请求;或者扩展设了一层代理,客户端又在系统层接管了一次,形成双重代理。弄清三层关系以后,排查就有了顺序。下文以 Chrome 与 Edge 为主,Firefox 的差异单独说明,各浏览器的菜单名称以实际版本为准。
扩展、系统代理与 TUN 模式的关系
简单记一句:浏览器发请求时,先看有没有扩展接管,有就听扩展的;没有才看系统代理;TUN 模式在更底层,不管上面怎么设,流量最终都会经过它。所以客户端已经接管系统时,扩展最好设为「直接连接」或「使用系统代理」,否则就是在客户端前面又套了一层,任何一层出错网页都打不开。
| 层级 | 作用范围 | 优先级 | 常见冲突 |
|---|---|---|---|
| 代理类浏览器扩展 | 只影响当前浏览器 | 高于系统代理 | 多个扩展抢控制权、残留失效地址 |
| 浏览器自身代理设置 | Firefox 可单独设置 | Firefox 中高于系统 | 忘记改回「使用系统代理」 |
| 系统代理 | 遵守系统设置的应用 | 被扩展覆盖 | 客户端退出后未恢复设置 |
| TUN 模式 | 整机网络层 | 在系统代理之下工作 | 与扩展叠加形成双重代理 |
| PAC 自动配置脚本 | 按规则选择代理 | 由所在层级决定 | 脚本地址失效导致全部失败 |
| 企业策略 | 公司统一下发 | 最高 | 个人无法修改,需找管理员 |
从定位到修复:分步操作
- 第一步:先把网络线路准备好。确认刺猬VPN客户端已连接,并且用浏览器以外的方式验证线路本身正常,比如在命令行执行 curl -I https://www.google.com,能返回状态码就说明线路没问题,接下来只需处理浏览器;自定义用户名和密码即可匿名注册,不需要邮箱、不需要手机号,免费节点永久免费、不限流量、不限速;
- 第二步:看是谁在控制代理。Chrome 打开 chrome://settings/system,点「打开您计算机的代理设置」上方如果写着由某扩展控制,就记下扩展名称;Edge 对应 edge://settings/system;
- 第三步:查看实际生效的代理。在地址栏输入 chrome://net-internals/#proxy,「Effective proxy settings」一栏显示的才是浏览器当前真正使用的配置,点「Re-apply settings」可以让它重新读取;
- 第四步:逐个停用代理类扩展。打开 chrome://extensions,把 SwitchyOmega、ZeroOmega 以及各类网页代理、翻译加速、广告拦截附带代理功能的扩展全部关掉,然后刷新网页;
- 第五步:恢复后再按需开启。如果只保留一个扩展,把它的模式设为「系统代理」,让客户端统一负责;需要按规则切换时,再在扩展里配置情景模式,避免两边都在分流;
- 第六步:清理失效配置。扩展里残留的代理地址、端口指向早已不用的旧软件时,直接删除这些情景模式,免得误点切回,也可以先导出一份备份,确认没用了再彻底删除;
- 第七步:Firefox 单独检查。打开设置里的「网络设置」,如果写着某扩展正在控制 Firefox 连接互联网的方式,同样先停用扩展,再把选项改为「使用系统代理设置」;
- 第八步:检查系统代理残留。Windows 在「设置 → 网络和 Internet → 代理」查看是否有手动代理,客户端已退出却仍然开着,关掉它;macOS 在网络设置的「代理」标签页检查;
- 第九步:确认 WebRTC 与 DNS 设置。部分扩展会改动 WebRTC 策略或启用自带的加密 DNS,停用后浏览器的这些设置会恢复默认,按需重新设置。
按现象排查
浏览器的报错代码其实很有指向性,记住几个常见代码,基本能直接判断问题在哪一层。每次只改一处设置再刷新测试,改多了反而分不清是哪一步解决的问题。
- ERR_PROXY_CONNECTION_FAILED:浏览器要连的代理地址没有响应,多为扩展或系统设置里残留的端口已经没有程序监听,停用扩展或清掉系统代理;
- ERR_TUNNEL_CONNECTION_FAILED:代理能连上但建立隧道失败,常见于双重代理或代理软件本身的上游有问题,先关掉扩展,只留客户端;
- ERR_CONNECTION_RESET 或 ERR_EMPTY_RESPONSE:连接被中途重置,可能是请求绕开代理直连出去,检查扩展的分流规则是否把该站点设为直连;
- 设置页显示由扩展控制且无法修改:先停用该扩展,设置项就会恢复可编辑;
- 部分网站能开、部分不能:扩展的情景模式或 PAC 规则只覆盖了一部分域名,改为系统代理统一处理;
- 开着客户端时浏览器很慢:扩展又套了一层远程代理,形成双重代理,延迟叠加,去掉其中一层;
- 无痕窗口正常、普通窗口不正常:多数扩展在无痕窗口默认不启用,这正好说明问题出在扩展上;
- 公司电脑上设置无法更改:企业策略锁定了代理设置,在 chrome://policy 能看到相关策略,需要联系管理员。
线路与客户端怎么选
客户端已经带有按域名或 IP 的智能分流,浏览器里再装一个规则扩展,等于在两个地方各维护一套规则,出了问题很难判断是哪一套在起作用。更省心的做法是让客户端统一负责,扩展只保留一个并设为系统代理。刺猬VPN的「不限速」只表示不对账号设速率上限,实际速度受本地网络与节点负载影响。客户端没有分应用代理,需要区分流量时按域名规则处理即可。
| 对比项 | 免费节点 | 时长套餐 | 流量包 |
|---|---|---|---|
| 适合场景 | 排查时验证线路是否正常 | 每天整机使用 | 偶尔集中使用 |
| 流量规则 | 永久免费、不限流量 | 有效期内不限流量 | 用多少扣多少,到期未用完清零 |
| 速度规则 | 不限速 | 不限速 | 不限速 |
| 分流方式 | 按域名或 IP 智能分流 | 按域名或 IP 智能分流 | 按域名或 IP 智能分流 |
| 断线保护 | 支持 Kill Switch | 支持 Kill Switch | 支持 Kill Switch |
| 多设备 | 一个账号多设备在线 | 一个账号多设备在线 | 一个账号多设备在线 |
Chrome、Edge 与 Firefox 的差别
Chrome 与 Edge 同属 Chromium 内核,本身不提供独立的代理设置,默认跟随系统,只有扩展可以覆盖。Chrome 扩展迁移到新一代规范以后,一些老牌代理扩展停止更新,出现了社区维护的替代版本,同一功能的新旧两个扩展同时安装时最容易互相抢控制权,保留一个即可。
Firefox 则自带完整的网络设置,可以选择不使用代理、自动检测、使用系统代理或手动配置,扩展同样可以接管。Firefox 还默认开启了自己的加密 DNS 选项,开启后域名解析不走系统,可能和客户端的分流规则不一致,排查时可以在隐私设置里先关闭再测试。Safari 没有代理类扩展的生态,始终跟随系统代理,出问题时只需检查系统设置。
还有一类容易忽略的是 PAC 自动配置脚本。一些老工具会把系统代理设成一个本地脚本地址,工具卸载后脚本地址失效,浏览器取不到脚本就会让所有请求失败,症状和代理扩展冲突非常像。Windows 在代理设置的「使用设置脚本」一项里查看,macOS 在「自动代理配置」里查看,地址指向已经不存在的程序就关掉它。改完后重启浏览器,或在 net-internals 页面重新应用设置。
和其他代理方式的分工
浏览器扩展形式的代理与桌面客户端各有适用场景,扩展只管浏览器、安装方便,客户端覆盖整机、规则统一,两者怎么取舍见 浏览器扩展 VPN 与客户端的区别。
客户端本身又分系统代理与 TUN 两种接管方式,系统代理依赖应用自觉遵守设置,TUN 在网络层接管所有流量,两种模式与扩展叠加时的表现不同,原理与选择见 TUN 模式与系统代理的区别。搞清楚自己的客户端用的是哪种模式,扩展该设成什么也就清楚了。
常见报错速查表
| 现象 | 原因 | 解决办法 |
|---|---|---|
| ERR_PROXY_CONNECTION_FAILED | 代理地址无程序监听 | 停用扩展或清除系统代理 |
| ERR_TUNNEL_CONNECTION_FAILED | 双重代理或上游异常 | 只保留客户端一层 |
| 设置由扩展程序控制 | 扩展接管代理设置 | 停用该扩展后修改 |
| 部分网站打不开 | 扩展规则覆盖不全 | 扩展改为系统代理 |
| 无痕窗口才正常 | 扩展导致冲突 | 逐个停用扩展定位 |
| 设置无法修改 | 企业策略锁定 | 查看 chrome://policy,联系管理员 |
高频问答
- 问:可以同时装两个代理扩展吗?答:可以装,但同一时间只有一个能控制代理,建议只保留一个;
- 问:用了客户端还需要代理扩展吗?答:一般不需要,客户端已有智能分流,扩展设为系统代理或直接停用即可;
- 问:为什么卸载客户端后浏览器还是打不开网页?答:系统代理设置残留,到系统的代理设置里关闭手动代理;
- 问:TUN 模式下扩展还会生效吗?答:会,扩展先把请求发给它设定的代理,再经过 TUN,容易形成双重代理;
- 问:怎样最快判断是不是扩展的问题?答:用无痕窗口打开同一网页,无痕正常就基本是扩展导致的;
- 问:手机浏览器会有这个问题吗?答:手机浏览器基本没有代理扩展,通常跟随系统设置。
让浏览器只听一个指挥
浏览器代理扩展冲突的核心是控制权:扩展高于系统代理,多个扩展互相抢,失效地址残留,客户端与扩展叠加成双重代理。按「先验证线路、再看谁在控制、逐个停用扩展、清理残留设置」的顺序排查,ERR_PROXY_CONNECTION_FAILED 这类报错几分钟就能解决。长期使用时,让客户端统一负责分流,浏览器里最多保留一个扩展并设为系统代理。
刺猬VPN采用 HTTPS+AES 加密传输,支持自定义用户名和密码匿名注册,不需要邮箱和手机号;免费节点永久免费、不限流量、不限速,适合排查时验证线路;时长套餐有效期内不限流量、不限速,客户端带断线保护与按域名或 IP 的智能分流,一个账号支持多设备同时在线。各浏览器的设置位置以实际版本为准,实际可用性取决于当前网络环境。
开始用刺猬VPN为游戏加速:低延迟、连接稳定
刺猬VPN提供永久免费节点,不限流量;无需邮箱,自定义用户名即可匿名注册。一个账号支持多设备同时在线,实际可用性取决于当前网络环境。