服务器只发了站点证书、没带中间证书,浏览器会自动补齐,Java 和 curl 会直接报证书链不完整。
判断方法是跑 openssl s_client,加 -showcerts 打印服务器返回的整条链,看中间证书在不在。
修复是把站点证书和中间证书按「站点在前、中间在后」拼接配上去,顺序颠倒同样失败。
openssl s_client -connect example.com:443 -servername example.com -showcerts </dev/null
# 拼接顺序:站点证书 -> 中间证书
cat site.crt intermediate.crt > fullchain.pem
THE END






暂无评论内容