应急 · 证书过期
证书过期了?5 分钟应急续期(各路线入口)
红屏不等于网站坏了:先确认错误码,再按你的路线续期——大多数路线两三分钟就能恢复;修完别忘查「为什么没自动续」。
本文目录 · 7 节
先说结论
- 过期是最常见的证书故障:整页红屏、错误码 NET::ERR_CERT_DATE_INVALID,通常能点「高级 → 继续访问」;如果网站开着 HSTS,红屏上连「继续访问」都没有。
- 应急只做三步:30 秒确认过期 → 按你所在路线续期(2–3 分钟)→ 三分钟验证红屏消失;续期免费,不需要买新证书。
- 六条路线各有入口:Certbot 执行 sudo certbot renew、宝塔点重新申请、cPanel 点 Run AutoSSL、Cloudflare 查边缘证书与源站、SaaS 平台核对 DNS、IIS 用 wacs.exe。
- 真正要修的是「为什么没自动续」:定时任务没跑、续期时 80 端口被关、中途开了 CDN 或 301、面板续签被关是四个常见原因;修完再注册一个免费的到期监控兜底。
🤖 把这篇交给你的 AI 智能体
复制后粘贴给你常用的 AI 智能体(豆包、ChatGPT、Claude、Codex 等),它会按同样的步骤带你做完,并在每一步改动前先征求你的同意。不要把密码、密钥发到对话里。
查看将要复制的提示词
先确认:是不是真的过期了(30 秒)
证书过期长什么样:整页红色拦截「您的连接不是私密连接 / Your connection is not private」,错误码是 NET::ERR_CERT_DATE_INVALID;页面上能点「高级 → 继续访问」。如果网站还开着 HSTS,红屏上连「继续访问」的按钮都没有——这一档最严重。

确认过期用下面任意一种方法:
- 1. 看错误码:红屏页面下方,或点「高级 / 详细信息」,找到
ERR_CERT_DATE_INVALID——这个码基本可以直接判定为「过期」。 - 2. 看证书有效期:点地址栏左侧图标 → 进入证书 → 看「有效期」的截止日期是不是已经过去了。
- 3. 一条只读命令(把
你的域名换成实际域名):
echo | openssl s_client -connect 你的域名:443 -servername 你的域名 2>/dev/null | openssl x509 -noout -subject -issuer -dates
notAfter 就是到期时间(GMT 时间,换算北京时间要加 8 小时);subject 是证书包含哪些域名,issuer 是谁签发的——续期前顺手看一眼,续期后要核对这三项有没有变化。


