小服务器证书过期别慌:三步查过期与自动续期
网站突然打不开,浏览器报「证书已过期」——这是小服务器上最常见的「无声故障」:证书是 90 天一换的消耗品,没人提醒就会悄悄过期。三步,先查清再续上。
第一步:先看证书到底还剩几天
不用等浏览器报警,服务器上自己就能查:
echo | openssl s_client -connect 你的域名:443 -servername 你的域名 2>/dev/null | openssl x509 -noout -dates
输出里 notAfter 就是到期时间。养成习惯:每月初看一眼所有域名的到期日,剩 30 天以内就该动手了。更省事的是把这条命令写进每周的巡检清单,过期前永远有缓冲。
第二步:续期之前先分清是谁发的证书
续期方法取决于证书来源,别上来就乱敲命令:
- Let's Encrypt(certbot 申请的):直接跑 certbot renew --dry-run 先试跑,成功后再正式续;续完记得 reload 一下 nginx 或 Apache,不然服务还在用旧证书。
- 云厂商免费证书(比如华为云 SSL 证书服务):在控制台里重新签发并重新部署到负载均衡或 CDN 上,证书文件不会自动换到服务器里。
- 买的付费证书:按厂商流程重新签发,流程和第一次申请基本一样,记得把新证书换到服务配置里并重启服务。
第三步:让续期以后自己跑
手动续期一次两次还行,域名一多必漏。正确姿势是交给自动化:
- certbot 装好后自带定时任务(systemd timer 或 cron),每月自动尝试续期,剩 30 天才真正续;
- 续期后加一个 --deploy-hook,自动 reload 你的 Web 服务,整条链路不用人碰;
- 关键一步:续期成功后立刻用第一步的命令复查 notAfter 变没变,别只看命令退出了就以为成了。
一个清单
证书过期看着像大事故,其实只是个有固定周期的消耗品:每月查一次到期日、续期前分清发证方、交给自动续期加部署钩子。域名越多,这套流程越值得早点搭起来。
- 点赞
- 收藏
- 关注作者
评论(0)