ChatGPT 无法访问或一直超时?Clash 排查与修复方法

ChatGPT 在 Clash 下打不开或频繁超时,未必是账号或浏览器故障。本文整理从代理开关、节点测试到规则和 DNS 设置的完整排查流程,帮助你快速判断问题来自配置、网络还是代理节点。

先判断问题来自哪一层

ChatGPT 在 Clash 或 FlClash 下打不开、页面空白、登录循环或请求一直超时,不一定是账号、浏览器或 ChatGPT 服务本身故障。一次完整访问通常要经过本地客户端、代理内核、DNS 解析、代理节点、规则匹配以及远端服务多个环节。任何一层出现异常,浏览器最终都可能只显示“无法连接”“连接超时”或空白页面。

排查时不要一开始就修改大量配置。先记录当前使用的客户端名称、内核类型、代理模式、节点名称、失败时间和错误表现。例如,只有 ChatGPT 失败而其他海外网站正常,通常要重点检查域名规则、DNS 或节点出口;所有网站都超时,则应先检查 Clash 是否运行、系统代理是否生效以及节点本身是否在线。

表现 优先检查位置 常见原因
浏览器所有网站都打不开 客户端与本地端口 内核未启动、系统代理端口错误或代理开关失效
普通网站正常,ChatGPT 超时 规则、DNS 与节点 相关域名走了直连、DNS 污染或节点出口受限
首页能打开,登录或对话失败 关联域名与浏览器会话 认证域名未代理、Cookie 异常或节点频繁更换
页面反复刷新或显示验证 出口 IP、时间与浏览器环境 节点 IP 信誉较低、系统时间错误或验证资源加载失败
手机可以访问,电脑不行 电脑端配置与 DNS 系统代理未接管、TUN 路由异常或本地网络缓存不同

检查 Clash 运行状态与系统代理

打开 FlClash、Clash Verge Rev 或其他客户端,先确认当前配置已经成功加载,并且内核处于运行状态。客户端窗口能够打开,不代表 mihomo 已经正常工作。应查看运行日志、连接列表和端口状态,确认配置没有因为 YAML 缩进错误、节点字段不兼容或规则集加载失败而停止。

确认本地代理端口

Clash 常见的 HTTP、HTTPS 与 SOCKS 混合端口是 7890,但不同配置可能使用 78977898 或其他端口。系统代理填写的端口必须与当前配置中的 mixed-port 一致。不要把外部控制端口误填到浏览器代理设置中;9090 通常用于客户端控制接口,不是网页代理端口。

mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
external-controller: 127.0.0.1:9090

在 Windows 中检查“设置 → 网络和 Internet → 代理”,确认手动代理的地址通常是 127.0.0.1,端口则以 Clash 当前显示值为准。若客户端提供“系统代理”开关,优先通过客户端开关启用和关闭,避免系统设置中遗留旧端口。macOS 可在“系统设置 → 网络 → 当前网络 → 详细信息 → 代理”中检查;Android 则要区分应用内 VPN、系统代理和 TUN 模式,它们的接管范围并不相同。

排除多个代理程序互相冲突

如果电脑同时运行 Clash Verge、Clash for Windows、其他 VPN、浏览器代理扩展或企业安全软件,可能出现端口冲突、代理链循环和 DNS 被重复接管。典型情况是 Clash 的更新请求通过系统代理发回自身,或者另一个 VPN 把 Clash 节点连接再次转发,最终表现为连接超时。

动手测试节点与关键域名

确认 Clash 正在运行后,下一步是测试当前节点,而不是反复刷新 ChatGPT 页面。在客户端的代理或策略组页面中,逐个测试几个候选节点,观察延迟、连接成功率和实际访问结果。延迟测试通常只代表某个探测地址的往返时间,不能完全代表 ChatGPT 登录、长连接和对话请求的可用性。

