← 返回 acaisbest.shop 本地视觉备份 首页

Clash 报错 x509 怎么办?按订阅、节点和网站定位修复

更新于 2026-10-19 · acaisbest.shop

简答:Clash 报错 x509 不一定是客户端坏了,先看错误发生在订阅更新、节点 TLS 握手,还是访问某个网站。最快顺序是校准系统时间,再核对 server、servername/SNI 与证书域名,最后检查是否误开了 MITM 或长期使用 skip-cert-verify。

定义:x509 是 TLS 连接进行证书链、有效期和主机名校验时使用的证书验证机制,Clash 日志中的 x509 报错表示这一步没有通过。

先看这一张:Clash x509 错误对照表

本站是第三方使用指南站,不是 Clash、Mihomo 或任何相关客户端的官方站点。本文核对日期为 2026-10-19;不同图形客户端的菜单名称可能略有差异,配置字段以实际内核文档为准。

日志关键词或现象优先判断先做什么
certificate signed by unknown authority证书签发者不在系统或内核信任链中确认订阅或节点域名是否正确,检查系统证书环境;不要直接下载陌生根证书
certificate has expired 或 certificate is not yet valid证书已过期,或本机时间早于证书生效时间先同步日期、时间和时区,再用其他节点或网络复现
certificate is valid for ... not ...访问主机名与证书中的域名不匹配核对 server、servername、SNI 和端口,不要把 IP 地址随意替换成域名
只有订阅更新失败订阅地址的 HTTPS 证书或网络路径异常先在浏览器或命令行单独打开订阅地址,注意隐藏 token、UUID 和密码
只有一个节点失败该节点的 TLS 参数、证书或服务端状态异常切换同一订阅中的其他节点,比较日志是否仍出现相同错误
只有某个网站报错目标网站证书、代理解密或该网站规则可能相关关闭 MITM/HTTPS 解密后复测,并用直连与其他节点分别对比

Go 的证书验证文档将未知签发者、证书有效期和主机名校验分别作为证书验证的一部分;TLS 中的 ServerName 同时用于主机名验证和握手时的 SNI,因此这几类日志不能用同一个“重装客户端”步骤处理。可参考 Go crypto/x509 文档 与 Go crypto/tls 文档。

最短排查顺序:先排除时间,再定位是哪条连接

  1. 复制完整错误行。在 Clash 兼容客户端的“日志”“Logs”或“运行日志”页面中,复制从连接目标到 x509 的完整错误。分享前删除订阅 token、UUID、密码、私钥、完整内网地址和个人域名,只保留错误类型、主机名片段、端口和时间。
  2. 判断故障层级。如果日志出现在“更新订阅”动作后,优先检查订阅地址;如果出现在选择某个节点后,优先检查节点的 TLS 参数;如果节点已连接但打开某个网站时报错,优先检查目标网站证书、MITM 和规则。
  3. 校准系统时间。Windows 进入“设置 → 时间和语言 → 日期和时间”,打开“自动设置时间”和正确的时区;微软官方说明也将这一路径作为 Windows 10 和 Windows 11 的日期、时间及时区设置入口,见 Microsoft 官方时间设置说明。macOS 进入“系统设置 → 通用 → 日期与时间”,打开“自动设置日期与时间”和“使用当前位置自动设置时区”,可参考 Apple 官方说明。Android 通常进入“设置 → 系统 → 日期和时间”,打开“自动设置日期和时间”和“自动设置时区”;不同厂商菜单可能不同,Google 的入口说明见 Android 官方帮助。
  4. 切换网络和节点做对照。先不改配置,使用另一个网络,例如手机热点,再切换同一订阅中的另一个节点。如果只有一个节点失败,问题更集中在该节点的证书、SNI、端口或服务端配置;如果所有节点都失败,继续检查订阅地址、系统时间、系统证书和客户端内核。

按错误原文处理证书、SNI 与 servername

1. certificate signed by unknown authority

这表示客户端无法把服务端证书链连接到受信任的根证书。先确认访问的是正确的域名,而不是被替换的 IP、临时地址或陌生下载页面;然后检查系统日期和客户端版本,最后让订阅或节点提供方核对证书链是否完整。普通代理转发通常不要求用户安装所谓“Clash 根证书”。除非你明确知道自己开启了 HTTPS 解密并理解信任范围,否则不要从陌生页面下载并安装根证书。

如果是企业网络中的 HTTPS 检查,浏览器可能已经信任组织根证书,而客户端内核未必使用同一套信任来源。此时可以在不携带敏感凭据的前提下,用另一网络复测,并向网络管理员确认证书检查策略;不要把陌生根证书当作通用修复方案。

2. certificate has expired 或 certificate is not yet valid

先修正本机日期、时间和时区,再完全退出客户端并重新启动后复测。如果只有某一节点仍报错,而其他节点正常,记录该节点名称和错误时间,交给节点提供方核对服务端证书;本文无法核实任何具体节点的证书状态。

3. certificate is valid for ... not ...

这是主机名不匹配。检查配置中的 server 是连接地址,servername 或 sni 是 TLS 握手使用的名称;它们必须与服务端实际证书和协议要求相符。Mihomo 文档说明,name-cert-verify 只改变证书 DNSName 校验目标,并不会改变 SNI;因此不能把它当作随意修复域名不匹配的开关。相关字段可查阅 Mihomo TLS 配置文档。

