温馨提示×

怎样测试debian的nginxssl

小樊
40
2026-10-05 15:28:21
栏目: 云计算

在 Debian 上“测试 Nginx 的 SSL”通常分几种情况,下面我按最常见、最实用的方式给你一个完整流程,你可以按需取用。


一、先确认 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)。


三、配置 Nginx SSL(测试站点)

编辑或新建配置:

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

四、本地测试 SSL 是否生效

1️⃣ curl 测试(忽略证书)

curl -k https://localhost

2️⃣ 查看证书信息

openssl s_client -connect localhost:443

3️⃣ 浏览器测试

  • 访问:https://服务器IP
  • 会提示“不安全”(自签名正常现象)

五、测试 SSL 安全性(推荐)

本地测试加密套件

nmap --script ssl-enum-ciphers -p 443 localhost

在线测试(公网服务器)

  • https://www.ssllabs.com/ssltest/

六、常见测试问题排查

✅ 无法访问 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;
}

七、如果你指的是“真实证书测试”

  • Let’s Encrypt:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com

如果你能说明:

  • 是 本地测试 还是 公网服务器
  • 用 自签名 还是 正式证书
  • 是测 连通性 / 安全性 / 性能

我可以直接给你针对性命令。

0 踩