开机场后证书错误怎么办?系统时间、HTTPS 解密与旧系统根证书逐项排查

作者 机场通编辑部发布于 更新于 约 9 分钟
目录
  1. 证书错误是怎么产生的
  2. 症状与原因速查表
  3. 排查阶梯一:系统时间
  4. 排查阶梯二:MITM 与 HTTPS 解密
  5. 排查阶梯三:旧系统的根证书
  6. 排查阶梯四:域名被污染或分流走错
  7. 排查阶梯五:安全软件、网络环境与节点证书
  8. 客户端特定提示
  9. 什么时候该换机场
  10. 常见问题
结论速览

开机场后证书错误怎么办?先记住一点:机场只负责转发加密后的流量,并不会替换网站的证书,所以证书报错几乎都出在本机一侧。按出现频率排序,原因依次是:系统时间不准;客户端开启了 MITM / HTTPS 解密,但证书没有安装或没有被系统完全信任;旧系统的根证书库过期;某个域名拿到了被污染的地址或走错了分流,导致证书与域名不匹配。另外安全软件的 HTTPS 扫描、酒店和公司网络的拦截页面也会触发同样的提示。只有当客户端日志明确提示节点证书有问题、某一类节点全部连不上时,才是机场侧的问题。

证书错误是怎么产生的

浏览器打开一个 HTTPS 网站时,会在握手阶段检查服务器出示的证书,核心是三件事:这张证书是否由系统或浏览器信任的根证书签发;当前时间是否在证书有效期内;证书上写的域名和你访问的域名是否一致。任何一项不通过,浏览器就会拦下来,提示「您的连接不是私密连接」或类似文字。

使用机场时,浏览器和网站之间的加密是端到端的,节点只看到加密后的数据,没有能力也不会去换证书。所以当开了机场才出现证书错误时,需要问的是:开机场这个动作改变了本机的什么?可能是客户端开启了解密功能,可能是流量走了不同的路径拿到了不同的地址,也可能只是巧合——系统时间早就不准,只是你开机场时才注意到。浏览器给出的错误代码能帮你快速定位:

常见报错代码含义优先怀疑
NET::ERR_CERT_DATE_INVALID证书不在有效期内系统时间不准
NET::ERR_CERT_AUTHORITY_INVALID / SEC_ERROR_UNKNOWN_ISSUER签发者不受信任HTTPS 解密证书未信任、旧系统根证书缺失、安全软件扫描
NET::ERR_CERT_COMMON_NAME_INVALID证书域名不匹配DNS 污染、分流走成直连、拦截页面
ERR_SSL_PROTOCOL_ERROR握手过程失败连接被中断,更接近节点或网络问题

症状与原因速查表

症状最可能的原因解决方向
几乎所有 HTTPS 网站都报错,提示过期系统时间不准开启自动同步时间
只有部分网站报不受信任,关掉客户端就好HTTPS 解密名单里的域名,证书未信任信任证书或关闭解密
某些 App 开代理后完全连不上,网页正常应用做了证书固定,又在解密名单里把它从解密名单移除
老设备上大量网站报不受信任根证书库过旧更新系统或换浏览器
个别网站提示域名不匹配被污染的地址或分流错误确认走代理与 DNS 设置
连酒店、机场 Wi-Fi 后全部报错网络要求先登录认证页面关代理完成认证后再开
某类节点全部连不上,日志提示证书错误节点服务端证书问题提交工单,不要跳过验证

排查阶梯一:系统时间

怎么确认

看一眼电脑或手机右上角的时间和日期,和标准时间对比。偏差几分钟一般不影响证书,但偏差几天、几个月甚至年份不对,就会让大量证书被判定为「尚未生效」或「已过期」。台式机主板电池没电、双系统切换导致时区错乱、手动改过时间测试软件,都是常见来源。还有一个附带症状:部分代理协议在认证时会校验客户端与服务端的时间差,VMess 就是典型,时间偏差稍大就会导致这类节点全部连接失败,协议差异见机场协议科普。

怎么解决

在系统设置里打开「自动设置时间」和「自动设置时区」,Windows 上可以手动点一次立即同步。如果开代理状态下时间同步失败,先暂时关闭代理同步一次;使用 fake-ip 模式时,时间同步相关域名应该在 fake-ip 过滤列表里,订阅默认配置一般已经包含。时间改正后重启浏览器再试,证书类报错通常会立刻消失。

排查阶梯二:MITM 与 HTTPS 解密

怎么确认

