如何在 Nginx 服务器上正确安装、配置和部署 SSL 证书以实现安全的 HTTPS 连接?

在 Nginx 服务器上安装、配置并部署 SSL 证书以实现安全的 HTTPS 连接需要按照以下步骤进行:

  1. 获取 SSL 证书

    • 自己生成:如果你有证书颁发机构 (CA) 的权限,可以使用 OpenSSL 工具生成自签名证书。
    • 购买或免费证书:从知名的 CA 或 Let’s Encrypt 网站申请证书。Let’s Encrypt 提供的是免费的 SSL/TLS 证书。
  2. 下载并备份证书文件

    • 保存私钥(server.key)和公钥 CSR(server.csr),或 CA 发送给你的 .pem 和 .cer 格式的证书文件。
  3. 安装证书到 Nginx

    • 将公钥 CSR 发送给 CA 或将收到的.crt 文件放到 Nginx 的 conf.d 目录下的 ssl_certificate 配置中。
  4. 编辑 Nginx 配置文件

    • 使用文本编辑器打开 /etc/nginx/nginx.conf 或对应的虚拟主机配置文件(vhost),如 sites-available/your_domain.com.conf
    • 在 server 指令下添加以下内容(替换 your_domain.comfullchain.pem 和 privkey.pem 为你实际的域名和证书路径):
      Nginx
       
      server {
          listen 443 ssl;
          server_name your_domain.com;
      
          ssl_certificate /path/to/fullchain.pem;
          ssl_certificate_key /path/to/privkey.pem;
          ssl_protocols TLSv1.2 TLSv1.3;
          ssl_ciphers HIGH:!aNULL:!MD5;
          # 更多配置选项...
      }
  5. 测试配置

    • 重启 Nginx (sudo systemctl restart nginx 或 sudo service nginx reload),然后尝试访问 HTTPS 地址验证是否正常工作。
  6. 配置强制HTTPS

    • 添加 return 301 https://$host$request_uri; 到 http 域下的 server 中,促使所有 HTTP 访问转向 HTTPS。
  7. 检查SSL证书的有效性

    • 可以使用在线工具如 Qualys SSL Labs 或 SSL Checker 来确认证书的完整性和安全性。