插件窝 干货文章 Windows环境下Nginx服务器SSL证书怎么安装部署

Windows环境下Nginx服务器SSL证书怎么安装部署

证书 yourdomain SSL 文件 355    来源:    2025-04-25

Windows环境下Nginx服务器SSL证书安装部署指南

准备工作

  1. 已获取SSL证书文件(通常包括:.crt.pem证书文件和.key私钥文件)
  2. 已安装Nginx for Windows
  3. 确保443端口未被占用

安装步骤

1. 放置证书文件

将获取的SSL证书文件(如yourdomain.crtyourdomain.pem)和私钥文件(yourdomain.key)复制到Nginx的conf目录下,建议创建一个ssl子目录存放:

nginx-1.xx.x/
└── conf/
    └── ssl/
        ├── yourdomain.crt
        └── yourdomain.key

2. 配置Nginx

编辑nginx.conf文件(位于conf目录下),在需要启用SSL的server块中添加或修改配置:

server {
    listen 443 ssl;
    server_name yourdomain.com www.yourdomain.com;

    ssl_certificate ssl/yourdomain.crt;
    ssl_certificate_key ssl/yourdomain.key;

    # 优化SSL配置
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout 5m;

    # 推荐的安全协议和加密套件
    ssl_protocols TLSv1.2 TLSv1.3;
    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;

    # 其他配置...
    location / {
        root html;
        index index.html index.htm;
    }
}

3. 可选:HTTP重定向到HTTPS

添加以下server块将所有HTTP请求重定向到HTTPS:

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

4. 验证配置并重启Nginx

  1. 验证配置文件语法:

    nginx -t
    

    如果显示"configuration file test is successful"则表示配置正确

  2. 重启Nginx服务:

    nginx -s reload
    

常见问题解决

1. 证书链不完整

如果浏览器显示"证书不受信任",可能需要配置中间证书。将中间证书内容追加到你的证书文件中:

-----BEGIN CERTIFICATE-----
(你的主证书内容)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(中间证书内容)
-----END CERTIFICATE-----

2. 权限问题

确保Nginx进程有权限读取证书文件。在Windows上,确保IIS或Nginx服务账户有文件读取权限。

3. 端口冲突

如果443端口被占用,可以使用netstat -ano查找占用进程并处理。

4. 防火墙设置

确保Windows防火墙允许443端口的入站连接。

验证SSL安装

  1. 使用浏览器访问https://yourdomain.com,检查是否有安全锁标志
  2. 使用SSL检测工具如SSL Labs测试配置安全性

注意事项

  1. 定期更新证书(通常证书有效期为90天-1年)
  2. 备份私钥文件(.key),丢失后将无法恢复
  3. 生产环境建议使用TLS 1.2/1.3,禁用旧版协议

如需更高级的安全配置,可以考虑添加HSTS头、OCSP装订等安全特性。