以下是Nginx SSL 证书更换与 HTTPS 服务更新详细步骤,适用于手动替换证书或结合 Let's Encrypt 自动续签的情况:
1. 准备工作
1.1 获取新证书
•从证书颁发机构(CA)获取新证书文件(如 .crt 或 .pem 文件)和私钥文件(.key 文件)。
•确保证书与域名匹配,并包含完整的证书链(如 fullchain.crt 和 private.key)。
1.2 备份旧证书
•备份证书和私钥:
Bash |
•备份 Nginx 配置文件(如 /etc/nginx/nginx.conf 或站点配置文件):
Bash |
2. 替换证书
2.1 上传新证书
•将新证书和私钥上传到服务器的安全目录(如 /etc/nginx/ssl/)。
•示例:
Bash |
2.2 修改 Nginx 配置
•编辑 Nginx 配置文件(如 /etc/nginx/sites-available/default 或 /etc/nginx/conf.d/your_site.conf)。
•更新证书路径(确保 ssl_certificate 和 ssl_certificate_key 指向新证书):
Nginx |
2.3 检查配置文件语法
•测试 Nginx 配置是否正确:
Bash |
如果提示 syntax is ok 且 test is successful,则配置无误。
3. 重启 Nginx 服务
•平滑重启 Nginx(避免服务中断):
Bash |
•如果失败,尝试完全重启:
Bash |
4. 验证新证书
4.1 浏览器验证
•访问 https://your_domain.com,检查浏览器地址栏是否显示安全锁标志,且无证书错误。
4.2 命令行验证
•使用 openssl 检查证书有效期:
Bash |
•使用在线工具(如 SSL Labs)测试证书配置。
5. 自动续签(推荐,适用于 Let's Encrypt)
如果使用 Certbot(Let's Encrypt)管理证书:
5.1 获取并配置证书
Bash |
按提示选择域名并启用自动重定向(HTTP 到 HTTPS)。
5.2 测试自动续签
Bash |
确保续签脚本无错误。
5.3 设置定时任务
•编辑定时任务:
Bash |
•添加以下任务(每月 1 日凌晨 1 点续签):
Bash |
6. 注意事项
(1)权限设置:
○确保证书和私钥文件权限正确:
Bash |
(2)证书链完整性:
○如果证书文件缺少中间证书,需将 CA 提供的中间证书合并到主证书文件中:
Bash |
(3)回滚准备:
○若新证书导致问题,立即恢复备份的旧证书和配置,并重启 Nginx:
Bash |
7. 常见问题排查
•证书未生效:检查 Nginx 配置中证书路径是否正确,或尝试强制刷新浏览器缓存。
•权限错误:确保私钥文件权限为 600,且 Nginx 进程有权限读取证书文件。
•配置冲突:运行 nginx -t 检查语法,或查看日志文件 /var/log/nginx/error.log。
通过以上步骤,可以完成 Nginx 的 SSL 证书更换。

优网科技秉承"专业团队、品质服务" 的经营理念,诚信务实的服务了近万家客户,成为众多世界500强、集团和上市公司的长期合作伙伴!
优网科技成立于2001年,擅长网站建设、网站与各类业务系统深度整合,致力于提供完善的企业互联网解决方案。优网科技提供PC端网站建设(品牌展示型、官方门户型、营销商务型、电子商务型、信息门户型、微信小程序定制开发、移动端应用(手机站、APP开发)、微信定制开发(微信官网、微信商城、企业微信)等一系列互联网应用服务。