温馨提示×

debian nginx怎样启用ssl

小樊
46
2026-10-06 12:19:38
栏目: 云计算

在 Debian 上用 nginx 启用 SSL(HTTPS),一般步骤如下(以免费证书 Let’s Encrypt 为例,也适用于自有证书)。


一、安装 nginx(如未安装)

sudo apt update
sudo apt install nginx

二、准备 SSL 证书

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

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com

证书会自动配置到 nginx。

证书路径示例:

  • 证书:/etc/letsencrypt/live/example.com/fullchain.pem
  • 私钥:/etc/letsencrypt/live/example.com/privkey.pem

方式 2:使用自有证书

将证书放到:

/etc/ssl/certs/example.com.crt
/etc/ssl/private/example.com.key

(私钥权限建议 600)


三、配置 nginx 启用 SSL

编辑站点配置:

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

示例配置(SSL)

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;
    }
}

# HTTP 重定向到 HTTPS
server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

四、启用站点并测试

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'

六、自动续期(Let’s Encrypt)

sudo certbot renew --dry-run

系统通常会自动定时续期。


如果你愿意,我可以:

  • 帮你写 纯 IP / 局域网 SSL
  • 配置 反向代理 + SSL
  • 或给你一个 最小可用配置模板

0 踩