5 分钟应急:三步走
| 步骤 | 做什么 | 花多久 | 成功标志 |
|---|---|---|---|
| 1 | 按你所在路线立即续期(下表找到你那一行) | 2–3 分钟 | 证书到期日刷新到 90 天左右 |
| 2 | 用四种方式验证红屏消失 | 1–2 分钟 | 四个网址正常、手机也正常 |
| 3 | 查「为什么没自动续」并补上到期监控 | 5–10 分钟 | 续期演练通过 + 监控注册成功 |
第 1 步:按路线立即续期(找到你的那一行)
| 你的网站 | 你现在能登录什么 | 立即续期怎么做 | 成功标志 |
|---|---|---|---|
| A · Linux 服务器(Nginx / Apache) | SSH 终端 | sudo certbot renew | 输出 Congratulations 或到期日刷新 |
| B · 宝塔面板 | 宝塔(地址形如 :8888) | 网站 → 站点 → SSL → 重新申请证书 | 剩余天数刷新到 90 天左右 |
| C · cPanel 虚拟主机 | cPanel(地址形如 :2083) | SSL/TLS Status → Run AutoSSL | 状态显示 AutoSSL Domain Validated |
| D · Cloudflare | Cloudflare 后台 | 边缘证书应为 Active(自动续);重点查源站证书 | 边缘证书 Active + 源站无报错 |
| E · SaaS 建站平台 | 平台后台 | 平台一般自动续期;卡住的按下面排查 | 后台显示 SSL 已启用 |
| F · Windows IIS | 远程桌面 | wacs.exe → 续期菜单 | IIS 的 https 绑定更新为新的到期日 |
路线 A:Linux 服务器(Certbot)
在服务器上执行:
sudo certbot renew
如果提示「not due for renewal」,说明定时任务认为还不到期——用强制方式续一张:
sudo certbot renew --force-renewal
续期后确认网页软件已经加载新证书:Certbot 的 --nginx / --apache 插件会自动重载;如果你当初用的是 certonly --webroot 方式,需要自己重载(在 /etc/letsencrypt/renewal-hooks/deploy/ 目录放一个内容为 systemctl reload nginx 的脚本,并 chmod +x 加上可执行权限)。
完整教程:路线 A:Linux 云服务器 + Certbot
路线 B:宝塔面板
- 1. 登录宝塔面板,左侧菜单点网站,找到你的站点,进入设置 → SSL。
- 2. 如果证书列表里能看到过期的证书,点重新申请 / 续签;如果「自动续签」被关掉了,顺手打开。
- 3. 回到 SSL 页面确认剩余天数已经刷新(正常是 89 天左右)。
完整教程:路线 B:宝塔面板
路线 C:cPanel 虚拟主机
- 1. 登录 cPanel,在 Security(安全) 区域找到 SSL/TLS Status。
- 2. 点 Run AutoSSL,等它跑完。
- 3. 看到域名状态变成 AutoSSL Domain Validated 即为成功;顺手确认 Force HTTPS Redirect 是打开的。
完整教程:路线 C:cPanel 虚拟主机(AutoSSL)
路线 D:Cloudflare
Cloudflare 的边缘证书是自动续期的,访客看到的证书一般不会因为它而过期。如果走 Cloudflare 的网站出现了过期红屏,按顺序查这三处:
- 1. 域名的 DNS 记录是不是灰色云朵(未代理)——灰色意味着访客直连源站,源站证书过期就会红屏;恢复橙色云朵即可。
- 2. SSL/TLS → 边缘证书里,边缘证书状态是不是 Active;不是就点一下重新验证。
- 3. 用 Full (strict) 模式的,源站证书过期会让 Cloudflare 返回 Error 526(而不是给访客看红屏)——这时按路线 A/B/C/F 把源站证书续上。
完整教程:路线 D:Cloudflare
路线 E:SaaS 建站平台
Shopify、Wix、WordPress.com 这类平台自动、免费管理证书,一般不需要你操心。如果平台后台一直显示「待处理 / Pending」,逐项核对:域名解析记录与平台要求一字不差、删掉指向旧网站的 A / AAAA 记录、检查 CAA 记录是否放行了平台的证书机构。
完整教程:路线 E:SaaS 建站平台
路线 F:Windows IIS(win-acme)
- 1. 用管理员身份运行
wacs.exe。 - 2. 选 A: Manage renewals 能看到现有续期计划;选续期菜单把证书更新掉。
- 3. 到 IIS 里确认网站的 https 绑定已经是新证书,任务计划程序里能看到下一次续期时间。
完整教程:路线 F:Windows 服务器 + IIS(win-acme)
第 2 步:三分钟验证(红屏消失不算完)
| # | 验证什么 | 怎么做 | 合格标准 |
|---|---|---|---|
| 1 | 四个网址 | 裸域名和 www 分别用 http、https 各开一次 | 前两个正常、后两个自动跳到 https |
| 2 | 手机 | 关掉公司 WiFi,用手机流量再开一次 | 正常打开,无红屏 |
| 3 | 安卓机 | 找一台安卓手机再试一次 | 无「证书不可信」提示 |
| 4 | 到期日 | 按上面第一条命令再看一次 notAfter | 已刷新到 90 天左右 |
如果第 1 步做完红屏还在,先清一次浏览器缓存再试;换了设备的红屏还在,说明续期没有真正生效——回到第 1 步检查证书文件是不是换对了(Nginx 用的是不是 fullchain.pem、面板里粘贴的是不是完整证书链)。
第 3 步:查「为什么没自动续」(下次别再过期)
过期只是结果,真正要修的是「自动续期为什么失效」:
| 症状 | 真实原因 | 怎么修 |
|---|---|---|
certbot renew --dry-run 报 Timeout / connection refused | 80 端口被挡,或网页软件没运行 | 放行 80 端口、启动 Nginx/Apache,再演练一次 |
演练报 NXDOMAIN / DNS problem | 域名解析变了、DNS 没生效 | 用 dns.google 核对 A / AAAA 记录 |
| 演练通过,但证书就是没换 | 定时任务没运行 | 运行 systemctl list-timers,在结果里找 certbot.timer 和它的下次运行时间 |
| 宝塔/面板显示「自动续签已关闭」 | 续签开关被关过,或证书是手动上传的 | 打开自动续签,或改回面板申请证书 |
| 续期成功但网站还是旧证书 | 网页软件没有重载 | 加 deploy hook 自动重载,或手动 systemctl reload nginx |
| 后来开过 CDN / 301 / 反向代理 | 验证文件被拦截 | 按预检清单第 3、4 项排查 |
确认自动续期(各路线一行,完整版见装好之后:这 6 件事一定要做):
| 路线 | 检查方法 | 正常的样子 |
|---|---|---|
| A Certbot | sudo certbot renew --dry-run | Congratulations, all simulated renewals succeeded |
| B 宝塔 | 站点设置 → SSL | 自动续签已开启、剩余天数正常 |
| C cPanel | SSL/TLS Status | AutoSSL Domain Validated |
| D Cloudflare | SSL/TLS → 边缘证书 | 状态 Active;源证书记下到期日 |
| F win-acme | wacs.exe → A: Manage renewals | 有续期计划和计划任务 |
再补一层到期监控(Let's Encrypt 已于 2025-06-04 停止发送到期提醒邮件,所以这层必须自己设):
- Let's Encrypt 官方推荐的替代方案 Red Sift Certificates Lite(原 Hardenize):免费监控最多 250 张证书,到期前发邮件提醒,用公司邮箱注册即可;
- 最简单的土办法:在手机日历里按证书到期日提前 20 天设一个提醒,内容写「检查网站证书是否已自动续期」。
两个常见追问
证书过期期间,网站数据会丢吗?会被黑吗? 都不会。过期影响的只是「访客到网站」的加密连接——浏览器拒绝连接,所以访客看到红屏、访问基本流失;网站文件、数据库、客户数据都不受影响。续期成功后网站立刻恢复,不需要做额外操作【判断】。
为什么说「过期不是忘了续,是没人管」? 免费证书有效期只有 90 天,而且会继续缩短(Let's Encrypt 官方计划 2027-02-10 起 64 天、2028-02-16 起 45 天);整个行业的规则也在收紧,所有公开证书最长有效期 2026-03-15 起 200 天、2027-03-15 起 100 天、2029-03-15 起 47 天【官】。靠人工记着续,早晚会过期一次——只有自动续期 + 到期监控才是可靠的做法。
现在要做的事
- 还没确认是不是过期:先做一次免费的 HTTPS 体检,拿到错误码和到期日再动手;
- 想先看看其他几种故障长什么样:四种 SSL 故障实景演示(附 30 秒自查);
- 显示「不安全」但没有红屏:按浏览器显示「不安全」的 6 种原因与排查逐项对照;
- 页面能打开但图片不显示、表单点不动:看混合内容修复;
- 拿不准错误码什么意思:SSL 错误码速查 一码一行;
- 不想再被这件事打断:把部署、监控、自动续期和失效应急一起交出去,见 SSL 证书终身维护服务(600 元/域名 · 长期统一价);也可以先预约 30 分钟诊断。
答疑
常见问题
证书过期了,客户现在访问会看到什么?
整页红色警告「您的连接不是私密连接」,错误码通常是 ERR_CERT_DATE_INVALID,网站内容完全看不到;如果网站还开着 HSTS,连「高级 → 继续访问」的按钮都没有,客户一个都进不来。极少数客户会研究怎么绕过,绝大多数人直接关掉页面。
续期要花钱吗?多久能恢复?
不花钱。免费证书续期就是重新签发一张新证书:服务器上执行一条 certbot renew,宝塔面板点重新申请,cPanel 点 Run AutoSSL,按路线不同两三分钟就能完成。证书装好后访客立刻恢复访问,不需要再做别的操作。
续期命令提示 not due for renewal,是不是没坏?
这说明自动续期的定时任务认为还没到期——通常是你看到的是旧证书,或者任务还没轮到。别等,用强制方式续一张:sudo certbot renew --force-renewal,然后到浏览器里核对到期日有没有刷新。如果提示的是别的报错,按本页第三步的排查表逐条处理。
为什么我的证书没有自动续期?
最常见的四个原因:定时任务没运行,systemctl list-timers 里看不到 certbot.timer;续期时 80 端口被关掉,验证文件放不出去;中途开了 CDN、301 跳转或反向代理,把验证文件拦截了;面板里的自动续签被关过,或者证书是手动上传的。排查时先用 certbot renew --dry-run 演练一次,看报错落在哪一条。
修好之后怎么防止再次过期?
做两件事:第一,确认自动续期真的生效,各路线都有对应的检查方法,比如 Certbot 用 renew --dry-run 看到 all simulated renewals succeeded;第二,注册一个免费的到期监控兜底,因为 Let's Encrypt 已于 2025-06-04 停止发送到期提醒邮件。两件都做完,才算真正收工。
核实
资料来源与核实记录
价格、政策与版本信息均注明来源和核实日期。
| 事实 | 来源 | 核实日期 |
|---|---|---|
| Let's Encrypt 到期提醒邮件服务已结束(2025-06-04 起停止发送),必须自行设置到期监控 | letsencrypt.org | 2026-10-10 |
| Let's Encrypt 证书有效期 90 天,将缩短至 64 天与 45 天(2025-12-02 公告) | letsencrypt.org | 2026-10-10 |
| CA/Browser Forum SC-081v3:公开证书最长有效期 2026-03-15 起 200 天、2027-03-15 起 100 天、2029-03-15 起 47 天 | CA/Browser Forum | 2026-10-10 |
| Certbot 官方安装向导:续期命令 certbot renew 与演练 renew --dry-run | certbot.eff.org | 2026-10-10 |
| Chromium 网络错误码官方列表:ERR_CERT_DATE_INVALID(证书过期) | Chromium 源码 net_error_list.h | 2026-10-10 |
| 本站《SSL 部署完全指南》第 10.3 / 10.4 / 12 章:各路线自动续期检查表、到期监控方案与故障排查表 | 本站《网站 SSL 证书免费部署完全指南》 | 2026-10-10 |
更新记录
2026-10-13 · v1.0:上线:证书过期 5 分钟应急(六条路线续期入口与命令)、三分钟验证清单、自动续期失效排查表与免费到期监控设置。
本专题全文以 CC BY 4.0 协议开源,可转载、改编,请注明出处:GitHub · iPythoning/ssl-guide-zh
延伸
相关阅读
四种 SSL 故障实景演示
纯 HTTP、证书过期/自签名/域名不匹配、证书错误叠加 HSTS、域名或服务器失效——四种故障各配真实浏览器截图,讲清客户看到什么、错误码是什么、该往哪修,附六行错误码速查表与 30 秒自查四步。

「不安全」的 6 种原因
地址栏写着「不安全」只有六种原因:纯 HTTP、证书过期、域名不匹配、自签名/不受信任、证书链不完整、混合内容。每一种都给现象、判定方法、修复步骤,并附错误码映射表与修好后的三分钟验收清单。

SSL 错误码速查表
红屏上的错误码就是最快的线索:高频 6 码(过期、不受信任、域名不匹配、吊销、无效、弱算法)一码一行——含义、常见诱因、严重度、去向链接;另附少见证书码、打不开类错误码、Cloudflare 错误页与两条只读取证命令。

交给我们
不想自己动手?
泓森互联提供 SSL 证书终身维护服务:部署、监控、自动续期与失效应急,一次购买长期有效。服务范围与价格以服务页为准;也可以先做免费体检,把情况摸清楚再决定。
留个联系方式,我们帮你看看
不确定自己的网站是什么情况?留下信息,或直接 预约诊断,我们把体检结果和修复路径说清楚。