温馨提示×

debian nginx怎么ssl

小樊
47
2026-09-06 15:47:57
栏目: 云计算

在 Debian 上给 Nginx 配置 SSL,一般有两种常见方式:


一、使用 Let’s Encrypt 免费证书(推荐)

1. 安装必要工具

sudo apt update
sudo apt install nginx certbot python3-certbot-nginx -y

2. 确保域名解析正确

你的域名(如 example.com)要 A 记录指向服务器 IP。

3. 申请并自动配置 SSL

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

按提示选择:

  • 是否重定向 HTTP → HTTPS(建议选 2)

Certbot 会自动:

  • 申请证书
  • 修改 Nginx 配置
  • 开启 HTTPS

4. 测试自动续期

sudo certbot renew --dry-run

二、使用自签证书(测试用)

1. 生成私钥和证书

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

2. 配置 Nginx

编辑站点配置:

sudo nano /etc/nginx/sites-available/default

示例:

server {
    listen 443 ssl;
    server_name example.com;

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

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

3. 重启 Nginx

sudo nginx -t
sudo systemctl restart nginx

三、基础安全建议(Let’s Encrypt 也适用)

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

四、常见问题

  • 防火墙:确保 80 / 443 端口开放
  • Nginx 未启动:systemctl status nginx
  • 证书失败:检查域名 DNS 和 80 端口可访问

如果你告诉我:

  • Debian 版本
  • 是否已有域名
  • 是否用 Docker

我可以给你更精确的步骤。

0 踩