报错「platform verifier failed / webpki roots fallback failed」是什么意思
这条报错来自客户端的 TLS 证书校验:先用系统自带的验证器失败,退回到内置根证书列表仍然失败。它几乎不是节点的问题,而是系统时间、根证书库、SNI 或中间证书链出了状况。本文逐条说明成因与排查顺序。
一条具体报错是什么意思、为什么出现、怎么改。
这条报错来自客户端的 TLS 证书校验:先用系统自带的验证器失败,退回到内置根证书列表仍然失败。它几乎不是节点的问题,而是系统时间、根证书库、SNI 或中间证书链出了状况。本文逐条说明成因与排查顺序。
机场页面写着 60 个节点,解码出来却只有 52 个能用。差额通常来自三处:服务器加端口完全相同的重复条目、解析失败的坏行,以及非节点的公告行。本文说明怎么逐项对上账。
解析器只认节点分享链接。报「不认识的协议」时,粘进去的往往是订阅地址、一键导入链接或网页地址——它们长得像链接,作用却完全不同。本文列出几种常被混淆的链接,并说明各自该怎么处理。
Shadowsocks 分享链接历史上有两种写法:整段 Base64 的旧格式,和把服务器地址留在明文的 SIP002 新格式。解析器报「既不是 base64 也不是 userinfo@host:port 结构」时,多半是两种格式被拼在了一起或复制不全。
vmess 链接是 Base64 编码的一段 JSON,所以解析可能在两个不同的阶段失败:Base64 本身解不开,或者解开了但内容不是合法 JSON。两种报错指向的原因完全不同,本文说明各自的成因与排查顺序。
校验器提示「一个键的内容换行了,但没有用正确的续行写法」,多半是长字符串被编辑器自动折行、或者从网页复制时带进了换行。本文说明 YAML 里值换行的三种合法写法,以及它们的区别与选择。
校验器提示「配置最外层应该是 proxies / proxy-groups / rules 这样的键,而不是数组或纯文本」,通常不是配置坏了,而是你粘进来的只是整份配置里的一小段。本文说明 Clash 配置的顶层结构长什么样,以及三种典型的粘错情况。
端口在 YAML 里写成 port:443 是数字,写成带引号的 "443" 就成了字符串。多数客户端能容忍这个差别,但部分版本会解析失败,报出与端口毫无关系的错误。本文说明两者的区别、什么时候真的会坏,以及端口越界时的报错含义。
配置校验器报「节点名重复」时,配置往往还能跑起来,所以容易被忽略。但 Clash 用 name 作为节点的唯一标识,重名意味着引用它的地方只会拿到其中一个,而你无法预期是哪一个。本文说明它的后果与三种常见来源。
MATCH 是 Clash 规则列表的兜底项,决定没有命中任何规则的流量走哪里。不写它不一定报错,但会导致「大部分网站正常、个别网站莫名其妙不走代理」这类难查的问题。本文说明它的作用、白名单与黑名单两种写法,以及规则顺序为什么重要。
Clash 配置提示缩进不一致、mapping items 未对齐,但肉眼看每一行都对得整整齐齐——这种情况几乎都是 Tab 和空格混用。本文说明 YAML 为什么禁止 Tab 缩进、怎么在编辑器里揪出它,以及另外两种视觉上看不出的缩进问题。
Clash 启动失败提示策略组里的某个节点找不到,本质是 proxy-groups 里写的名字和 proxies 里的 name 没有完全一致。本文列出四种容易忽略的不一致来源,以及换订阅后批量失效的处理办法。
Clash 或 mihomo 提示 proxies 不是数组、无法解析节点列表时,问题几乎都出在 YAML 的短横线和缩进上。本文说明这个报错的确切含义、四种常见成因,以及每种情况的正确写法。