温馨提示×

Nginx SSL证书链在Debian上怎么配置

小樊
41
2026-01-03 22:57:02
栏目: 云计算

在Debian系统上配置Nginx以使用SSL证书链,你需要按照以下步骤操作:

  1. 获取SSL证书

    • 通常你需要从证书颁发机构(CA)获取你的SSL证书文件。这通常包括一个或多个文件,如:
      • 域名证书(例如:yourdomain.crt
      • 中间证书(Intermediate Certificate)(例如:intermediate.crt
      • 根证书(Root Certificate)(例如:rootCA.pem
  2. 合并证书文件

    • 将你的域名证书和中间证书合并到一个文件中。通常,你应该先放置你的域名证书,然后是中间证书。根证书通常不需要放在服务器上,因为大多数浏览器已经内置了常见的根证书。
    cat yourdomain.crt intermediate.crt > combined.crt
    
  3. 配置Nginx

    • 打开Nginx配置文件,通常位于/etc/nginx/sites-available/目录下。你可以创建一个新的配置文件或编辑现有的配置文件。
    sudo nano /etc/nginx/sites-available/yourdomain.com
    
    • server块中,添加或修改以下SSL配置:
    server {
        listen 443 ssl;
        server_name yourdomain.com www.yourdomain.com;
    
        ssl_certificate /etc/ssl/certs/combined.crt; # 合并后的证书文件路径
        ssl_certificate_key /etc/ssl/private/yourdomain.key; # 私钥文件路径
    
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # 启用的TLS协议版本
        ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384'; # 加密套件
        ssl_prefer_server_ciphers on;
        ssl_session_cache shared:SSL:10m;
        ssl_session_timeout 10m;
    
        # 其他配置...
    
        location / {
            # 你的location配置...
        }
    }
    
    • 确保ssl_certificate指向你合并后的证书文件,ssl_certificate_key指向你的私钥文件。
  4. 测试Nginx配置

    • 在重新加载Nginx之前,使用以下命令测试配置文件是否有语法错误:
    sudo nginx -t
    
  5. 重新加载Nginx

    • 如果配置测试成功,重新加载Nginx以应用更改:
    sudo systemctl reload nginx
    
  6. 验证SSL配置

    • 使用SSL检查工具(如SSL Labs的SSL Server Test)来验证你的SSL配置是否正确,以及是否正确安装了证书链。

请确保你的私钥文件保持安全,不要泄露给他人。如果你在配置过程中遇到任何问题,检查Nginx的错误日志通常可以提供解决问题的线索。

0