在 Debian 上“验证 Nginx 的 SSL”通常包含几个层面:证书是否正确、Nginx 是否启用 SSL、端口是否监听、外部能否正常访问、配置是否安全。下面按步骤说明。
nginx -V 2>&1 | grep -o with-http_ssl_module
有输出说明支持 SSL(Debian 官方包默认支持)。
查看站点配置,例如:
sudo nano /etc/nginx/sites-enabled/default
关键内容应包含:
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/certs/example.com.crt;
ssl_certificate_key /etc/ssl/private/example.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
}
然后测试配置:
sudo nginx -t
显示 test is successful 表示配置语法正确。
sudo ss -tulnp | grep :443
或
sudo netstat -tulnp | grep :443
应看到 nginx 监听 0.0.0.0:443 或 :443。
openssl s_client -connect localhost:443 -servername example.com
重点看:
Verify return code: 0 (ok)访问:
https://example.com
看是否:
curl -I https://example.com
或详细:
curl -v https://example.com
可检查:
| 问题 | 可能原因 |
|---|---|
| 502 / 无法访问 | 防火墙未放行 443 |
| 证书不受信任 | 自签 / 中间证书缺失 |
| 仍走 http | 未配置 301 跳转 |
| nginx 启动失败 | 证书路径或权限错误 |
防火墙示例:
sudo ufw allow 443/tcp
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
如果你愿意,可以告诉我:
我可以帮你精确排查。