结果页信息不少,但判断顺序很固定:有效期、域名匹配、证书链,最后才看握手性能。

第一看:剩余有效期

这是最容易出人命的一项。

剩余 90 天以上,安心。剩 30–90 天,记个提醒。少于 30 天,就该安排续期了。少于 7 天,属于高危,随时可能挂。

证书过期不会「慢慢变差」,它是在某一刻突然失效,所有 HTTPS 访问立刻被浏览器拦截。所以这项不能等出问题才看。

第二看:域名匹配

核对证书里的 SAN 列表,看有没有你正在访问的这个域名。

不匹配的后果很直接:浏览器弹红色警告,用户点「继续访问」的比例很低,等于流量直接损失。

常见的坑是通配符。*.bt.cn 只覆盖一级子域,a.b.bt.cn 不在范围内,很多人以为通配符是万能匹配。

第三看:证书链完整性

服务器应该把「站点证书 + 中间证书」一起发过来,客户端再往上找到根证书。

只发了站点证书,就叫链不完整。这时候桌面浏览器可能靠自己的缓存补上,看起来没事;但 Android 老版本、Java 客户端、curl、部分小程序会直接校验失败。

这类问题最坑,因为「我这边好好的」。看到「链不完整」的提示,去 Nginx 配置里把中间证书拼到 ssl_certificate 指向的文件里就行。

第四看:TLS 版本与套件

正常应该是 TLS 1.2 和 1.3。只支持 1.0/1.1 的站点,新版浏览器会拒绝连接;只开 1.3 的站点,老客户端连不上。

加密套件同理,太弱会被判定为不安全,太新可能兼容性差。默认配置一般就够,除非你手动改过。

最后看握手耗时

各地握手时间通常在 0.1–0.5 秒之间。超过 1 秒说明链路或服务端处理偏慢,可能和证书链太长、OCSP 查询超时有关。

这一项不影响安全,只影响首屏速度,优先级排在前面三项之后。