温馨提示×

debian nginx怎么启用ssl

小樊
47
2026-10-12 08:48:21
栏目: 云计算

在 Debian 上给 Nginx 启用 SSL(通常现在用 Let’s Encrypt 免费证书,也支持自签或商业证书),常见步骤如下:


一、安装 Nginx(如果还没装)

sudo apt update
sudo apt install nginx

二、获取 SSL 证书

方式 1:使用 Let’s Encrypt(推荐)

1. 安装 certbot

sudo apt install certbot python3-certbot-nginx

2. 自动申请并配置 SSL

sudo certbot --nginx -d example.com -d www.example.com

替换 example.com 为你的域名
certbot 会自动修改 Nginx 配置并启用 HTTPS

3. 测试自动续期

sudo certbot renew --dry-run

方式 2:使用自签名证书(测试用)

sudo openssl req -x509 -nodes -days 365 \
  -newkey rsa:2048 \
  -keyout /etc/ssl/private/nginx-selfsigned.key \
  -out /etc/ssl/certs/nginx-selfsigned.crt

三、手动配置 Nginx SSL(如未用 certbot 自动配置)

编辑站点配置:

sudo nano /etc/nginx/sites-available/example.com

示例配置(Let’s Encrypt):

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name example.com www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    root /var/www/html;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

如果是自签名:

ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;

四、启用站点并测试

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

五、防火墙(如有)

sudo ufw allow 'Nginx Full'

六、验证

浏览器访问:

https://example.com

如果你愿意,可以告诉我:

  • 用的是 域名还是 IP
  • 是否 生产环境
  • 是否已有 证书文件

我可以给你更精确的配置。

0 踩