https证书过期不会导致nginx崩溃,但会致使客户端连接被浏览器拦截或tls握手失败;需用openssl验证notafter时间(是否早于2026年7月7日)、核对配置路径与权限、执行nginx -t和nginx -s reload重载,并排查cdn、多节点同步及证书链完整性。

HTTPS 证书过期不会让 Nginx 崩溃,但会直接导致客户端连接被拦截或握手失败。排查核心不是找 Nginx 故障,而是确认它是否正在使用已过期的证书,并验证新证书是否真正生效。
快速确认证书是否真的过期
别依赖浏览器提示,用命令直接查:
- 执行 openssl x509 -in /path/to/fullchain.pem -noout -dates,看 notAfter 时间是否早于当前时间(2026年7月7日)
- 核对 Nginx 配置中 ssl_certificate 和 ssl_certificate_key 指向的路径是否正确,文件是否存在:ls -l /etc/nginx/ssl/
- 检查证书文件权限:Nginx 主进程(通常是 root)需能读取,证书文件建议为 644,属主可为 root:root
验证 Nginx 是否加载了新证书
覆盖证书文件后,Nginx 不会自动读取——必须重载配置,且要确认重载成功:
- 先测试语法:sudo nginx -t,避免因路径错误或格式问题导致重载失败
- 再执行重载:sudo nginx -s reload(不是 restart,更安全)
- 验证实际加载的证书:curl -vI https://yoursite.com 2>&1 | grep "subject:" 或访问 SSL Labs 测试页,查看证书有效期和颁发者
检查高可用与代理链中的干扰因素
单节点正常不代表全链路可用:
- 如果是多节点 Nginx 集群,确认所有节点证书已同步更新,不能只在一台上操作
- 前端如有 CDN、WAF 或负载均衡器,它们可能缓存旧证书;需登录对应平台刷新 SSL 配置或强制重新部署
- 若 Nginx 是反向代理 WSS(WebSocket over TLS),还需检查 proxy_ssl_verify 是否意外开启——这会校验后端证书,但真正影响用户的是 Nginx 自身对外的证书
移动端与特殊客户端连不上?重点查证书链和协议兼容性
部分 Android/iOS 设备对证书链更敏感,容易因细节失效:
- 确保 ssl_certificate 指向的是 fullchain.pem(含服务器证书 + 中间 CA),而非仅 cert.pem
- 检查是否包含 ssl_trusted_certificate 和 ssl_ciphers;禁用 TLSv1.0/1.1











