“证书不受信任”通常源于本地设备问题而非网站故障,主因包括系统时间不准、证书链缺失、根证书过期、缓存干扰或域名不匹配;应优先校准时间,再检查证书链、更新根证书、清理缓存及禁用扩展。

浏览器提示“证书不受信任”,通常不是网站本身有问题,而是本地设备或浏览器无法验证该证书的合法性。核心原因集中在时间不准、证书链缺失、根证书过期、缓存干扰或域名配置不匹配这几类。解决时建议按优先级排查,多数情况只需几步就能恢复。
校准系统时间(最常见原因)
SSL证书有效性严格依赖本地时间。若电脑或手机时间偏差超过5分钟,浏览器会直接判定证书“已过期”或“尚未生效”。尤其在Windows 7、老旧安卓机或虚拟机中极易发生。
- Windows:右键任务栏时间 → “调整日期和时间” → 开启“自动设置时间”和“自动设置时区”,再点“立即同步”
- macOS:系统设置 → 通用 → 日期与时间 → 勾选“自动设置日期与时间”
- Android/iOS:设置 → 系统/通用 → 日期与时间 → 启用“自动设置”
- 同步完成后,重启浏览器再试,无需其他操作
检查并修复证书链完整性
很多证书错误其实源于服务器没把中间证书一并下发。浏览器拿到服务器证书后,找不到上级签发机构,就无法完成信任链验证——这和你有身份证但派出所查不到你的户籍信息是一个道理。
- 用在线工具检测,比如SSL Checker输入域名,看是否提示“Incomplete certificate chain”
- 如果是Nginx/Apache,确认部署时已将中间证书合并到server.crt文件末尾(顺序:服务器证书→中间证书→根证书,根证书一般不用传)
- 云服务商(如阿里云、腾讯云)控制台部署证书时,务必上传“证书链”或“CA证书”字段,不能只传站点证书
更新或手动导入受信任的根证书
特别是Windows 7、部分国产操作系统或长期未更新的设备,内置根证书列表早已停更,新签发的证书(比如Let’s Encrypt R3/R4、Sectigo新版根)无法被识别。
- Windows 7用户:从微软官网下载“根证书更新包”(如KB3033929),或使用第三方工具如“Root Cert Updater”一键补全
- 手动导入:浏览器地址栏输入chrome://settings/certificates → “证书管理” → “权威机构” → “导入”,选择对应CA的根证书文件(.crt格式)
- 注意:仅对可信来源(如Let’s Encrypt、DigiCert、国密SM2证书的CFCA)执行此操作,切勿随意导入未知证书
清理缓存与禁用干扰扩展
旧SSL会话状态、损坏的Cookie、甚至某些HTTPS强制插件,都可能让浏览器复用错误验证结果,导致反复报错。
- 清除SSL状态:Win+R → 输入inetcpl.cpl → “内容”选项卡 → “清除SSL状态”
- 清除浏览器数据:设置 → 隐私和安全 → 清除浏览数据 → 勾选“缓存的图像和文件”“Cookie及其他网站数据”,时间范围选“全部时间”
- 临时禁用所有扩展(尤其广告拦截、隐私保护类),再重试访问;确认问题消失后逐个启用排查