Shadowrocket、Quantumult X、Surge、Loon、Stash 这类 iOS 规则客户端都有 HTTPS 解密(也就是 MITM)功能,用来让去广告、重写、脚本类规则对 HTTPS 生效。它的原理是客户端自己生成一张根证书,对解密名单里的域名现场签发证书,冒充网站与浏览器握手。这张根证书如果没有被系统信任,名单里的每个域名都会报「签发者不受信任」。判断方法:报错只出现在部分网站,关掉客户端或关掉 HTTPS 解密后立即恢复;或者在浏览器里查看证书详情,签发者显示的是客户端生成的证书名称,而不是常见的证书机构。

还有一种情况是证书已经信任,但某些 App 依然连不上。这是因为银行、支付、部分社交与系统服务类应用使用了证书固定,只认自己预置的证书,任何中间人证书都会被拒绝。它们在网页端可能正常,App 内却一直提示网络错误。

怎么解决

  1. 先问自己是否真的需要 HTTPS 解密。只用机场上网、看视频、用 AI,完全不需要它,直接关闭是最干净的做法;
  2. 确实需要时,在客户端里生成证书并安装,iOS 上安装描述文件后,还要到「通用 → 关于本机 → 证书信任设置」里对这张证书启用完全信任,两步缺一不可;
  3. 解密名单只保留你的规则真正需要的域名,不要使用通配所有域名的写法;
  4. 银行、支付、证券、系统更新与应用商店相关域名一律不要放进解密名单。

Shadowrocket 的具体位置与操作见Shadowrocket 客户端介绍,Loon 的同类功能见Loon 介绍。

排查阶梯三:旧系统的根证书

怎么确认

如果是一台多年没有更新的旧电脑或旧手机,开代理后大量网站提示签发者不受信任,而同一个节点在新设备上完全正常,就要怀疑根证书库太旧。网站证书的信任链最终要追溯到一张根证书,根证书也会过期、也会被新根证书替换。例如 2021 年一张被广泛使用的旧根证书到期后,长期不更新、系统版本较老的设备访问依赖新根证书的网站就会报错。这类设备在国内访问时可能恰好碰到的是另一条证书链,开了代理访问境外网站才集中暴露问题,于是看起来像是「开机场导致的」。

怎么解决

  • 优先更新系统并装上全部安全更新,根证书库通常随系统更新一起刷新;
  • 系统无法再更新时,可以使用自带独立根证书库的浏览器作为过渡,它不依赖系统的根证书;
  • 不要为了消除报错去网上下载来路不明的「根证书补丁包」手动导入,这等于给陌生人发放了冒充任何网站的能力;
  • 旧设备往往也跑不动新版客户端,长期来看换一台还在获得安全更新的设备更省心。

排查阶梯四:域名被污染或分流走错

怎么确认

报错是「证书域名不匹配」,而且只集中在个别网站。打开客户端的连接页面,访问出错的网站,看这个域名走的是代理还是直连。如果走了直连,或者在本地做了解析,它很可能拿到了被污染的地址,连到一台不相干的服务器,对方出示的证书当然对不上。浏览器开启了自己的安全 DNS、绕过了客户端的 fake-ip 时,也会出现分流走错的情况。

怎么解决

把这个域名加入代理规则,确保它的解析交给代理一侧处理;增强模式使用 fake-ip,并检查 IP 规则是否加了 no-resolve。DNS 相关的完整排查见DNS 泄漏排查。如果所有网站都打不开、而不只是证书报错,那是连接层面的问题,见连接失败排查。

排查阶梯五:安全软件、网络环境与节点证书

安全软件与公司网络

部分杀毒和安全软件带有「HTTPS 扫描」或「加密连接检查」功能,原理和 MITM 一样,会在系统里装入自己的根证书。它与代理客户端叠加时,个别浏览器或应用可能不认这张证书,出现签发者不受信任的提示。确认方法是暂时关闭该功能再测;如果确实冲突,关闭这项扫描即可。公司网络如果部署了流量审计,同样会替换证书,这是单位的网络策略,应遵守单位规定,不要尝试绕过。

酒店、机场等认证 Wi-Fi

需要网页认证的公共 Wi-Fi 在你登录之前会把所有请求劫持到认证页面,任何 HTTPS 网站都会提示证书不匹配。此时先关闭代理客户端,打开一个普通网页完成认证,再重新开启代理。

节点自身的证书

使用 TLS 的节点在连接时,客户端也会校验节点服务端的证书。如果客户端日志里出现证书过期、证书不受信任一类的错误,并且同一类节点全部连不上,就是机场节点的证书出了问题。部分订阅会默认开启「跳过证书验证」,这会降低连接的安全性,不建议你为了临时连上而自己打开它。正确做法是提交工单,工单怎么写更高效见工单与客服;所有节点同时超时的情况见所有节点超时。

客户端特定提示

Clash Verge Rev

