Plainnotes

证书链不完整,浏览器却看起来正常

2026-10-29 · 4 分钟网络

用 curl 访问自己的站报 unable to get local issuer certificate,浏览器打开却是绿的。这种情况多半是服务端只发了叶子证书,没带中间证书。

浏览器有缓存,也会去 AIA 里抓中间证书,所以能补全;命令行客户端、Java、部分 IoT 设备不会,直接失败。

检查:

openssl s_client -connect example.com:443 -servername example.com -showcerts </dev/null | grep -E '^ *[0-9] s:'

只看到一张证书就是链不全。nginx 里 ssl_certificate 要指向 fullchain.pem 而不是 cert.pem——这两个文件名字很像,配错了平时看不出问题,换个客户端就原形毕露。