按顺序进行一次完整测试

  1. 在策略组中选择一个明确可用的节点,不要先使用故障转移或自动选择组。
  2. 确认浏览器通过系统代理访问普通 HTTPS 网站,排除本地端口问题。
  3. 打开 ChatGPT 首页,观察 Clash 连接日志中是否出现相关域名与出站策略。
  4. 再访问登录页面并发送一条短消息,分别记录首页、认证和对话阶段的失败位置。
  5. 换用第二个不同地区或不同线路的节点复测,比较是否只有某一出口失败。
  6. 如果一个节点正常、另一个节点失败,保留正常节点并将问题归因到出口线路,而不是立即重装客户端。

ChatGPT 的访问不只涉及一个主域名。常见请求可能涉及 chatgpt.comchat.openai.comauth.openai.comopenai.com 以及用于验证、静态资源或接口的其他域名。实际域名会随页面版本、登录方式和服务端调整而变化,因此应以浏览器开发者工具或 Clash 日志中真实出现的请求为准,不要只把一个域名加入代理规则。

# 仅用于观察代理请求,不要把示例域名直接当作固定规则
chatgpt.com
chat.openai.com
auth.openai.com
openai.com

在客户端日志中,重点看三项:请求域名、匹配到的规则以及最终出站策略。若 ChatGPT 页面请求显示为 DIRECT,但本地网络无法直连,应通过规则或客户端覆写让相关请求进入代理。若已经显示 PROXY,却在 TLS 握手、连接建立或响应读取阶段超时,则应换节点、检查时间和继续排查 DNS。

日志线索 含义 处理方向
DIRECT 请求未经过代理节点 检查规则顺序、域名匹配和代理模式
PROXY 后连接超时 已选代理但出口连接失败 切换节点,比较不同线路与地区
rejected 或规则错误 请求被策略或配置拒绝 检查策略组、规则集和本地覆写
频繁出现 DNS error 域名解析阶段失败 检查 DNS 模式、上游解析器与 fake-ip 排除项
TLS handshake timeout 建立加密连接时超时 优先更换节点并检查系统时间

修正规则模式与代理策略

Clash 的规则按照从上到下的顺序匹配,先命中的规则会决定请求走向。使用 rule 模式时,如果配置前面存在过宽的直连规则,例如把大量域名归入 DIRECT,后面再添加 ChatGPT 相关规则也不会生效。排查时可以临时切换到明确的代理策略,验证问题是否确实由规则分流造成。

全局模式适合短时间验证:如果切换到全局代理后 ChatGPT 立即恢复,说明节点本身大概率可用,原来的规则或 DNS 分流需要检查。确认原因后,建议回到规则模式,而不是长期全局代理。全局模式会把本地服务、国内网站、局域网设备和不需要代理的流量全部送往节点,可能增加延迟、消耗流量,也可能导致本地设备无法访问。

检查规则顺序与策略组

可以在本地覆写中加入较窄的测试规则,但不要把所有流量永久设置为代理。示例中的策略组名称只是占位符,实际使用时必须替换为当前配置中存在的组名:

rules:
  - DOMAIN-SUFFIX,chatgpt.com,ChatGPT
  - DOMAIN-SUFFIX,chat.openai.com,ChatGPT
  - DOMAIN-SUFFIX,auth.openai.com,ChatGPT
  - MATCH,节点选择

如果配置没有名为 ChatGPT 的策略组,直接复制这段规则会导致策略不存在或加载失败。更稳妥的做法是将这些规则指向已有的“节点选择”或其他实际代理组,并在修改前备份 YAML。登录、验证和静态资源域名可能不在同一个后缀下,遇到页面能开但登录失败时,应回到日志确认遗漏的域名,而不是盲目扩大规则范围。

处理 DNS、fake-ip 与系统时间问题

DNS 问题是 ChatGPT 连接异常中容易被忽略的一环。浏览器需要先解析目标域名,Clash 还可能根据解析结果执行规则、建立连接或返回 fake-ip。如果 DNS 请求被本地网络劫持、上游解析器不可达,或者 fake-ip 映射与应用行为不兼容,就可能出现首页偶尔打开、登录资源加载失败或请求随机超时。

