温馨提示×

Nginx在Debian上的SSL证书配置教程

小樊
52
2025-08-31 04:50:08
栏目: 云计算

以下是在Debian上配置Nginx SSL证书的详细步骤(以Let’s Encrypt免费证书为例):

1. 安装Nginx和Certbot

sudo apt update  
sudo apt install nginx certbot python3-certbot-nginx  # 安装Nginx和Certbot工具  

2. 获取SSL证书

sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com  # 替换为你的域名  

Certbot会自动完成验证并配置Nginx,证书文件默认存放在/etc/letsencrypt/live/yourdomain.com/目录。

3. 配置Nginx(可选手动调整)

若需手动修改配置,编辑站点配置文件(通常位于/etc/nginx/sites-available/yourdomain.com):

server {  
    listen 80;  
    server_name yourdomain.com www.yourdomain.com;  
    return 301 https://$host$request_uri;  # 强制HTTP跳转HTTPS  
}  

server {  
    listen 443 ssl;  
    server_name yourdomain.com www.yourdomain.com;  
    ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;  
    ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;  
    include /etc/letsencrypt/options-ssl-nginx.conf;  # 包含默认安全配置  
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;    # 可选:增强安全性  
    # 其他配置(如根目录、索引文件等)  
}  
  • 关键参数说明
    • ssl_certificate:证书文件路径(Certbot自动生成)。
    • ssl_certificate_key:私钥文件路径(Certbot自动生成)。
    • include:引入Let’s Encrypt的默认SSL配置(推荐保留)。

4. 测试并重启Nginx

sudo nginx -t  # 测试配置语法是否正确  
sudo systemctl restart nginx  # 重启生效  

5. 设置证书自动续期

Certbot默认会创建定时任务自动续期,可手动测试:

sudo certbot renew --dry-run  # 若输出“Congratulations”则配置成功  

6. 验证SSL配置

  • 通过浏览器访问https://yourdomain.com,查看证书是否生效。
  • 使用命令行工具检查:
    curl -I https://yourdomain.com  # 应返回HTTP 200状态码  
    

注意事项

  • 若使用防火墙(如UFW),需允许HTTPS流量:
    sudo ufw allow 'Nginx Full'  
    
  • 证书有效期为90天,需依赖Certbot自动续期,无需手动操作。

以上步骤参考自,可根据实际需求调整配置。

0