证书验证失败需依次排查:一、更新过期证书;二、补全证书链;三、校准系统时间;四、匹配域名与证书主体;五、禁用SSL拦截代理;六、更换受信任CA签发的证书。

如果您在部署HTTPS证书后遭遇浏览器提示“证书验证失败”,则可能是由于证书链不完整、域名不匹配、时间偏差或配置异常导致验证流程中断。以下是解决此问题的步骤:
一、检查并更新过期证书
SSL/TLS证书具有明确的有效期,一旦超出起止时间范围,浏览器将拒绝信任该证书。验证失败常直接源于证书已失效。
1、访问网站时点击地址栏锁形图标,选择“证书”查看有效期起止时间。
2、比对当前系统时间与证书“有效期至”字段,确认是否已过期或尚未生效。
3、若已过期,立即联系原CA机构(如DigiCert、Sectigo、沃通CA)申请续签或重新颁发新证书。
4、下载新证书后,按服务器类型(Nginx/Apache/Tomcat/IIS)重新部署完整证书链。
二、补全并正确配置证书链
浏览器需沿“服务器证书→中间证书→根证书”路径完成逐级签名验证。缺失任一中间证书都将导致链路断裂,触发验证失败。
1、使用SSL Labs的SSL Test(https://www.ssllabs.com/ssltest/)输入域名,查看“Certificate Chain”诊断结果。
2、若显示“Chain issues: Incomplete”或“Extra download”,说明中间证书未部署。
3、从CA机构提供的证书压缩包中提取中间证书(通常命名为ca-bundle.crt或intermediate.crt)。
4、将中间证书内容追加至服务器证书文件末尾(Nginx)或单独配置为SSLCertificateChainFile(Apache 2.2)或SSLCACertificateFile(Apache 2.4)。
三、校验系统时间与证书有效期一致性
SSL证书验证高度依赖客户端及服务器端的系统时间准确性。时间偏差超过5分钟即可能导致“ERR_CERT_DATE_INVALID”错误。
1、在Windows系统中右键任务栏时间→“调整日期和时间”→开启“自动设置时间”。
2、在Linux服务器执行timedatectl status确认NTP服务运行状态,若未启用则运行sudo timedatectl set-ntp true。
3、在macOS中进入“系统设置→通用→日期与时间”,勾选“自动设置日期与时间”。
4、重启浏览器或清除SSL状态缓存(Chrome地址栏输入chrome://restart)。
四、验证域名与证书主体完全匹配
证书中声明的Common Name(CN)或Subject Alternative Name(SAN)必须精确覆盖用户访问的完整域名,包括www前缀、协议端口及大小写规范。
1、在浏览器证书详情页切换至“详细信息”标签,展开“使用者”和“使用者备用名称”字段。
2、比对实际访问URL(如https://shop.example.com)是否列于SAN列表中。
3、若仅部署了单域名证书但存在多入口(如example.com与www.example.com),则必须更换为通配符证书(*.example.com)或多域名证书。
4、检查Web服务器虚拟主机配置中ServerName与ServerAlias是否与证书覆盖域名一致。
五、禁用本地SSL拦截代理或安全软件
部分企业防火墙、杀毒软件(如McAfee、Kaspersky)或网络监控工具会主动解密HTTPS流量,注入自签名中间证书进行审查。该行为会导致原始证书链被篡改。
1、临时关闭所有安全类桌面软件,尤其是具备“HTTPS扫描”“网页防护”功能的模块。
2、在Chrome中访问chrome://settings/security,关闭“使用安全DNS”及“增强型保护模式”。
3、尝试使用手机蜂窝网络访问同一网站,排除局域网中间设备干扰。
4、若确认为内部代理所致,需将CA机构根证书导入终端设备的受信任根证书存储区,或联系IT部门获取合规证书策略。
六、替换不被信任的CA签发证书
浏览器内置信任库仅收录经严格审计的权威CA机构。使用小众CA、自签名证书或已被吊销根证书的签发方,将直接触发“ERR_CERT_AUTHORITY_INVALID”错误。
1、在证书详情页查看“颁发者”字段,确认是否为DigiCert、GlobalSign、Sectigo、沃通CA等主流机构。
2、若显示“Unknown Authority”或私有CA名称,立即停止使用该证书。
3、访问https://crt.sh/ 输入域名查询历史签发记录,核验当前证书是否在CRL或OCSP吊销列表中。
4、选择具备WebTrust认证且预置于Chrome/Firefox/Edge信任库的CA重新申请证书。
