如果订阅由客户端自动生成配置,不要直接猜测字段值。可以先导出或查看该节点的配置,核对 server、端口、tls、servername、传输方式以及 WebSocket 或 gRPC 的相关主机名;修改前保留原配置,避免把单个节点问题扩大成整份配置无法加载。

Mihomo 兼容客户端里的安全设置:不要把 skip-cert-verify 当长期修复

Mihomo 文档将 skip-cert-verify 定义为绕过证书验证,并注明它只适用于使用 TLS 的协议。也就是说,打开它可能让某个连接暂时通过,但同时跳过了证书链和主机名验证,不能证明证书问题已经解决。字段说明见 Mihomo 官方 TLS 配置文档。

  1. 在客户端打开节点详情、配置编辑器或原始 YAML,搜索 skip-cert-verify、servername、server 和 sni。
  2. 如果发现不明来源的 skip-cert-verify: true,先记录原值,再临时改回 false 或删除该覆盖项,保存并重新加载配置。
  3. 如果改回后出现 x509,说明原问题仍在证书链、有效期或名称匹配,继续按日志定位;不要用持续关闭验证替代修复。
  4. 如果只是为了判断“是否确实卡在证书验证”,可以在可信测试环境中短暂对照,但测试完成后立即恢复验证。生产连接不建议长期保留该选项。

如果启用了 MITM、HTTPS 解密或类似流量检查功能,先在客户端设置中关闭后复测。普通节点连接与 HTTPS 解密是不同场景:前者验证远端节点证书,后者还可能涉及本机安装的解密根证书和应用信任范围,不能混为一谈。

Windows、macOS 和 Android 的复测清单

平台复测动作判断结果
Windows同步“日期和时间”;重启客户端;分别用当前网络和手机热点测试;在客户端日志中比较订阅更新与节点连接的错误。热点正常而当前网络失败,优先检查网络侧证书检查、DNS 或代理链;所有网络都失败则回到节点或订阅配置。
macOS在“系统设置 → 通用 → 日期与时间”启用自动时间和时区;关闭不必要的 HTTPS 解密;切换节点后重新加载配置。只有某网站失败时,优先比较关闭解密前后的证书错误;只有单节点失败时,检查该节点的 SNI 和证书名称。
Android在系统日期和时间设置中开启自动时间与自动时区;重新打开客户端;分别测试订阅更新、节点连接和目标网站。如果手机浏览器能打开订阅但客户端更新失败,保留完整日志并核对客户端内核支持的 TLS 参数,不要据此直接安装根证书。

Android、macOS 和 Windows 的系统时间入口以设备当前版本为准;上表只列出官方帮助中可核对的通用设置路径,不代表所有客户端的菜单完全一致。

仍然无法解决时,应该提交什么信息

如果日志显示的是证书错误,不要只提交“连不上”三个字;错误原文决定排查方向。对于服务端证书、订阅域名或具体节点当前状态,本文没有独立核实,相关结论应由对应服务提供方确认。

常见问题

Clash 报错 x509 是不是订阅失效了?

不一定。x509 只说明某条 TLS 连接的证书校验没有通过,可能发生在订阅地址、单个节点或目标网站。先看错误是在“更新订阅”后出现,还是选择节点或打开网站后出现,再按对应路径排查。

Clash 出现 certificate signed by unknown authority,要不要安装根证书?

不要直接安装陌生页面提供的根证书。先校准系统时间,确认域名和网络没有被替换,再切换网络或节点复测。只有在明确开启 HTTPS 解密、并确认根证书来源和信任范围时,才应按照管理方的正式说明处理。

把 skip-cert-verify 打开能解决 Clash x509 吗?

它可能绕过证书验证,让连接暂时建立,但这不是证书链、有效期或域名匹配的真正修复。Mihomo 官方文档将它定义为绕过证书验证,建议只用于短暂诊断,确认问题后恢复证书校验。

为什么浏览器能打开订阅,Clash 更新订阅却报 x509?

浏览器和客户端可能使用不同的网络代理、证书信任来源、TLS 参数或 DNS 路径。请先比较完整错误日志,再检查客户端使用的订阅地址、系统时间、网络环境和内核支持情况,不要仅凭浏览器能打开就判断客户端配置正确。

x509 报错和 TUN 模式有关吗?

可能有关,但不能直接认定。TUN 影响系统流量接管和 DNS、规则路径;证书错误本身仍要回到证书链、有效期、主机名和 MITM 设置。可以先关闭 TUN 或改用系统代理做一次对照测试,若错误消失,再继续检查 TUN 下的 DNS、规则和 HTTPS 解密配置。

参考资料

  1. Mihomo 官方 TLS 配置文档
  2. Go 官方 crypto/x509 文档(pkg.go.dev)
  3. Go 官方 crypto/tls 文档(pkg.go.dev)
  4. Microsoft 官方 Windows 日期、时间和时区设置
  5. Apple 官方 Mac 自动设置日期和时间
  6. Google Android 官方日期和时间设置