在 Debian 上“测试 Nginx 的 SSL”通常分几种情况,下面我按最常见、最实用的方式给你一个完整流程,你可以按需取用。
nginx -V 2>&1 | grep -o with-http_ssl_module
有输出说明已编译 SSL 模块(Debian 官方包一般都有)。
sudo apt update
sudo apt install openssl
sudo mkdir -p /etc/nginx/ssl
sudo openssl req -x509 -nodes -days 365 \
-newkey rsa:2048 \
-keyout /etc/nginx/ssl/nginx.key \
-out /etc/nginx/ssl/nginx.crt
按提示填信息即可(Common Name 可填 localhost)。
编辑或新建配置:
sudo nano /etc/nginx/sites-available/ssl-test
示例:
server {
listen 443 ssl;
server_name localhost;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
root /var/www/html;
index index.html;
}
启用:
sudo ln -s /etc/nginx/sites-available/ssl-test /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
curl -k https://localhost
openssl s_client -connect localhost:443
https://服务器IPnmap --script ssl-enum-ciphers -p 443 localhost
✅ 无法访问 443
sudo ufw allow 443
✅ Nginx 启动失败
sudo nginx -t
journalctl -u nginx
✅ 想测 HTTP 跳转 HTTPS
server {
listen 80;
server_name localhost;
return 301 https://$host$request_uri;
}
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com
如果你能说明:
我可以直接给你针对性命令。