SSL 证书过期,网站打不开了怎么办?紧急处理指南
「网站突然打不开了!浏览器显示您的连接不是私密连接!」——很多客户找过来时,第一句话都是这样的惊呼。十有八九,是 SSL 证书过期了。
这不是小概率事件。证书有效期通常是一年,快到期的提醒邮件很容易被当成垃圾邮件划掉,然后就是某个平常的早晨,网站全站瘫痪,客户以为您跑路了。
第一步:确认是证书问题
浏览器报错的样子:Chrome 显示「您的连接不是私密连接」,错误码通常是 NET::ERR_CERT_DATE_INVALID(过期)或 NET::ERR_CERT_AUTHORITY_INVALID(证书无效)。
更快的确认方式:用我们的免费 HTTPS 检测工具输入域名,证书到期时间和剩余天数直接列出来。也可以命令行验证:
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -dates
输出里的 notAfter= 早于今天,就是它了。
紧急恢复的三条路
路线 A:直接续签证书(最常见)
用 certbot 的话一条命令:
sudo certbot renew
sudo nginx -s reload # 部分环境需要手动 reload
如果是阿里云等平台的免费证书,去控制台重新申请签发、替换部署。通常 10–30 分钟内恢复。
路线 B:先摘掉 HTTPS 保访问(过渡方案)
如果短时间搞不定证书,可以临时让 HTTP 先能用:去掉强制跳转,让访客先通过 http:// 访问,网站至少能打开。注意:这是临时过渡,务必尽快恢复 HTTPS,期间不要在网站上提交敏感信息。
路线 C:服务器整个出问题时
如果连 443 端口都不通、服务器 SSH 都登不上,那问题就不只是证书了——可能是服务器到期、防火墙变更或被入侵。这时候别自己乱试,尽快联系懂行的人处理,越乱试越难恢复。
恢复之后:把「下次」堵死
证书过期事故最大的问题是它会再发生——明年这个时候,同样的剧本再来一遍。所以恢复之后必须做两件事:
- 配置自动续期:Let’s Encrypt + certbot 的自动续期(
certbot renew --dry-run验证通过),或阿里云的证书到期提醒 + 开启自动续费 - 加一道监控:有人盯证书有效期,剩 30 天就报警。这是我们运维托管服务的基础项——说实话,一台网站服务器的证书、备份、补丁全部自动化监控后,您就再也不用想这些事了
一点建议
如果您现在去查一下自己网站的证书剩余天数,发现不足 30 天,别犹豫,今天就续上。用在线检测查一次只要 30 秒。
自己搞不定的,把检测结果发给我们,HTTPS 升级服务 300 元起,含自动续期配置和售后保障,一次办完,以后不再惦记这事。