证书过期是HTTPS网站突然无法访问的最常见原因,浏览器会直接拦截连接并显示红色警告页;需先校准系统时间、清除SSL缓存、排除中间件干扰,再通过浏览器证书信息或SSL Labs确认真实状态,最后按场景更新证书或补全证书链,并验证部署效果。
证书过期是https网站突然无法访问的最常见原因,浏览器会直接拦截连接、显示红色警告页,不是网站挂了,而是安全凭据失效了。处理核心就两点:先快速确认是不是真过期,再针对性修复——别一上来就重装证书或乱改配置。
第一步:快速判断是真过期还是误报
很多情况根本不是服务器证书到期,而是本地环境出问题:
- 校准系统时间:误差超过5分钟就会被浏览器判定为“证书已过期”。Windows/macOS/手机都必须开启自动同步网络时间,当前是2026年10月9日,若设备显示2025年或2027年,立刻同步并完全退出浏览器再重开。
-
清除SSL状态缓存:Chrome输入
chrome://settings/clearBrowserData,勾选“HTTPS/SSL状态”;Windows系统级缓存则运行inetcpl.cpl→内容→清除SSL状态。 - 检查是否被中间件干扰:禁用所有浏览器扩展、关闭杀毒软件的“网页防护”功能,有些代理工具会替换证书导致链路断裂。
第二步:确认服务器端证书真实状态
如果本地排查无异常,问题大概率在服务端:
在 Windows 上执行终端命令,或对比 Windows 与 Linux 的 Shell 语法时使用。建议先检测当前 Shell 是 PowerShell 还是 cmd.exe,再给出相应命令……
- 浏览器点锁图标→查看证书→看“有效期至”:直接比对是否已过2026年10月9日。注意:部分证书剩余不足7天,浏览器也可能提前预警。
- 用SSL Labs扫描(https://www.php.cn/link/c182dc5c90dc87dfee9cd309c33f19b3):重点看三项——证书链是否完整(缺中间证书很常见)、TLS协议是否只启用了1.2/1.3(禁用1.0/1.1)、域名是否全覆盖(比如www和根域名都要包含在SAN里)。
- 宝塔用户直奔「网站→SSL」页:面板会自动标红提示“证书过期”“路径错误”或“文件缺失”,省去手动排查步骤。
第三步:正确更新或补全证书
确认真过期后,按场景选择操作:
- 已有CA续签权限:登录原证书平台(如Let's Encrypt、DigiCert),下载新证书包,把新证书+中间证书合并或分置部署(Nginx需将中间证书追加到crt文件末尾)。
-
证书链不完整:从CA提供的压缩包中找到
ca-bundle.crt或intermediate.crt,按服务器类型配置——Nginx写在ssl_certificate同个文件里;Apache 2.4用SSLCACertificateFile单独指向。 - 开发环境临时用:可用OpenSSL生成自签名证书,但必须手动导入系统和浏览器的“受信任根证书颁发机构”,否则每次访问都要点“继续前往”。
第四步:上线前务必验证闭环
部署完别急着通知用户,自己先测通:
- 用不同浏览器(Chrome/Firefox/Edge)和设备(手机、电脑)访问,看锁图标是否绿色且无警告。
- 再次跑SSL Labs,确保评分回到A或A+,且“Certificate Chain”显示“complete”。
- 检查页面是否加载混合内容(HTTP资源)——哪怕证书有效,只要页面里有1个HTTP图片,地址栏也会变“不安全”。

















