你提到的“Debian + Nginx + SSL 错”比较笼统,我先按最常见的几类 SSL 错误给你一个排查和解决清单。你可以对照看是哪一种。
报错示例
SSL_CTX_use_certificate_chain_file("...") failed
cannot load certificate
解决方法
ls -l /etc/nginx/ssl/xxx.crt
ls -l /etc/nginx/ssl/xxx.key
ssl_certificate /etc/nginx/ssl/xxx.crt;
ssl_certificate_key /etc/nginx/ssl/xxx.key;
chmod 600 /etc/nginx/ssl/xxx.key
chown root:root /etc/nginx/ssl/xxx.key
报错
SSL_CTX_use_PrivateKey_file failed
检查是否匹配
openssl x509 -noout -modulus -in xxx.crt | openssl md5
openssl rsa -noout -modulus -in xxx.key | openssl md5
两个 md5 必须一致。
修改配置后一定执行:
nginx -t
再重启:
systemctl restart nginx
错误示例:
listen 443;
应改为:
listen 443 ssl;
解决
ssl_certificate /etc/nginx/ssl/fullchain.crt;
如果是 Let’s Encrypt:
certbot --nginx
确认 443 已开放:
ufw allow 443
# 或
iptables -L
推荐配置:
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
nginx -t 通过如果你愿意,可以把具体报错信息(nginx error.log 或 nginx -t 输出)贴出来,我可以直接帮你定位是哪一类问题。