温馨提示×

nginxssl如何用于debian站点

小樊
41
2026-09-26 21:12:41
栏目: 云计算

在 Debian 上给站点配置 Nginx + SSL(通常是 Let’s Encrypt 免费证书或自建证书),一般步骤如下:


一、前提条件

  • 已安装 Debian(如 11/12)
  • 已安装 Nginx
  • 有域名并解析到服务器 IP
  • 服务器 80 / 443 端口可访问

二、安装 Nginx(如未安装)

sudo apt update
sudo apt install nginx -y

三、使用 Let’s Encrypt 免费 SSL(推荐)

1. 安装 Certbot

sudo apt install certbot python3-certbot-nginx -y

2. 申请并自动配置 SSL

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

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

3. 验证自动续期

sudo certbot renew --dry-run

四、手动配置 Nginx SSL(使用已有证书)

1. 准备证书

假设你有:

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

2. 创建站点配置

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

示例配置:

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/ssl/example.com/fullchain.pem;
    ssl_certificate_key /etc/ssl/example.com/privkey.pem;

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

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

3. 启用站点

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'

六、常见问题

  • 证书不生效:检查域名解析和 80 端口
  • 混合内容:页面资源也要用 https
  • Debian 12:默认使用 nginx + ufw 或 nftables

如果你愿意,我可以:

  • 给你 完整示例配置文件
  • 帮你配置 多个站点 SSL
  • 教你 Docker + Nginx SSL
  • 或针对 内网 / 自签名证书 场景说明

直接告诉我你的使用场景即可。

0 踩