证书问题经常表现为“有些设备能打开,有些设备报不安全”。这类差异通常与证书链完整性、SNI、客户端信任库或系统时间有关。
先看服务端实际发送的链
使用 openssl s_client -connect 域名:443 -servername 域名 -showcerts 检查服务端是否发送了正确叶子证书和中间证书。只在服务端安装域名证书、遗漏中间证书,会让部分旧客户端验证失败。
再检查域名覆盖
根域、www、接口和旧域名可能使用不同证书。跳转前先完成 TLS 握手,目标不在证书 SAN 中时,用户可能根本到不了跳转页面。
最后检查环境差异
- 手机系统时间是否准确。
- 企业代理是否替换证书。
- 旧客户端是否支持当前协议和加密套件。
- CDN 与源站是否使用了不同证书。
测试记录应保留命令输出和失败时间。仅提供一张浏览器截图,很难判断问题出在哪一层。