在 Debian 下调试 Nginx + SSL(HTTPS) 通常可以按下面步骤系统排查。
sudo systemctl status nginx
或
sudo nginx -t
✅ 如果报错,先解决配置错误(最常见是证书路径写错)。
典型 HTTPS server 配置示例:
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
location / {
root /var/www/html;
index index.html;
}
}
常见错误:
ssl_certificate 和 ssl_certificate_key 路径不对listen 443 ssl;sudo tail -f /var/log/nginx/error.log
常见 SSL 相关错误:
cannot load certificateSSL_CTX_use_PrivateKey_file failedPEM_read_bio_X509 failedDebian 本地:
sudo ufw status
确保 443 开放:
sudo ufw allow 443/tcp
如果是云服务器,还要检查 安全组(443 入站)。
在服务器上:
openssl s_client -connect localhost:443
或指定域名:
openssl s_client -connect example.com:443 -servername example.com
能看到证书信息说明 SSL 已生效。
curl -v https://localhost
curl -v https://example.com
如果:
SSL certificate problem → 证书不被信任(自签或链不完整)Connection refused → 端口没开或 Nginx 没监听 443如果是 Let’s Encrypt:
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
自签证书容易缺中间证书,浏览器会报错。
在 nginx.conf 或 server 块中:
error_log /var/log/nginx/error.log debug;
⚠️ 调试完记得改回 error_log /var/log/nginx/error.log warn;
✅ nginx -t 通过
✅ 443 端口监听
✅ 证书路径正确
✅ 证书链完整
✅ 防火墙放行
✅ error.log 无 SSL 报错
如果你愿意,可以把 nginx 配置 + error.log 报错信息 发出来,我可以直接帮你定位问题。