https域名续费后需手动或自动部署新证书,nginx不支持续期仅支持替换;自2026年3月15日起证书最长有效期199天,须至少半年更新两次;应确保新证书路径匹配、私钥权限600、使用fullchain.pem保证信任链完整;通过nginx -t验证语法后systemctl reload nginx热重载;务必用浏览器、openssl或ssl labs验证生效;推荐certbot自动续签,每12小时检测,到期前30天自动更新。

HTTPS 域名续费后,证书本身不会自动延续——必须手动或自动部署一张新证书。Nginx 不支持“续期”旧证书,只接受替换。尤其要注意:自 2026 年 3 月 15 日起,所有新签发证书最长有效期仅 199 天,意味着一年至少要更新两次,不能拖延。
确认新证书文件与旧路径匹配
多数续费场景(如阿里云、腾讯云、安信证书等)下载的是标准 Nginx 包,含 .pem(证书) 和 .key(私钥) 两个文件。若原配置中路径为 /etc/nginx/ssl/example.com.pem 和 /etc/nginx/ssl/example.com.key,新证书应直接覆盖同名文件,或修改配置指向新文件名——推荐后者,避免误删。
- 查看当前配置中证书路径:
grep ssl_certificate /etc/nginx/conf.d/*.conf - 检查私钥权限是否为
600:ls -l /etc/nginx/ssl/*.key,若不是,执行chmod 600 /etc/nginx/ssl/*.key - 若新证书含完整链(如 Let’s Encrypt 的
fullchain.pem),应使用它替代单证书文件,确保浏览器信任链完整
安全替换证书并重载 Nginx
不重启服务、不停机的关键是平滑重载。操作前务必备份,且确保新证书已正确放置。
- 备份旧证书:
cp /etc/nginx/ssl/example.com.pem /etc/nginx/ssl/example.com.pem.bak和cp /etc/nginx/ssl/example.com.key /etc/nginx/ssl/example.com.key.bak - 上传新证书到目标目录(如
/etc/nginx/ssl/),保持文件名一致或更新配置中的路径 - 验证语法:
sudo nginx -t—— 显示 “syntax is ok” 才可继续 - 热重载生效:
sudo systemctl reload nginx(systemd 环境)或sudo /usr/local/nginx/sbin/nginx -s reload(编译安装)
验证新证书是否生效
更新后必须验证,不能仅凭 reload 成功就认为完成。
- 浏览器访问
https://你的域名→ 点击地址栏锁图标 → 查看“有效至”日期是否为新证书时间 - 命令行快速核验:
openssl s_client -connect your_domain:443 -servername your_domain 2>/dev/null | openssl x509 -noout -dates - 在线工具辅助:用 MySSL 或 SSL Labs 扫描,确认证书链、协议支持和安全性评级
推荐长期方案:接入自动续签(如 Certbot 或 acme.sh)
人工更新易遗漏,尤其多域名或泛域名场景。建议一次性配置自动机制:
- 安装 Certbot:
sudo apt install certbot python3-certbot-nginx(Ubuntu/Debian) - 首次申请并自动配置:
sudo certbot --nginx -d example.com -d www.example.com - 测试自动续期:
sudo certbot renew --dry-run - 系统已内置定时任务(
systemctl list-timers | grep certbot),无需额外设置 cron
自动方案默认每 12 小时检测一次,到期前 30 天自动续签,完全规避过期风险。











