这种情况通常是浏览器缓存了旧证书信息,或者 Cloudflare 边缘证书与源站配置不匹配,而非源站证书真的失效。
先说结论:多数情况下是本地缓存或加密模式设置问题,先检查 Cloudflare 后台状态再排查本地。
- 先确认:登录 Cloudflare 后台查看 SSL/TLS 概览页状态
- 先处理:清理浏览器缓存或更换网络环境测试
- 再验证:使用命令行工具检查实际证书有效期
快速诊断命令
为避免系统语言环境导致命令失效,建议使用 openssl 直接解析证书日期:
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -dates如果命令返回的 notAfter 日期早于当前时间,说明边缘证书确实过期;如果日期正常但浏览器仍报错,多为本地缓存问题。
为什么会这样
Cloudflare 的 SSL 架构分为边缘证书(Edge Certificate)和源站证书(Origin Certificate)。浏览器访问的是 Cloudflare 边缘节点,所以报错通常指边缘证书有问题,或者浏览器记录了旧的证书信息。
另一种常见情况是 SSL 加密模式设置为“完全(严格)”,但源站证书已过期或自签名,导致 Cloudflare 回源失败,间接引发连接异常。
分步处理
1. 检查 Cloudflare 后台状态
登录 Dashboard,进入 SSL/TLS -> Overview(概览)。查看 Edge Certificate 部分状态。如果边缘证书过期,通常会显示红色警告或“Reinitialize”(重新初始化)按钮。Universal SSL 通常会自动续期,若卡住可尝试禁用后重新启用。
注意:禁用后重新启用 Universal SSL 可能导致短暂服务中断,建议在低峰期操作。
2. 检查源站证书(如果使用 Origin CA)
在 SSL/TLS -> Origin Server 中查看 Origin CA 证书有效期。如果此处过期,需重新生成并部署到源站 Nginx/Apache。
3. 调整加密模式
临时将加密模式改为“完全”(非严格),测试是否恢复。若恢复,说明源站证书配置有误;若仍报错,问题在边缘侧或本地。
注意:排查完成后务必将加密模式恢复为“完全(严格)”,以降低安全风险。
4. 清理本地缓存
不同操作系统清理方式不同,请根据环境执行:
- Windows: 打开命令提示符(管理员),运行
ipconfig /flushdns清理 DNS 缓存。 - macOS: 打开终端,运行
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder。 - 浏览器 SSL 状态: Chrome 浏览器访问
chrome://net-internals/#ssl点击