报错查询
ERR_PROXY_CONNECTION_FAILED 与 ERR_TUNNEL_CONNECTION_FAILED
ERR_PROXY_CONNECTION_FAILED
要点
问:两个错误差在哪?
短答:一个卡在「浏览器 → 代理」,一个卡在「代理 → 网站」,改的地方完全不同,所以本页分两节写。
ERR_PROXY_CONNECTION_FAILED[报错]Chromium 错误码 -130。源码注释:无法和代理服务器建立连接,错误出在解析代理的名字或连接它的端口;不包括 HTTP 代理在 CONNECT 阶段的失败。Chrome 页面标题是「未连接到互联网」,正文「代理服务器出现问题,或者地址有误。」,而且不给重新加载按钮。
ERR_TUNNEL_CONNECTION_FAILED[报错]Chromium 错误码 -111。源码注释:无法通过代理建立隧道。浏览器已经连上代理,请它代为连接网站,代理没办成。Chrome 没给它单独配说明文字,页面只有通用的「无法访问此网站」和错误码。参见:ERR_CONNECTION_CLOSED。
问:你在哪儿看到它?
短答:都在 Chromium 系浏览器的整页错误里,页面标题就能分出是哪一个。
| 服务 | 界面或接口 | 原文写法 |
|---|---|---|
| Chrome、Edge | 整页错误 | 未连接到互联网 · 代理服务器出现问题,或者地址有误。 · ERR_PROXY_CONNECTION_FAILED |
| Chrome、Edge | 整页错误 | 无法访问此网站 · ERR_TUNNEL_CONNECTION_FAILED |
| 开发者工具 | 网络面板 | net::ERR_PROXY_CONNECTION_FAILED、net::ERR_TUNNEL_CONNECTION_FAILED |
| 同一页的建议 | 「如果您使用代理服务器…」下面 | 检查代理设置或联系网络管理员 |
问:PROXY_CONNECTION_FAILED 要查哪三项?
短答:客户端在不在 → 端口对不对 → 有没有别的程序改了代理。
- 代理客户端有没有在运行。 客户端退出或崩溃时,如果没把系统代理还原,系统设置里那条「127.0.0.1:端口」还在,浏览器就去连一个没人监听的端口。Windows 在「设置 → 网络和 Internet → 代理」的手动设置里看;macOS 上去「系统设置」的「网络」,点开当前网络的「详细信息」,再看「代理」一栏。
- 地址和端口是否和客户端一致。 系统代理里的端口,要等于客户端设置页写的 HTTP 端口或混合端口。换过客户端、改过端口之后,这里很容易对不上。终端程序用的也是这个端口,设法见 git set proxy。
- 有没有别的程序改了代理。 安全软件、另一个代理工具、浏览器扩展都能改写代理设置。在地址栏打开
chrome://net-internals/#proxy,看 Chrome 此刻实际用的是哪个代理。
问:TUNNEL_CONNECTION_FAILED 要查哪三项?
短答:节点能不能用 → 规则是不是把它拒了 → 代理要不要认证。
- 节点本身。 在客户端里测一次延迟,换一个节点再开同一网址;整组节点都不行,更新订阅。
- 分流规则。 规则里这个域名命中了「拒绝」一类策略时,代理会直接回绝浏览器的 CONNECT 请求,浏览器就报隧道失败。到客户端的连接日志里找这个域名,看它走了哪条规则。
- 代理认证和上游解析。 公司代理要账号密码时,没认证也建不起隧道;节点那头解析不到这个域名,同样会失败。
问:哪些情况不是你本机代理的问题?
短答:公司统一下发的代理、失效的 PAC 地址、网站本身下线,都要找别人。
- 公司电脑: 代理由组策略统一下发,自己改了也会被改回去,找网管。
- PAC 脚本地址失效: 系统里填的是一个自动配置脚本网址,脚本所在的服务器挂了,浏览器就找不到代理。
- 网站本身下线: 隧道失败时用直连也打不开,就不是代理的事。
问:怎么改?
短答:-130 在本机改设置,-111 在客户端里改节点和规则。
- -130: 重新打开代理客户端,再打开它的「系统代理」开关;不打算用代理时,把系统的手动代理关掉。端口按客户端设置页对齐。
- -130: 改完仍报错,打开
chrome://net-internals/#proxy点 Re-apply settings,让 Chrome 重新读一次系统代理。 - -111: 换节点、更新订阅;查规则里有没有误伤这个域名,把它改到正常出站的分组。
- -111: 公司代理按网管给的账号认证。改完用 IP 纯净度查询 确认出口已经是代理那一端。
问:相近的报错有哪些?
- ERR_CONNECTION_CLOSED:隧道打通了,连接后来被关掉。
- ERR_CONNECTION_RESET:连接被强行切断。
- recv failure connection was reset:git 走代理时的同类问题。