温馨提示×

Debian装nginxssl需注意什么

小樊
34
2026-09-02 16:00:10
栏目: 云计算

在 Debian 上安装并配置 Nginx + SSL(通常是 HTTPS)时,有几个常见坑和注意事项值得提前了解。下面按「安装 → 证书 → 配置 → 安全 → 排错」给你梳理。


一、安装 Nginx 注意事项

1. 用官方源还是系统源?

  • Debian 自带源可用:
    sudo apt update
    sudo apt install nginx
    
  • 缺点:版本可能偏旧
  • 如需新版本,可用 nginx.org 官方仓库

2. 防火墙别忘了

Debian 常用:

ufw allow 80
ufw allow 443
ufw enable

二、SSL 证书类型选择

✅ 推荐:Let’s Encrypt(免费)

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

注意事项

  • 域名必须 已解析到服务器 IP
  • 80 端口必须临时可访问(验证用)
  • 证书有效期 90 天,自动续期:
    sudo certbot renew --dry-run
    

❌ 不推荐

  • 自签名证书(浏览器会报警)
  • 过期证书未更新

三、Nginx SSL 配置重点

1. 监听 443 并启用 SSL

server {
    listen 443 ssl;
    server_name example.com;

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

2. HTTP 强制跳转 HTTPS

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

四、安全加固(很重要)

1. 禁用旧协议

ssl_protocols TLSv1.2 TLSv1.3;

2. 开启 HSTS(可选但推荐)

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

3. 使用强加密套件

ssl_ciphers HIGH:!aNULL:!MD5;

五、常见错误 & 排错

❌ 443 无法访问

  • 防火墙没开
  • 云服务器安全组没放行 443
  • Nginx 没监听 443

❌ 证书不生效

  • 路径写错(尤其 live 目录)
  • 权限问题(nginx 用户读不到 key)

❌ 混合内容(Mixed Content)

  • 页面里还有 http:// 资源

六、Debian 特有注意点

  • Nginx 默认站点在:
    /etc/nginx/sites-available/
    /etc/nginx/sites-enabled/
    
  • 修改后必须:
    sudo nginx -t
    sudo systemctl reload nginx
    

七、一句话总结

Debian 装 Nginx + SSL,最稳方案是 certbot + nginx 插件,重点是:
✅ 域名解析正确
✅ 80/443 端口畅通
✅ 配置后 nginx -t 再 reload

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

  • Debian 版本(11 / 12)
  • 是否用 Docker
  • 域名是否已备案(国内服务器)

我可以直接给你一套可用配置模板

0