在 Debian 上验证 Nginx 的 SSL 是否生效,可以从本地配置检查、端口监听、证书信息、外部访问几个层面来做。下面按常用且实用的方法说明。
nginx -t
✅ 输出 syntax is ok 和 test is successful 说明配置无误。
cat /etc/nginx/sites-enabled/default
或你的站点配置文件中应包含类似内容:
listen 443 ssl;
ssl_certificate /etc/ssl/certs/xxx.crt;
ssl_certificate_key /etc/ssl/private/xxx.key;
ss -lntp | grep nginx
或
netstat -lntp | grep nginx
应看到:
LISTEN 0 128 0.0.0.0:443
echo | openssl s_client -connect localhost:443 2>/dev/null | openssl x509 -noout -dates -subject
输出示例:
notBefore=...
notAfter=...
subject= /CN=example.com
✅ 能看到证书信息说明 SSL 已生效。
curl -I https://localhost --insecure
返回应包含:
HTTP/2 200
curl -I https://你的域名
可检查:
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
测试:
curl -I http://你的域名
应返回 301 到 https
ufw allow 443
ls -l /etc/ssl/certs/xxx.crt
ls -l /etc/ssl/private/xxx.key
systemctl reload nginx
如果你愿意,可以把:
发出来,我可以帮你精确判断 SSL 是否真正生效。