下载 Nginx 格式证书
证书签发后,在控制台「证书列表」页点击「更多 → 下载」,选择 Nginx 格式。解压得到两个文件:
example.com.pem— 证书文件(含完整证书链)example.com.key— 私钥文件
上传证书到服务器
建议放在 Nginx 配置目录下:
# 创建证书存放目录
sudo mkdir -p /etc/nginx/certs/
# 使用 scp 上传(在本地执行)
scp example.com.pem example.com.key root@your-server:/etc/nginx/certs/
配置 Nginx
编辑 Nginx 配置文件(通常在 /etc/nginx/nginx.conf 或 /etc/nginx/conf.d/ 下):
server {
listen 443 ssl http2;
server_name example.com www.example.com;
ssl_certificate /etc/nginx/certs/example.com.pem;
ssl_certificate_key /etc/nginx/certs/example.com.key;
# 推荐的 SSL 安全配置
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
location / {
root /var/www/html;
index index.html;
}
}
# HTTP 自动跳转 HTTPS
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
测试并重载
# 测试配置是否正确
sudo nginx -t
# 配置正确则重载
sudo nginx -s reload
验证 HTTPS 是否生效
浏览器访问 https://example.com,地址栏出现锁形图标即表示证书部署成功。
也可以使用命令行验证:
curl -I https://example.com
返回 HTTP/2 200 且无证书错误即表示正常。
常见问题
浏览器提示证书不受信任?
通常是证书链不完整。请确认使用的是包含完整证书链的 .pem 文件,而非单独的证书文件。平台下载的 Nginx 格式 .pem 已包含完整链(服务器证书 + 中间 CA 证书)。
nginx -t 报错 "SSL_CTX_use_PrivateKey_file failed"?
私钥文件路径错误或文件权限不足。检查:
ssl_certificate_key路径是否正确- 文件权限:
sudo chmod 600 /etc/nginx/certs/example.com.key
部署后 HTTP 无法自动跳转 HTTPS?
确认 80 端口的 server 块配置了 return 301 https://$host$request_uri;,且防火墙/安全组放行了 80 和 443 端口。
证书到期后如何更新?
续签成功后重新下载新证书,替换服务器上的 .pem 和 .key 文件,然后执行 sudo nginx -s reload。
配置部署客户端后,续签成功可自动替换证书并重载 Nginx,无需手动操作。