行走与记述

电脑时间不准,也会让代理连接失败吗?

会。使用常规 TLS 证书校验的代理连接,可能因为设备时间明显不准而失败。但“证书过期”也可能确实发生在服务端,不能看到这几个字就只改电脑时间。

本文以 Windows 11 上的 Clash 类客户端为例,处理日志明确提示证书“已过期或尚未生效”的情况。其他证书错误不一定适用这条排查路线。

这条错误,究竟在比较什么

日志中可能出现:

x509: certificate has expired or is not yet valid

意思是,用于校验的当前时间,没有落在相关证书的有效期内。它不等于“机场套餐到期”,也不能单凭这一句证明服务商没有续证书。

Go 项目的证书校验实现会比较当前时间与证书的生效、失效时间;没有另外指定校验时间时,使用当前时间。查看证书时间判断的实现

**下面是虚构示例,不是本站故障记录:**一张证书从 2026 年开始有效,电脑却错误地停在 2020 年。即使证书按真实日期仍有效,校验也可能认为它“尚未生效”。反过来,设备时间跳到很久以后,也可能把有效证书判断为过期。

先保存错误,再核对是哪台设备的时间

先记下错误原文、发生时间和节点名称。如果日志还列出“当前时间”和证书有效期,把这些信息一并保留。

再看运行代理的设备:

  • 代理客户端直接运行在电脑上,就先核对这台电脑。
  • 如果报错来自软路由上的代理,电脑只是经它转发,就应检查软路由运行环境的时间,不能只校准电脑后便认为这一项已排除。

日期、年份和小时都要看,不要只看任务栏右下角的分钟。可以对照一台已经确认自动对时正常的设备,先找出明显偏差。

Windows 11 上怎样核对

按 Microsoft 当前的官方说明,进入“开始 → 设置 → 时间和语言 → 日期和时间”:

  1. 查看显示的日期与时间,确认有没有明显错误。
  2. 开启“自动设置时间”,再检查系统校准后的结果。
  3. 核对时区。可以使用自动设置,也可以关闭自动设置时区后,选择实际所在的时区。
  4. 若时间仍不正确,先查看页面显示的同步状态或错误,按 Windows 的帮助继续处理,不把“开关已打开”当成校准成功。

查看 Microsoft 的日期、时间与时区设置步骤

校准目标是真实的当前时间。不要为了让某张过期证书暂时通过,把日期故意调回过去。

日志差八小时,也可能只是显示方式不同

日志可能使用 UTC,也就是协调世界时,时间末尾常见 Z;北京时间通常用 +08:00 表示偏移。

时间表示示例:2026-11-01T01:00:00Z 与 2026-11-01T09:00:00+08:00 是同一个时刻。这是格式说明,不是实测数据。查看 RFC 3339 的时区偏移说明

所以,要先换算到同一时区,再比较日志与电脑显示。不能看到小时数不一样,就直接把系统时间加减八小时。

校准以后,用同一节点重新验证

保持配置、接入方式和目标网页不变,让客户端重新发起连接,再看这一次的新日志。不要继续盯着校准前留下的错误。

这次看到的结果 下一步
时间恢复正确,原错误消失,目标网页能打开 记录这次变化,继续观察时间是否保持正确
时间确认正确,仍提示同样的有效期错误 保存错误中的有效期与节点信息,请服务商检查相关证书
错误变成域名不匹配、签发者不受信任等 按新的错误排查,不能继续只围绕时间调整
电脑时间正确,但日志里的校验时间仍明显不同 记录客户端、内核版本及运行环境,向项目维护者核对

这里给的是排查方向。只有一条节点失败,可以先试已确认可用的备选,同时保留故障记录;一次换节点成功,不能直接证明原节点的具体原因。

不用“跳过验证”代替修复

在 Mihomo 的 TLS 配置中,skip-cert-verify 的作用是跳过证书验证。查看该字段的官方说明

打开它不会校准时间,也不会更新服务端证书。即使错误因此不再显示,也不能据此认为原问题已经解决。遇到不清楚的证书配置,先让提供方说明原因和应当使用的正确设置。

求助时提供系统与客户端版本、校准前后的结果、经过遮挡的错误和节点名称即可。订阅链接、节点密码和完整配置中的凭据不要公开。

资料核对日期:2026 年 11 月 1 日。

评论

搜索文章

正在加载搜索…