ChatGPT 用 Clash 无法访问?超时与连接失败排查
使用 Clash 访问 ChatGPT 时遇到打不开、超时或连接失败,不一定是节点失效。本文从代理模式、规则分流、DNS 和 TUN 设置入手,带你逐步定位问题并验证修复效果。
B-01先判断故障发生在哪一层
ChatGPT 打不开时,页面上的提示通常比较笼统,可能显示连接超时、网络错误、登录失败,也可能只是页面一直停留在加载状态。不要看到错误提示就立即更换订阅或批量测速,先确认故障范围,才能知道应该检查 Clash、浏览器,还是当前网络环境。
第一步是观察 Clash 客户端是否有对应的请求记录。打开 Clash Verge、Clash Verge Rev 或其他 mihomo 客户端的连接面板,然后刷新 ChatGPT 页面。如果连接面板中完全没有出现相关域名,说明浏览器流量没有进入 Clash,优先检查系统代理、浏览器扩展或 TUN 是否接管成功。如果能看到请求,但请求被标记为 DIRECT,则重点检查规则分流。如果请求已经进入代理策略组,却持续显示失败或超时,才需要继续核对节点、DNS、TLS 和网络出口。
- 页面完全打不开,连接面板无记录:多半是浏览器没有使用 Clash,或者当前代理模式没有覆盖该浏览器。
- 能看到请求但走了 DIRECT:规则把目标域名分到了直连,或者规则集没有更新、没有命中。
- 请求走代理但握手失败:可能是节点不可用、出口受限、DNS 解析错误或 TLS 参数不匹配。
- 首页能打开,登录或对话失败:通常不是单一首页域名的问题,登录、验证、静态资源和接口请求可能分别落到不同域名。
B-02代理模式排查:系统代理、规则模式与 TUN
Clash 常见的接管方式有系统代理和 TUN 模式。系统代理主要修改操作系统的 HTTP/HTTPS 代理设置,浏览器等遵守系统代理的应用通常可以直接使用;TUN 模式则创建虚拟网卡,在更底层接管应用流量,适合那些不读取系统代理的程序。两种模式的覆盖范围不同,不能只看客户端首页上的“运行中”状态来判断 ChatGPT 一定会经过代理。
系统代理模式的核对方法
如果你使用的是系统代理,先在 Clash 客户端中确认“系统代理”开关已打开,并记下 HTTP 或混合端口,例如 127.0.0.1:7890。随后检查操作系统的代理设置是否仍然指向这个地址。有些 VPN、代理切换扩展和企业安全软件会在 Clash 启动后再次覆盖系统代理,导致界面显示已开启,但实际生效的端口已经变成旧配置。
浏览器里如果安装了代理管理扩展,建议临时禁用 SwitchyOmega、Proxy SwitchySharp 或其他同类扩展,再重新加载页面。扩展可能把浏览器切换到直连,或者指向另一个本地端口。Chrome、Edge 等浏览器还可能受到企业策略影响,手动代理配置、PAC 脚本与系统代理之间存在优先级差异,最好先恢复为“使用系统代理设置”进行对照测试。
TUN 模式的核对方法
如果系统代理对浏览器有效,但桌面应用、终端或某些内置页面仍然无法连接,可以尝试启用 TUN。启用前确认客户端拥有创建虚拟网卡所需的权限,Windows 可能需要管理员权限,macOS 或 Linux 则要根据客户端提示授权。TUN 的 DNS 劫持、自动路由和栈类型选项也会影响结果,首次排查不建议同时修改多个高级参数。
B-03规则分流排查:确认 ChatGPT 请求确实走代理
规则模式下,Clash 会按照 rules 从上到下匹配,命中后立即停止继续判断。ChatGPT 访问失败时,最值得先看的不是规则文件的长度,而是实际请求被分配到的策略。打开连接面板,搜索 openai、chatgpt、auth、challenge 等关键词,查看每条请求最终使用的是 DIRECT、某个代理组,还是 REJECT。
如果相关请求被分到 DIRECT,说明规则顺序或规则集内容需要调整。对于明确需要代理的域名,可以在自定义规则中放置针对性的域名规则,并将策略名替换为你配置文件中实际存在的代理组名称。示例只用于说明匹配结构,不代表完整的 ChatGPT 域名清单:
rules:
- DOMAIN-SUFFIX,openai.com,国外代理
- DOMAIN-SUFFIX,chatgpt.com,国外代理
- DOMAIN-SUFFIX,auth.openai.com,国外代理
- MATCH,国外代理
如果使用的是远程 RULE-SET,应确认规则集已经成功下载并完成解析,同时检查它在规则列表中的位置。过早出现的 GEOIP,CN,DIRECT、通用的国内域名规则或某个范围过大的直连规则,都可能在 ChatGPT 的域名规则之前抢先命中。对于使用 CDN 或动态解析的网站,不能仅凭 IP 归属地判断网站是否属于国内服务,因此域名规则通常应放在 GEOIP 规则之前。
B-04动手验证:从本地代理端口测试到浏览器请求
完成代理模式和规则检查后,不要只依赖 ChatGPT 页面是否恢复,建议按“本地端口—普通 HTTPS—目标站点”的顺序做三次验证。每一步都能把故障范围缩小一层。以下命令默认 Clash 的混合端口为 7890,如果客户端实际端口不同,需要替换为设置页显示的数值。
- 先验证本地端口是否正在监听。在 Windows PowerShell 中执行
Test-NetConnection 127.0.0.1 -Port 7890,在 macOS 或 Linux 中可执行curl -I --max-time 5 http://127.0.0.1:7890。端口未监听时,先处理客户端运行状态、端口冲突或权限问题。 - 通过 Clash 代理访问一个用于连通性测试的 HTTPS 地址,观察是否能在短时间内返回响应。命令成功,说明本地代理到节点的基本链路已经建立;命令失败,则不要继续修改 ChatGPT 规则。
- 重新打开 ChatGPT 页面,同时观察连接日志中出现的域名和策略。若首页请求成功但登录或对话请求失败,记录失败请求的完整域名,再针对该域名检查分流结果。
curl -x http://127.0.0.1:7890 https://www.gstatic.com/generate_204 -I -m 8
curl -x http://127.0.0.1:7890 https://chatgpt.com -I -m 15
第一条命令返回 204 或其他明确的 HTTP 响应,通常表示代理端口和当前节点可以完成一次 HTTPS 请求。第二条命令即使返回重定向,也说明目标站点至少完成了部分连接;如果两条命令都超时,应回到节点和网络出口层排查。如果第一条正常、第二条失败,则重点检查目标域名规则、DNS 解析和出口是否允许访问,而不是立即判断本地端口损坏。
DNS 与 TUN 联动:解析成功不代表连接一定成功
DNS 问题是 ChatGPT 访问故障中比较容易被忽略的一环。域名能够解析,只代表本地拿到了一个 IP 地址,并不代表这个 IP 适合当前代理链路;如果 DNS 被本地网络劫持、缓存了过期结果,或者 TUN 模式下 DNS 请求没有按预期送入代理,可能出现浏览器显示 DNS_PROBE_FINISHED_NXDOMAIN、连接到错误地址或反复超时。
在 mihomo 配置中,DNS 相关选项通常包括是否启用 DNS、监听地址、fake-ip 或 redir-host 模式,以及 nameserver、fallback 和 respect-rules 等参数。排查时先查看客户端 DNS 日志和配置校验结果,不建议直接复制一份复杂配置覆盖原文件。若启用了 fake-ip,确认 fake-ip 过滤列表没有误把目标域名排除;若使用 redir-host,则确认返回的解析地址能够通过当前规则和节点访问。
TUN 模式还可能与其他虚拟网卡、企业 VPN、杀毒软件的网络过滤驱动发生冲突。表现通常是浏览器系统代理测试正常,但启用 TUN 后网页变慢、登录循环或所有域名间歇性失败。可以按以下顺序做对照:
- 关闭 TUN,仅保留系统代理,重新测试 ChatGPT。
- 在同一网络下更换 DNS 配置,清理系统 DNS 缓存后再次测试。
- 确认 Clash 的 DNS 监听端口没有被其他服务占用,日志中没有反复出现启动失败。
- 暂时关闭其他 VPN 或网络加速工具,避免多个程序同时接管路由和 DNS。
- 重新启用 TUN,并只打开必要的自动路由、DNS 劫持选项,逐项观察变化。
B-06按故障表现选择处理方向
把前面的判断整理成一张速查表,可以避免在节点、规则和 DNS 之间来回修改。每完成一项,都重新加载配置并进行同一组测试,记录结果比凭感觉判断更可靠。
| 现象 | 优先检查 | 处理方向 |
|---|---|---|
| 浏览器无请求记录 | 系统代理、代理扩展、PAC | 确认浏览器使用 Clash 的实际端口,临时禁用代理扩展 |
| 请求全部显示 DIRECT | 规则顺序与规则集 | 检查目标域名规则是否命中,避免被过早的直连规则截走 |
| 普通网站正常,ChatGPT 超时 | 目标域名分流、DNS、节点出口 | 查看失败请求的实际域名并单独验证,不只测试首页 |
| 系统代理正常,TUN 后异常 | 虚拟网卡、DNS 劫持、路由冲突 | 关闭其他 VPN,逐项启用 TUN 选项做对照 |
| 所有代理测试都失败 | 订阅、节点、网络与端口 | 确认订阅有效、端口监听正常,并用手机热点交叉测试 |
如果更换网络后立即恢复,故障大概率位于当前宽带、公司网络或路由器的出口限制;如果所有网络都失败,但其他节点和站点正常,则应重点查看目标站点的域名规则与当前节点出口。若同一订阅在另一台设备上可以访问,说明订阅本身不一定有问题,更应回到本机的代理模式、DNS、TUN 驱动和安全软件设置。
排查完成后,建议保留一份能正常工作的配置备份,只记录真正改动过的项目,例如代理端口、规则顺序、DNS 模式和 TUN 开关。下次出现相同症状时,按照“是否有连接记录、命中了什么策略、端口测试是否成功、DNS 是否正常”的顺序复核,通常比重新导入订阅更快找到原因。
按图施工:下载 Clash 客户端
选择仍在维护、支持 mihomo 或兼容当前配置的客户端,再按照本文的代理模式和 DNS 检查步骤完成设置。
按图施工:下载 Clash 客户端
排查配置前,先确认使用的是正规渠道获取的客户端版本,避免因客户端本身异常导致误判。