以下是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 证书更换。

優(yōu)網(wǎng)科技秉承"專業(yè)團(tuán)隊(duì)、品質(zhì)服務(wù)" 的經(jīng)營(yíng)理念,誠(chéng)信務(wù)實(shí)的服務(wù)了近萬家客戶,成為眾多世界500強(qiáng)、集團(tuán)和上市公司的長(zhǎng)期合作伙伴!
優(yōu)網(wǎng)科技成立于2001年,擅長(zhǎng)網(wǎng)站建設(shè)、網(wǎng)站與各類業(yè)務(wù)系統(tǒng)深度整合,致力于提供完善的企業(yè)互聯(lián)網(wǎng)解決方案。優(yōu)網(wǎng)科技提供PC端網(wǎng)站建設(shè)(品牌展示型、官方門戶型、營(yíng)銷商務(wù)型、電子商務(wù)型、信息門戶型、微信小程序定制開發(fā)、移動(dòng)端應(yīng)用(手機(jī)站、APP開發(fā))、微信定制開發(fā)(微信官網(wǎng)、微信商城、企業(yè)微信)等一系列互聯(lián)網(wǎng)應(yīng)用服務(wù)。