SSL证书链不完整导致手机端访问异常的排查方法

2026-07-211 阅读
SSL证书部署
SSL证书链不完整导致手机端访问异常的排查方法

客服接到反馈:网站在电脑上打开好好的,用手机一访问就弹"证书不受信任"。技术人员第一反应是手机系统太老?换个新手机试试,还是一样。这种情况,十有八九是SSL证书部署时证书链没配全。

为什么手机比电脑更容易报错

桌面浏览器(Chrome、Edge、Firefox)会缓存中间证书,即使服务器没发完整链,浏览器也能自己补上。但手机端的WebView和原生浏览器策略更保守,服务器发什么就用什么,缺了中间证书就直接判定不可信。这就是为什么同一个域名,电脑正常、手机报错。

用在线工具检测证书链

打开 SSL Labs 的 SSL Server Test(ssllabs.com/ssltest),输入域名跑一次检测。关注报告里"Certification Paths"这一栏,如果显示"Chain issues: Incomplete",说明中间证书确实没装。另一个更快的方法:在终端执行 openssl s_client -connect 你的域名:443 -showcerts,看返回的证书数量。正常应该返回服务器证书加至少一张中间证书,只返回一张就是缺了。

Nginx和Apache怎么补全

Nginx的修复最简单:把服务器证书和中间证书按顺序拼接成一个文件。先放服务器证书,紧接着放中间证书,保存为 fullchain.pem,然后在配置里指定:

ssl_certificate /path/to/fullchain.pem;

Apache的处理略有不同,用两条指令分开指定:

SSLCertificateFile /path/to/server.crt
SSLCertificateChainFile /path/to/intermediate.crt

改完配置重启服务,再用手机访问验证。如果用的是CDN或WAF,记得在CDN控制台同步上传完整证书链,否则源站配对了、CDN节点还在用旧配置,问题依旧。