ubuntu

如何在Ubuntu上排查Nginx SSL错误

小樊
38
2025-12-30 16:20:20
栏目: 云计算

Ubuntu 上排查 Nginx SSL 错误的实用流程

一 快速定位与通用检查

二 常见错误与修复对照表

症状 可能原因 快速验证 修复建议
nginx: [emerg] unknown directive "ssl" Nginx 未编译进 SSL 模块 或装了不带 SSL 的版本 `nginx -V 2>&1 grep – ‘–with-http_ssl_module’` 无输出
SSL_CTX_use_certificate:ee key too small RSA 密钥 < 2048 位 或系统加密策略过严 `openssl rsa -in server.key -text -noout grep “Private-Key”update-crypto-policies --show`
unable to load certificate ... PEM lib / Expecting: TRUSTED CERTIFICATE 证书非 PEM、文件损坏、路径错误 cat server.crt 看是否以 BEGIN CERTIFICATE 开头;ls -l 看路径与权限 转换为 PEM(DER→PEM、PFX→PEM);修正路径;确保 Nginx 可读
SSL_CTX_use_PrivateKey_file ... key values mismatch 证书与私钥不匹配 对比上面 MD5(modulus) 重新匹配证书与私钥或重新签发
替换证书后仍显示旧证书 reload、浏览器/CDN 缓存、配置命中错误 server 块、中间证书缺失 curl -vkI https://域名sudo nginx -s reload;检查 server_name 与证书链 执行 reload;清缓存或绕过 CDN 测试;合并中间证书;修正 server_name 与证书路径
SSL handshake failure(如 error code 5 域名不匹配、证书过期、TLS 版本/套件 不兼容、时间错误、中间设备拦截 openssl s_client -connect 域名:443 -servername 域名 看握手与协议;检查系统时间 统一 TLS1.2+ 与合规套件;修正域名/续期证书;校准时间;排查防火墙/代理/WAF

三 深入验证与网络排查

四 Let’s Encrypt 与自动化

五 Docker 场景的要点

0
看了该问题的人还看了