debian

如何排查Debian Nginx SSL错误

小樊
39
2025-09-09 15:17:45
栏目: 云计算

排查Debian Nginx SSL错误可按以下步骤进行:

  1. 检查SSL模块是否启用:运行nginx -V,确认输出中包含--with-http_ssl_module,未启用则需重新编译Nginx。
  2. 验证证书配置
    • 检查配置文件中ssl_certificatessl_certificate_key路径是否正确,文件是否存在且权限正确(私钥权限应为600,Nginx用户可读)。
    • openssl x509 -in /path/to/cert.crt -noout -dates确认证书有效期,确保证书链完整(合并中间证书为fullchain.crt)。
  3. 检查配置文件语法:运行sudo nginx -t,确保无语法错误。
  4. 排查端口与防火墙
    • netstat -tuln | grep 443确认443端口未被占用。
    • 确保防火墙(如UFW)允许HTTPS流量:sudo ufw allow 443/tcp
  5. 查看服务状态与日志
    • sudo systemctl status nginx检查服务是否运行,未启动则执行sudo systemctl start nginx
    • 查看错误日志/var/log/nginx/error.log,定位具体错误(如证书加载失败、协议不匹配等)。
  6. 测试SSL连接
    • 命令行使用openssl s_client -connect example.com:443查看握手状态。
    • 浏览器访问https://example.com,确认安全锁标志或错误提示。
  7. 其他高级检查
    • 确保系统时间正确(SSL依赖时间验证)。
    • 若启用SELinux,调整策略允许Nginx访问证书目录:sudo semanage fcontext -a -t httpd_sys_content_t "/etc/nginx/ssl(/.*)?",然后执行sudo restorecon -Rv /etc/nginx/ssl

参考来源:

0
看了该问题的人还看了