ChatGPT 用 Clash 无法访问?超时与连接失败排查指南
使用 Clash 访问 ChatGPT 时遇到打不开、超时或连接失败?本文提供从节点测试、代理模式到规则与 TUN 设置的完整排查步骤,帮助你快速恢复稳定连接。
先判断:是节点问题还是规则问题
使用 Clash 访问 ChatGPT 时,常见表现包括页面一直转圈、提示连接超时、登录页打不开、网页能打开但对话发送失败,或者桌面端与浏览器的结果不一致。这些现象看起来相似,实际可能分别对应节点不可用、规则没有命中代理、DNS 解析异常、浏览器绕过 Clash,以及 TUN 接管不完整等问题。
排查不要一开始就修改整份 YAML。先打开 Clash 的连接面板,保持面板可见,然后刷新 ChatGPT 页面,观察是否出现新的连接记录。常见域名可能包括 chatgpt.com、chat.openai.com、auth.openai.com、静态资源域名以及登录验证所需的第三方域名。
- 没有任何连接记录:浏览器没有把请求交给 Clash,优先检查系统代理、浏览器代理插件或当前网络连接。
- 有连接记录但显示 failed 或 timeout:请求已经进入 Clash,重点检查当前节点、代理协议、节点出口和目标域名的连通性。
- 主页面能打开,登录或发送消息失败:通常是规则只代理了主域名,却漏掉认证、接口或静态资源域名,也可能是浏览器缓存和 Cookie 异常。
- 只有开启 TUN 后异常:优先怀疑虚拟网卡、DNS 劫持、路由冲突或系统权限,不要同时改动节点和规则。
ChatGPT 的可用性还取决于服务所在地区、账号状态、网络出口和服务端临时状态。Clash 只能改善流量转发,不能绕过账号限制,也不能保证某个节点长期可用。
第一步:测试节点,确认代理链路本身可用
如果节点到测试站点都无法建立连接,继续调整 ChatGPT 规则没有意义。打开 Clash 的代理列表,对当前策略组执行延迟测试,再手动选一个延迟正常、不是 timeout 的节点。延迟测试只能说明节点能访问测试地址,不能完全代表 ChatGPT 的实际体验,但可以先排除已经失效的节点。
- 确认 Clash 客户端处于运行状态,当前配置文件已经启用。
- 查看代理模式,暂时切换为 Global,并手动选择一个可用节点。
- 访问一个普通的 HTTPS 网站和 IP 查询页面,确认浏览器出口已经变为节点所在地区。
- 再打开 ChatGPT 页面。如果全局模式下可以访问,而规则模式下失败,问题大概率在规则匹配或策略组选择。
- 如果全局模式也超时,换两个不同节点重复测试。只有一个节点失败,通常是节点问题;全部节点失败,继续检查订阅、本地网络和系统设置。
在桌面系统上,还可以用命令行绕过系统代理开关,直接测试 Clash 的本地混合端口。下面示例假设端口是 7890;如果配置里的 mixed-port 已经改过,必须替换成实际端口。
curl -x http://127.0.0.1:7890 -I https://chatgpt.com
如果命令能够返回 HTTP 响应头,说明 Clash 到节点这一段至少可以建立连接,浏览器端的系统代理或插件配置值得优先检查。如果命令本身就连接失败,先换节点并更新订阅,不要把时间花在浏览器缓存上。
第二步:检查系统代理,避免浏览器绕过 Clash
Clash 显示已连接,只代表内核和节点可能处于工作状态,不代表每个应用都已经接入代理。系统代理关闭时,浏览器会直接连接网络;浏览器安装了独立代理扩展时,也可能完全不读取系统代理。
- Windows:在 Clash Verge、Clash Verge Rev 或 Clash for Windows 中打开系统代理,再到“设置 → 网络和 Internet → 代理”确认代理地址为
127.0.0.1,端口与 Clash 的mixed-port一致。 - macOS:在客户端打开系统代理,然后到“系统设置 → 网络 → 当前网络 → 详细信息 → 代理”,确认 HTTP 与 HTTPS 代理均指向本机地址和正确端口。
- 浏览器扩展:暂时停用 SwitchyOmega、Proxy SwitchySharp 或其他代理管理扩展,避免扩展把流量切到一个已经失效的端口。
- 浏览器自带代理:检查浏览器是否启用了独立的 SOCKS、HTTP 或安全网络功能。排障期间尽量只保留一种代理入口。
- 其他网络软件:退出 VPN、网游加速器、抓包软件和第二个 Clash 客户端,这些程序可能反复改写系统代理、路由表或 DNS。
验证时不要只看 ChatGPT。先访问一个普通 HTTPS 网站,再访问 ChatGPT,最后查看 Clash 的 Connections 页面。如果普通网站有连接记录而 ChatGPT 没有,说明请求可能被浏览器缓存、扩展或企业网络策略拦截;如果两者都没有记录,则是系统代理根本没有生效。
第三步:修正 ChatGPT 相关域名的分流规则
规则模式下,Clash 会按照规则从上到下匹配域名。规则命中后,流量被交给对应策略组;如果前面已有一条 DOMAIN-SUFFIX,openai.com,DIRECT,后面再写代理规则也不会生效。排查时应先查看连接详情中的“规则”字段,确认请求最终命中了哪一条规则和哪个策略组。
可以在自定义规则或配置覆写中加入一组明确的代理规则。策略组名称需要替换为当前配置中真实存在的名称,例如“节点选择”或“Proxy”。不要直接照抄一个配置里不存在的策略组名称。
rules:
- DOMAIN-SUFFIX,chatgpt.com,Proxy
- DOMAIN-SUFFIX,openai.com,Proxy
- DOMAIN-SUFFIX,auth.openai.com,Proxy
- DOMAIN-SUFFIX,oaistatic.com,Proxy
- DOMAIN-SUFFIX,oaiusercontent.com,Proxy
- MATCH,DIRECT
上述规则的作用是覆盖常见主域名、认证域名和静态资源域名,但不能保证覆盖未来新增的所有服务域名。更稳妥的做法是打开连接面板,在页面加载、登录和发送消息三个阶段分别观察新出现的域名,再判断是否需要补充规则。不要为了省事把所有流量永久切换为全局模式,否则国内网站、局域网服务和本地设备也可能被送入代理。
订阅配置通常会在更新时覆盖手动修改。Clash Verge Rev 可使用全局扩展配置,其他 mihomo 客户端可能称为 Merge、配置覆写或脚本覆写。将自定义规则放在覆写层,并确认覆写顺序高于订阅自带规则。
动手操作:用最小改动验证 DNS 与 TUN
当规则已经命中代理,但页面仍然打不开,下一步检查 DNS。ChatGPT 页面涉及多个域名,只要其中一个解析失败,就可能出现首页空白、登录按钮不响应或消息发送超时。先清理缓存,再观察 Clash 的 DNS 日志或连接记录。
- 关闭浏览器页面,Windows 执行
ipconfig /flushdns;macOS 可重启浏览器并刷新系统 DNS 缓存。 - 暂时关闭浏览器“安全 DNS”或 DoH,让解析路径统一交给系统与 Clash,避免浏览器单独连接 DNS 服务。
- 确认配置中
dns.enable为true,并且nameserver至少有一个可用上游。 - 如果使用 TUN,确认客户端已经获得管理员权限或系统 VPN 权限,并检查
dns-hijack是否接管了常见的 53 端口请求。 - 只关闭 TUN,保留系统代理,重新测试 ChatGPT。若关闭后恢复,问题集中在 TUN、虚拟网卡或 DNS 劫持;若仍失败,再回到节点和规则方向排查。
mihomo 常见的基础 DNS 片段如下,实际字段是否支持要以客户端内置内核版本为准:
dns:
enable: true
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
nameserver:
- https://223.5.5.5/dns-query
- https://119.29.29.29/dns-query
fallback:
- https://1.1.1.1/dns-query
- https://8.8.8.8/dns-query
fake-ip 模式下,查询结果出现 198.18.0.0/16 地址通常是正常行为,不要把它误判为 DNS 故障。如果某个应用在 fake-ip 下异常,可以先切换为 redir-host 做对照测试,不要立刻大范围添加 fake-ip 排除项。TUN 还可能受到 IPv6、系统防火墙和其他虚拟网卡影响;排障期间关闭 IPv6 或其他 VPN 只能作为临时对照,确认原因后再决定是否长期保留。
第四步:检查订阅、账号与节点有效期
如果多个节点同时 timeout,或者节点测试全部失败,订阅失效的概率会明显上升。打开配置页面手动更新订阅,查看更新结果是否为成功,并确认更新时间确实发生变化。仅仅点击了更新按钮,不代表服务端已经返回了有效配置。
- 登录订阅提供方后台,确认套餐没有到期、流量没有用完,服务端没有临时维护。
- 检查订阅链接是否被重置。链接重置后,旧配置可能还能显示节点名称,但节点全部无法连接。
- 如果订阅返回 401、403、404 或 HTML 错误页面,不要把网页错误内容当作 YAML 导入,应重新复制正确的订阅地址。
- 更新后重新测试多个地区或线路,不要只测试自动选择组。自动组可能仍然缓存了原来的失效节点。
- 确认系统时间准确。时间偏差过大时,TLS 证书校验可能失败,表现为连接被拒绝或握手超时。
还要区分“网站无法访问”和“账号无法使用”。如果 ChatGPT 页面能稳定加载,但登录提示账号、地区或验证错误,这不是节点测速可以解决的问题。此时应检查账号状态、浏览器 Cookie、验证码脚本和服务端提示,不要反复切换节点导致登录风控进一步升级。
按现象快速定位与恢复顺序
| 现象 | 优先怀疑 | 建议动作 |
|---|---|---|
| 所有节点都 timeout | 订阅失效、网络阻断或内核异常 | 更新订阅、换网络测试、退出其他 VPN 后重启 Clash |
| 普通网站正常,ChatGPT 不开 | 域名规则、DNS 或特定出口问题 | 切 Global 测试,查看连接规则并补充域名分流 |
| 首页能开,登录或发送失败 | 认证域名、静态资源或 Cookie | 观察连接面板,清理站点数据并检查相关域名是否走代理 |
| 关闭 TUN 后恢复 | 虚拟网卡、DNS 劫持或路由冲突 | 重新授权 TUN,检查 dns-hijack,暂时停用其他虚拟网卡 |
| 手机可以,电脑不行 | 电脑系统代理、浏览器扩展或防火墙 | 用 curl 直连本地端口测试,再核对系统代理和安全软件 |
实际操作时建议遵循“节点、模式、代理接管、规则、DNS、TUN、订阅”的顺序,每次只改一项,改完立即刷新并记录结果。这样即使暂时恢复,也能知道真正起作用的是哪一步,避免下次再次遇到同样的连接超时。
恢复后先在规则模式下测试页面加载、登录和发送消息,再逐步重新开启 TUN、浏览器安全 DNS 或其他网络工具。不要在所有设置同时打开的情况下判断问题已经解决。