“订阅更新失败”可能发生在请求阶段,也可能发生在读取配置阶段。先记录原始错误,再决定检查链接、服务方响应还是配置格式,避免把每次失败都当成节点问题。
先分清有没有收到 HTTP 响应
DNS 解析失败、TLS 握手失败和连接超时,可能还没有获得 HTTP 状态码。有状态码时,再按下面的方向检查;状态码说明响应语义,不能单独证明具体故障原因。
| 现象 | 优先核对 |
|---|---|
| 401 | 认证信息是否缺失或不被接受 |
| 403 | 服务是否拒绝当前请求,包括权限或访问策略 |
| 404 | 地址与路径是否正确;也可能是服务隐藏资源状态 |
| 5xx | 服务端或中间网关的错误信息与服务公告 |
不要把 403 直接解释为套餐到期,也不要仅凭 5xx 就认定节点失效。
返回 200,仍要看内容是否正确
HTTP 200 不保证正文是可用的 Clash 配置。响应可能是登录页、错误提示页或与客户端不兼容的订阅格式。若能在本地安全查看响应,检查是否出现 <!doctype html>、<html> 等网页标记。
看到 YAML 字段也不代表配置一定有效:语法、节点类型和客户端内核兼容性仍需核对。不要把完整订阅地址或配置上传到公共校验工具。
示例:200 后紧接着解析失败
假设日志显示 200,接着提示配置解析失败,保存的响应却是登录页面。这时应从服务方账户页面重新取得匹配客户端的订阅入口。换节点无法修复“收到网页而非配置”这一问题。这个例子用于说明排查顺序,不是本站实测记录。
更新成功后再确认激活状态
确认配置已载入、存在预期代理组,并检查当前实际启用的是哪一份配置。新建或切换订阅时尤其要核对,不能把“下载成功”等同于“已切换使用”。接着用一个固定目标测试连接,记录新的错误是否属于另一阶段。
参考资料
MDN HTTP 响应状态码用于核对状态语义;服务方具体如何使用状态码,仍应结合其响应正文与说明判断。