本文目录
页面上的错误,决定这次该查哪一层
ChatGPT 或 Claude 打不开时,先把页面上的原话记下来。一直转圈、ERR_TIMED_OUT 与 403 Access Denied 不是同一类故障;401、429、5xx 也各自指向认证、频率限制或服务端异常。只写“不能用”,后面每一步都只能靠猜。
页面结果先这样分
| 看到的现象 | 优先判断 |
|---|---|
| 页面框架出现,图标、按钮或登录组件空白 | 静态资源域名可能走了不同规则或出口 |
| ERR_CONNECTION_TIMED_OUT / 请求超时 | 网络路径、节点或长连接失败 |
| 401 / Unauthorized | 登录状态、令牌或 API 凭据 |
| 403 / Access Denied | 服务策略、账号状态或请求被拒绝 |
| 429 / Too Many Requests | 频率或额度限制,不是节点延迟 |
| 500 / 502 / 503 | 服务端或上游临时异常,先看官方状态 |
| 回复写到一半停止 | 流式连接、节点切换或网络抖动 |
浏览器首页能打开,只说明主页面到了。脚本、图片和登录组件可能来自其他静态资源域名,登录跳转、文件上传和模型流式回复也会产生不同请求。页面只有外壳时,要在 Connections 中确认这些资源是否和模型请求走同一稳定出口,而不是拿另一个网页代替测试。
固定一个出口,保留可以比较的失败现场
建立可复现的测试
在 Proxies 固定一条节点
暂时不要使用 url-test 或 fallback,避免测试过程中出口变化。
保持 Rule 模式
打开 Connections,准备观察失败动作对应的域名与规则。
只重复一个动作
例如点击登录、发送同一句短消息,或上传同一个小文件。
保存页面状态和 Clash 结果
记下 HTTP 状态、连接出口、耗时与日志错误。
如果失败动作在 Connections 中完全找不到,浏览器或桌面应用可能没有经过当前 Clash。若记录出现但命中 DIRECT,检查规则;已经走到固定节点却 timeout,才值得换节点或网络做对照。
登录页反复跳回,重点是会话有没有建立
登录循环常表现为输入账号后又回到登录页,或者验证码完成却没有进入对话。此时先在同一浏览器的无痕窗口重试,排除过期会话和扩展干扰;不要一上来清掉所有网站数据,那会同时退出其他账号。
观察点击登录后的请求:认证跳转若没有进入 Clash,处理浏览器代理;请求进入后返回 401 或 403,则网络已经到达服务,继续检查账号、登录方式和服务提示。频繁换地区或出口还可能让一次登录跨越多个会话环境,测试期间应保持固定节点。
登录问题需要留下的信息
- 发生循环的具体页面和按钮
- 无痕窗口是否得到相同结果
- 失败请求返回 401、403 还是 timeout
- 登录前后是否一直使用同一固定出口
Access Denied 不是“再加一层代理”就能解决
明确的 403 或 Access Denied 通常说明请求已经到达网站,只是被拒绝。检查页面给出的原因、账号状态、地区限制、服务支持范围和当前出口是否符合服务条款;这与 DNS 超时、端口没开属于不同层。
Global 模式最多用于判断某条规则是否把请求送错了出口,不能把服务端拒绝变成网络成功。若 Rule 和 Global 都在同一固定节点上返回同一个 403,应停止调整 Clash,转而处理账号或服务政策。
短网页正常、长回复中断,要测试连接持续性
模型回复是持续返回的数据流。节点能完成一次延迟探测,并不代表它能稳定维持几十秒的连接。用一条稍长但可重复的提问测试,观察中断时 Connections 的结束原因;同时关闭自动切换,避免回复中途被换到另一个出口。
同一固定节点在家庭网络和手机热点上各试一次。若只在其中一个网络中断,重点检查这个网络和 DNS;若两个网络都在相近位置中断,换另一条协议或节点对照。不要用一次成功就下结论,至少重复两三次相同请求。
回复中断时出现 timeout
比较另一固定节点与另一网络,找出是节点出口还是本地网络。
中断瞬间策略组自动换节点
排障期间改用 select 固定出口,稳定后再调健康检查。
页面提示 429
查看账号额度与频率说明,继续测速不会消除限制。
所有用户同时收到 5xx
查看服务官方状态,等上游恢复后复测。
网页能用、桌面端或 API 不行,要看进程是否读取系统代理
浏览器通常遵循 Windows 或 macOS 系统代理,终端里的 curl、SDK 和部分桌面应用则可能使用自己的网络设置。执行同一个 API 请求时,Connections 没有任何记录,说明请求还没进入 Clash,换节点没有意义。
命令行工具可以按自身文档配置 HTTP_PROXY、HTTPS_PROXY;需要统一接管多个不读取系统代理的应用时,再考虑 TUN。API 返回 401 代表请求已经到服务端,应该核对 API key 和请求格式,而不是继续扩大代理范围。
CLASH_PORT=7890
export HTTP_PROXY="http://127.0.0.1:${CLASH_PORT}"
export HTTPS_PROXY="http://127.0.0.1:${CLASH_PORT}"
export NO_PROXY="localhost,127.0.0.1,::1"
curl -I https://example.com$CLASH_PORT = 7890
$env:HTTP_PROXY = "http://127.0.0.1:$CLASH_PORT"
$env:HTTPS_PROXY = "http://127.0.0.1:$CLASH_PORT"
$env:NO_PROXY = "localhost,127.0.0.1,::1"
curl.exe -I https://example.com用一条短消息确认请求能完整结束
回到固定节点和 Rule 模式,完成一次登录并发送一条短消息。Connections 里应能看到这次操作涉及的请求,页面不再返回原来的错误,回复也能完整结束。
若仍失败,就按现象继续处理:没有连接记录就检查接管方式,显示 DIRECT 就检查规则,出现 timeout 就比较节点和网络,返回 401、403 或 429 则按服务端结果排查。
一条短消息能完整返回以后,再恢复 url-test 或 fallback。若自动组恢复后问题重现,这次就有明确的对照:账号和规则没有变化,变化的是出口选择。
