运维排查 SSL/TLS 故障,通常遵循**“从证书本身 → 到握手过程 → 再到网络和系统配置”**的逐层排查思路。下面给你一套比较实用、可落地的排查方法。
先问清楚:
NET::ERR_CERT_...certificate has expiredSSL handshake failedunknown caself signed certificate不同现象,方向完全不同。
openssl x509 -in cert.pem -noout -dates
openssl x509 -in cert.pem -noout -subject -ext subjectAltName
确认:
CN 或 SAN 中www常见问题:只配置了服务器证书,没配中间证书
验证:
openssl s_client -connect domain.com:443
看返回里是否有:
Verify return code: 0 (ok)openssl s_client -connect example.com:443 -servername example.com
重点关注:
Verify return codesubject / issuerSSL-Session 中的协议和 cipheropenssl s_client -connect example.com:443 -tls1_2
openssl s_client -connect example.com:443 -tls1_3
用于判断:
ssl_certificate /path/fullchain.pem;
ssl_certificate_key /path/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
常见坑:
验证匹配:
openssl x509 -noout -modulus -in cert.pem | md5sum
openssl rsa -noout -modulus -in key.pem | md5sum
两个 md5 必须一致。
telnet example.com 443
# 或
nc -vz example.com 443
常见问题:
证书校验依赖时间:
date
cacerts| 现象 | 可能原因 |
|---|---|
| 证书不受信任 | 缺中间证书 / 自签 |
| 过期警告 | 证书到期 |
| 域名不匹配 | SAN 配置错误 |
| 握手失败 | 协议/cipher 不兼容 |
| 偶发失败 | 证书热更新未生效 |
| 内网正常外网异常 | 负载均衡 SSL 配置问题 |
openssl s_client 看返回码如果你愿意,可以把:
发给我,我可以帮你按实际环境一步步定位。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。