报错文案没读全,我直接换了证书

用户发来截图,只看到「不安全」三个字。我以为是证书过期,直接重新申请了一张,部署完还是报错。

后来点开详情,写的是「证书域名不匹配」。换证书解决不了配置问题。截图里其实有完整信息,只是我没点开。

先读错误类型

浏览器或客户端一般会说明是哪类问题,只是被折叠了。

域名不匹配、证书已过期或尚未生效、签发者不受信任、协议或加密套件不支持,这四类占了绝大多数。不同浏览器的措辞不一样,但大类是一致的。报错发生在握手的哪个阶段,也能提供线索。

先分类,再动手。顺序反了,容易白折腾。

SSL 检测:证书有效期、证书链与 TLS 信息

SSL 检测:证书有效期、证书链与 TLS 信息

名称:看 SAN

名称不匹配,先去查证书覆盖了哪些域名。

用户访问的是 www 还是裸域,证书里有没有写。访问的是子域名,而证书只覆盖主域,也会报错。

这种情况要么补 SAN,要么给那个域名单独配证书。泛域名证书能覆盖子域,但很多免费证书不带泛域名。

日期:看两端

过期最好判断,看剩余时间就行。

但「尚未生效」常被忽略:服务器时间不准,签出来的有效期起点在未来,客户端就会拒绝。

跨时区看时间也容易误判,统一按同一个时区核对。自动续期成功后没重载服务,也会继续用旧证书,这一点很常见。

链与信任

不受信任,可能是缺中间证书,也可能是自签证书。

桌面浏览器有时会自动补链,移动端不会,所以同一张证书在不同设备上表现不同。

用宝塔拨测的 SSL 检测看链的层级和完整性,比自己拼快得多。自签证书适合内网,公网用户一定会看到警告。

协议、节点和复测

协议不支持,通常是服务端只开了老版本,或者客户端太旧。老客户端连不上新协议,是兼容性取舍,不是配置错误。

这类问题只在部分用户身上出现,容易被当成个别现象。

多地区多运营商节点各测一遍,确认是所有节点都失败,还是只有某些链路。所有节点都失败,才是配置;局部失败,先查那条链路。同名不同证书,是多节点排查时常见的情况,证书序列号能确认部署的到底是哪一张。

改完用同一批节点复测,重点核对四项:名称覆盖、有效期、链完整性、协商版本。多端再验证一次:桌面、手机、命令行各试。别用一台机器代表全部用户。

把复测结果和报错时的截图放一起,确认是同一个问题被解决了,而不是换了一个错误。留一份改动前后的对照。出错不可怕,怕的是不知道错在哪一层。