网站SSL证书下载后如何安装到Nginx?
在申请并下载SSL证书后,需要将其正确部署到Nginx服务器以启用HTTPS协议。如果配置错误,可能导致证书无法识别、浏览器报“不安全”或握手失败。
解决方案对比
操作建议
- 典型场景:
- 安装证书后网站仍显示HTTP
- 浏览器提示“证书不受信任”或“证书过期”
- 多域名或泛域名证书配置错误
- 常见证书格式分类:
格式 | 是否适用于Nginx |
---|---|
.crt + .key | ✅ 是 |
.pem + .key | ✅ 是 |
.p7b / .pfx | ❌ 否(需转换) |
解决方案对比
方法 | 操作说明 | 是否推荐 |
---|---|---|
整理证书文件 | 包括公钥证书、私钥、中间证书 | ✅ 必须步骤 |
编辑Nginx配置文件 | 添加ssl_certificate和ssl_certificate_key路径 | ✅ 推荐 |
重启Nginx服务 | 使配置生效 | ✅ 推荐 |
使用在线工具检测证书链 | 如SSL Labs、SSL Checker | ✅ 推荐 |
配置强制HTTPS跳转 | 使用301跳转规则 | ✅ SEO友好 |
操作建议
- 将下载的证书文件上传至服务器指定目录(如
/etc/nginx/ssl/example.com/
)。 - 编辑Nginx虚拟主机配置文件(如
/etc/nginx/conf.d/example.com.conf
):nginxserver { listen 443 ssl; server_name www.example.com; ssl_certificate /etc/nginx/ssl/example.com/fullchain.crt; ssl_certificate_key /etc/nginx/ssl/example.com/privkey.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; location / { root /usr/share/nginx/html; index index.html; } } # 强制HTTP跳转HTTPS server { listen 80; server_name www.example.com; return 301 https://$host$request_uri; }
- 执行
nginx -t
检查配置文件语法。 - 执行
systemctl reload nginx
重启Nginx服务。 - 使用浏览器或 SSL Labs 检查证书有效性与安全性等级。
- 如使用泛域名证书,请确保包含所有子域名。
⚠️ 温馨提示:务必备份原Nginx配置,防止配置错误导致服务不可用。
更新时间:2025-06-03 16:25:12