温馨提示×

debian nginxssl怎样加密

小樊
36
2026-09-14 20:01:41
栏目: 云计算

在 Debian 上使用 Nginx + SSL 实现加密访问,通常做法是使用 HTTPS(TLS/SSL)。下面给你一套最常用、最安全、最省事的做法(基于 Let’s Encrypt 免费证书)。


一、准备工作

1. 系统要求

  • Debian 10 / 11 / 12
  • 已安装 Nginx
  • 域名已解析到服务器 IP

2. 安装必要软件

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

二、使用 Let’s Encrypt 自动配置 SSL(推荐)

1. 申请并自动配置证书

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

替换 example.com 为你的域名

Certbot 会:

  • 自动申请证书
  • 修改 Nginx 配置
  • 开启 HTTPS
  • 设置 80 → 443 跳转

2. 验证自动续签

sudo certbot renew --dry-run

Let’s Encrypt 证书 90 天有效,Debian 会自动定时续签。


三、手动 Nginx SSL 配置(如果你有证书)

如果你已有 .crt.key 文件:

1. 放置证书

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

2. Nginx 配置示例

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate     /etc/ssl/certs/example.com.crt;
    ssl_certificate_key /etc/ssl/private/example.com.key;

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

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

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

3. 测试并重载

sudo nginx -t
sudo systemctl reload nginx

四、增强 SSL 安全性(推荐)

1. 开启 HSTS

add_header Strict-Transport-Security "max-age=31536000" always;

2. 使用现代加密

ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;

五、常见问题

❓ 访问还是 http?

  • 清除浏览器缓存
  • 检查 80 是否重定向到 443

❓ 证书不信任?

  • 使用 Let’s Encrypt 最稳妥
  • 自签证书会提示不安全

六、总结(推荐方案)

Debian + Nginx + Certbot + Let’s Encrypt
✅ 自动 HTTPS
✅ 免费、安全、可自动续期

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

  • 你是 新站还是已有站
  • 是否 内网 / 公网
  • 是否 自签证书

我可以给你更精确的配置

0