Clash Verge Rev 这类 Clash 系桌面客户端一般不做 HTTPS 解密,所以桌面端出现证书错误时,重点查系统时间、安全软件和 DNS 设置。日志页面可以看到节点握手失败的具体原因,区分「网站证书问题」和「节点证书问题」就靠它:网站证书问题只在浏览器里报,节点证书问题会在日志里报,且表现为节点连不上。

Shadowrocket

Shadowrocket 的 HTTPS 解密在配置文件的编辑页面里,生成证书、安装、完全信任三步缺一不可。导出或分享配置文件时要格外小心,配置里可能包含证书相关信息,泄露后别人可以用它在你的设备上冒充网站。不需要解密时,直接把这个功能关掉,比维护一份解密名单更省心。

Clash Meta 内核通用

Android 上的 Clash Meta 与 sing-box 类客户端同样不做网站证书替换,证书报错重点看时间与 DNS。Android 7 以后,应用默认不信任用户自行安装的证书,所以在 Android 上即使装了某个 MITM 证书,多数 App 也不会认,这也是为什么解密类功能主要出现在 iOS 客户端上。

什么时候该换机场

情况建议
改对时间、关闭解密后正常与机场无关,不用换
旧设备根证书问题更新系统或换设备,换机场无效
个别域名不匹配,补规则后正常与机场无关
节点证书偶尔过期,工单及时处理运维正常,可以继续用
节点证书反复过期、工单长期不回运维不到位,建议换
订阅强制要求你安装某个证书才能使用存在安全风险,建议换

正规机场的使用流程里不需要你安装任何根证书。如果某个服务要求你装证书或开启 HTTPS 解密才能上网,这本身就是一个危险信号,相关风险判断见机场安全与隐私。

避坑:处理证书报错时不要做的事

1)不要在浏览器的警告页面上习惯性点「继续访问」,尤其是登录和支付页面,先找到原因。2)不要安装来源不明的根证书或「证书补丁」,根证书一旦被信任,签发者就能冒充任何网站。3)不要为了连上节点而自己开启「跳过证书验证」。4)不要把银行、支付、证券类域名放进 HTTPS 解密名单。5)不要随意分享包含解密证书的客户端配置文件。

不想折腾证书,我们推荐

星岛梦、光速云:两家都是 2020 年起运营的品牌,品牌资料显示支持 Clash、Shadowrocket 等第三方客户端订阅导入,正常使用不需要安装任何证书或开启 HTTPS 解密。星岛梦走企业级内网专线,入门为年付折算 ¥8/月 60GB;光速云走 IEPL / 企业级内网专线 + VLESS,另有自研客户端,入门为年付折算 ¥7.5/月 59GB。

查看 星岛梦 套餐 查看 光速云 套餐

常见问题

为什么一开机场,浏览器就提示「您的连接不是私密连接」?

机场本身只转发加密流量,不会替换网站证书,所以这个提示通常来自本机:系统时间不准、客户端开启了 HTTPS 解密但证书没被信任、系统根证书太旧,或者某个域名拿到了被污染的地址。先看报错代码,再按代码对应的原因排查。

系统时间不对为什么会导致证书错误?

证书都有生效时间和过期时间,浏览器用本机时间去判断证书是否在有效期内。本机时间偏差过大,正常的证书会被判定为「尚未生效」或「已过期」。另外部分代理协议(如 VMess)对时间差也很敏感,时间不准还会导致节点全部连不上。

Shadowrocket 的 HTTPS 解密要不要开?

如果你没有用到需要解密才能生效的重写或脚本,就不用开。开启后必须安装并在系统里完全信任它生成的证书,否则解密名单里的网站都会报错;带证书固定的应用(如银行、支付类)即使信任了证书也会连不上。

为什么 iOS 安装了证书还是报错?

iOS 上安装描述文件只是第一步,还需要到「关于本机」里的证书信任设置中,对这张证书启用完全信任。两步缺一步,系统都不会信任它签发的证书。

老电脑、老手机开机场后很多网站证书报错,怎么办?

这多半是系统根证书库太旧。部分网站使用的证书链依赖较新的根证书,长期不更新的旧系统里没有这张根证书,就会提示不受信任。优先更新系统;无法更新时,可以改用自带根证书库的浏览器作为过渡。

只有个别网站证书提示域名不匹配,是机场的问题吗?

多半是这个域名拿到了被污染的地址,或者被分流成了直连。被污染的地址指向别的服务器,返回的证书自然与域名不符。确认这个域名走了代理、DNS 交给代理一侧解析后,问题一般会消失。

客户端日志里提示节点证书过期,我该怎么办?

这是机场节点服务端的证书问题,与你的浏览器无关,通常表现为某一类节点全部连不上。不要自己打开「跳过证书验证」来绕过,应该提交工单让机场处理;如果这类问题反复出现,说明机场运维不到位。