ubuntu

nginx在ubuntu上ssl握手失败怎么解决

小樊
51
2025-08-05 23:28:12
栏目: 云计算

  1. 检查证书配置

    • 确保证书路径正确,配置中ssl_certificate指向服务器证书,ssl_certificate_key指向私钥,ssl_trusted_certificate(若有)包含完整证书链。
    • 使用openssl x509 -in /path/to/cert.crt -noout -dates检查证书有效期。
  2. 验证协议与加密套件

    • 在Nginx配置中指定支持的TLS版本(如ssl_protocols TLSv1.2 TLSv1.3)和密码套件(如ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256),避免使用不安全的旧协议。
  3. 排查中间设备干扰

    • 临时关闭防火墙或代理,测试直接连接是否正常。
    • 确保负载均衡器等中间设备透传TLS流量,而非重新加密。
  4. 更新软件版本

    • 升级Nginx和OpenSSL到最新稳定版,修复兼容性问题。
  5. 启用详细日志

    • 在Nginx配置中添加error_log /var/log/nginx/error.log debug;,通过日志定位握手失败的具体原因(如协议不匹配、证书错误等)。
  6. 其他基础检查

    • 确保Nginx支持SSL模块(通过nginx -V查看)。
    • 检查系统时间是否同步,避免因时间错误导致证书验证失败。

参考来源

0
看了该问题的人还看了