网络问题
TLS / 证书报错:先查系统时间,再查 SNI 和杀毒软件
客户端日志出现 TLS handshake 失败、证书错误或浏览器提示 SSL 错误?从系统时间、节点 SNI 与证书配置、安全软件 HTTPS 扫描、网络中间设备几个方面讲清原因和处理方法。
简短回答
TLS 握手错误最常见的原因是系统时间不准、杀毒或安全软件拦截并扫描 HTTPS 流量,以及节点的 SNI 或证书配置与服务器不一致。先同步系统时间并为客户端添加安全软件例外,再更新订阅获取最新节点配置。
快速步骤 · 5 步
- 01同步系统时间
开启自动对时,Windows 可用管理员终端执行 w32tm /resync。
- 02检查安全软件
关闭安全软件的 HTTPS 扫描功能,或为代理客户端添加例外。
- 03更新订阅
更新订阅获取最新的节点地址、SNI 和证书配置。
- 04换网络测试
用手机热点测试,排除企业网络或中间设备的干扰。
- 05联系机场确认
以上均正常仍报错时,向机场确认节点证书是否过期。
TLS 握手是什么,为什么会失败
TLS 是 HTTPS 和 Trojan、VLESS 等协议使用的加密层。客户端连接节点时,双方要先完成“握手”:核对证书、协商加密方式。握手失败常见于四种情况:系统时间偏差导致证书被判定为无效;安全软件拦截并重新签发证书(相当于中间人);节点的 SNI、证书或端口配置与服务器不一致;所在网络有企业代理或中间设备干扰。前两种在本机即可解决,后两种通常需要更新订阅或联系机场。
先看这里:30 秒自查清单
- 系统时间和时区是否准确?
- 是否安装了带 HTTPS 扫描或网页防护功能的安全软件?
- 更新订阅后是否仍报错?
- 换手机热点后是否恢复?
常见报错对照表
| 现象 / 日志关键词 | 可能原因 | 处理方法 |
|---|---|---|
handshake timeout、握手超时 | 网络干扰、节点不可达 | 换节点或换网络测试 |
certificate、x509 相关报错 | 时间不准、证书过期、被中间人 | 同步时间,检查安全软件 |
| 浏览器全部 HTTPS 报证书错误 | 系统时间或安全软件 | 校准时间,关闭 HTTPS 扫描 |
first record does not look like a TLS handshake | 节点端口与协议不匹配 | 更新订阅,联系机场 |
| 仅某个机场的节点报错 | SNI 或证书配置变更 | 更新订阅获取新配置 |
分原因处理
1. 同步系统时间
证书有生效和过期时间,系统时间偏差过大会导致校验失败;VMess 还要求时间误差在 90 秒以内。
w32tm /resync
上面的命令需在管理员终端执行,若提示服务未启动,先启动 Windows Time 服务。macOS 在“系统设置 → 通用 → 日期与时间”中开启自动设置。
2. 安全软件的 HTTPS 扫描
部分杀毒软件和安全套件提供“HTTPS 扫描”“加密连接扫描”“网页防护”之类的功能,会在本机解密并重新签发证书。这会干扰代理客户端的 TLS 连接,也会让订阅更新出现证书错误。在安全软件中关闭该功能,或为代理客户端和内核程序添加例外。抓包调试工具也有类似影响,用完记得关闭。
3. SNI 与证书配置
SNI 是握手时告诉服务器要访问哪个域名的字段。节点更换域名或证书后,本地旧配置的 SNI 对不上,就会握手失败。先更新订阅;手动添加的节点,核对 SNI、端口和传输方式与机场提供的信息一致。
注意
“跳过证书验证”(allowInsecure、skip-cert-verify 一类选项)会关闭证书校验,连接可能被中间人劫持。不要为了“能连上”而随意开启。
4. 网络中间设备
公司、学校网络可能部署了解密 HTTPS 的代理设备。换手机热点后恢复,基本可以确认是网络环境问题。
修复后如何验证
先确认浏览器访问 HTTPS 网站不再报证书错误,再执行 curl -x http://127.0.0.1:7890 -I https://www.google.com(端口以客户端设置为准),能返回状态行即说明代理链路已正常。节点仍不通,继续看节点连接不上怎么办;所有节点都失败,参考节点全部超时怎么办。
什么时候该联系机场
时间正确、已排除安全软件、订阅已更新且换网络后同一批节点仍报证书错误,多半是节点证书过期或服务器配置变更,可以把日志中的报错原文发给机场客服确认。订阅更新本身报证书错误时,也可参考订阅更新失败怎么办。
常见问题
Q可以直接开启跳过证书验证来解决 TLS 错误吗?
不建议作为常规做法。跳过证书验证会让客户端无法识别中间人,降低连接安全性。只有在机场明确说明节点使用自签证书时才考虑开启,平时应先排查时间和安全软件。
Q为什么只有 Trojan 和 VLESS 节点报 TLS 错误?
这些协议依赖 TLS 加密,对证书、SNI 和时间更敏感。Shadowsocks 等不使用 TLS 的协议不会出现这类报错。
Q浏览器所有 HTTPS 网站都提示证书错误怎么办?
先检查系统时间,再检查是否安装了会解密 HTTPS 的安全软件或抓包工具,以及所在网络是否有企业代理。