证书警告随 VPN 而变化:对比两条路径
通过 VPN 消失的证书警告证明路径变了,而不是路由器被入侵。对比名称、颁发者和错误。
在办公室 Wi-Fi 上出现证书警告,一连接 VPN 就消失。这是真实的观察,但不是诊断。你只知道两种网络条件产生了不同的验证结果,而可能的原因有一长串。请把它当作受控对比,而不是路由器已被入侵的证据。
同样的警告也可能反过来出现:本地网络里正常,经过隧道就出错。无论哪个方向,你得到的都是两个数据点,而不是解释。
每次只保留一个变量
使用同一主机名、同一浏览器配置文件,以及你已核对过的设备时钟。记录每种条件下的确切错误文本和时间。VPN 开启和 VPN 关闭只是两种条件的标签,它们并不解释差异。
每次只改一件事。如果在同一次尝试里换掉 DNS 服务器、浏览器和网络,你只能知道那组里有什么东西有影响,这几乎等于什么都没学到。
在笔记里保留一张小表:条件、解析器、目标地址、错误和证书指纹。这张表的五行通常胜过一小时的猜测。
先读错误类别,再看证书
名称不匹配、颁发者不受信任和证书过期是不同的发现。 Chrome 关于连接错误的说明 会把它们区分开,错误页面上的确切代码会告诉你属于哪一种。这个代码决定接下来对比什么。
如果错误是名称不匹配,所出示的证书并不涵盖你请求的主机名。如果是颁发者不受信任,证书链没有通向浏览器信任的根。如果是过期,日期就是错的,这也可能意味着设备时钟不准。
不要绕过警告,也不要为了让页面加载就安装陌生的根证书。那会把一项发现变成隐藏的改动。
对比叶子证书、证书链和上下文
出现不同的证书时,先确认每张是否属于预期的服务。经批准的续期或不同的服务端点可以解释合法的变更。意外的名称或颁发者是去询问服务所有者的理由,而不是定论。仅凭指纹无法告诉你看到的是哪种情况。
当两种条件下出现同一张叶子证书时,不要止步于指纹相同,而要对比所提供的证书链和验证上下文。错误可能涉及中间证书或信任设置,而非叶子证书本身。把确切的错误与对比记录放在一起。
VPN 可能改变解析器路径、所选目标、代理路径,或基于来源的服务如何响应。通过隧道加载的页面并不能说明这些变量中哪一个起了作用。切换到公共解析器并看到页面加载,并不是对站点身份的独立确认。
写一份所有者可以据以行动的报告
有用的报告包含预期主机名、两次尝试的时间、确切的错误,以及证书的公开信息:主体、颁发者、有效期、指纹和证书链。如果报告要离开经批准的受众,请隐去内部名称。
在所有者给出经过核实的更正后,保持正常验证完整,重复最初的请求。然后把结果写下来,结束这次对比。
如果证据仍然只表明一条路径成功、另一条失败,就照实这样说。有限而准确的发现,比大面积重置路由器、更改信任存储或添加安全例外更有用——后者消除了症状,却掩盖了原因。