在 mihomo 配置中,常见 DNS 结构包括 enhanced-mode: fake-ipenhanced-mode: redir-host。fake-ip 通常便于统一接管和按域名匹配,但部分系统服务、局域网地址或特殊验证流程可能需要加入 fake-ip-filter。redir-host 更接近真实解析结果,适合用于对比测试,但不代表它在所有网络环境中都更快。

dns:
  enable: true
  enhanced-mode: fake-ip
  nameserver:
    - https://1.1.1.1/dns-query
    - https://8.8.8.8/dns-query
  fake-ip-filter:
    - "*.lan"
    - "*.local"

上面的公共 DNS 仅用于展示配置结构,实际可用性取决于所在网络和节点环境。不要同时在系统、浏览器扩展、VPN 和 Clash 中配置多套互相冲突的 DNS 接管。排查时可以先关闭浏览器的安全 DNS,避免浏览器绕过 Clash;也可以暂时在 Clash 中切换 fake-ipredir-host 做单变量对比。

清理缓存并核对时间

  1. 退出 ChatGPT 页面,关闭浏览器中相关标签页。
  2. 在 Clash 中更新 DNS 或重启内核,使旧的解析映射失效。
  3. 重新启动浏览器,必要时使用隐私窗口测试,排除旧 Cookie 与扩展干扰。
  4. 确认操作系统日期、时区和自动校时正常;TLS 证书校验依赖正确系统时间。
  5. 分别使用系统代理模式和 TUN 模式测试,不要在两种模式同时切换多个参数。

如果隐私窗口可以访问,而普通窗口持续登录循环,问题更可能在 Cookie、缓存或浏览器扩展;如果两者都超时且多个节点都失败,则继续查看 DNS 和节点日志。不要为了绕过验证而安装来源不明的脚本或修改浏览器安全设置,这类操作可能泄露账号会话信息。

仍然超时时的定位与恢复顺序

完成前面的检查后,可以用“换网络、换节点、换模式、换客户端”的顺序缩小范围。先把电脑连接到手机热点,使用同一个节点和同一份配置测试。如果热点可用而家庭宽带不可用,问题偏向本地运营商 DNS、路由或防火墙;如果两种网络都失败,但另一个节点成功,问题集中在原节点出口;如果多个节点和网络都失败,则应检查客户端内核、规则集或 ChatGPT 服务状态。

对比结果 较可能的结论 下一步
同一节点,热点成功、宽带失败 本地网络或 DNS 路径异常 更换 DNS、重启光猫路由器并检查网络过滤
同一网络,节点 A 失败、节点 B 成功 节点出口或线路质量问题 停用故障节点,测试其他地区和协议
全局模式成功、规则模式失败 规则顺序或策略组选择错误 查看实际命中规则并添加最小范围覆写
系统代理成功、TUN 失败 TUN 权限、路由或 DNS 接管异常 检查网络扩展、自动路由和排除列表
其他客户端成功、当前客户端失败 当前内核版本或本地数据异常 备份订阅与覆写后重新导入并更新客户端

如果使用的是较旧的经典 Clash 内核,而订阅包含 mihomo 扩展字段或新型协议,建议先确认内核版本和配置兼容性。客户端名称中带有“Clash”并不能证明正在运行哪个内核,应查看客户端的核心信息、启动日志或版本页面。升级或迁移前,保存订阅 URL、当前 YAML、代理组选择、DNS 设置和 TUN 参数,避免直接删除全部数据后无法恢复原有配置。

最终可以把排查结果整理为一条明确结论:Clash 未运行、系统代理未接管、规则走了直连、DNS 解析失败、节点出口不可用,或者客户端内核与配置不兼容。只要每次测试只改变一个变量,ChatGPT 的超时问题通常能够从“打不开”进一步定位到具体环节,而不必反复重装浏览器或清空全部配置。

FlClash 下载入口 查看各平台客户端