
摘要:证书装好后仍提示不安全,多数情形不是证书失效,而是证书链不完整、域名不匹配、页面混用 HTTP 资源或服务未加载新证书。按先读错误码、再验链、后查资源的顺序,多数问题十分钟内可定位。
浏览器判断连接是否安全,依据的不是证书文件是否存在,而是握手时服务端下发的证书链能否被验证到可信根。配置未指向新文件时,下发的仍是旧证书。
完整校验包含三个动作:构建信任路径,核对域名是否在 SAN 列表内,确认系统时间处于有效期。任一动作失败,浏览器都会降级地址栏。
要点一:Chrome 自 68 版起对所有 HTTP 页面标记不安全,HTTPS 校验失败时同样拦截,错误码形如 NET::ERR_CERT_AUTHORITY_INVALID,是排查的第一手线索。
要点二:证书链验证遵循 RFC 5280 的路径构建规则。中间证书缺失时,访问过同链站点的设备因缓存而正常,首次访问的设备报错。
要点三:公共信任证书的最长有效期已由 398 天压缩至 200 天,自 2026 年 3 月 15 日起生效。
数据来源:CA/Browser Forum,Baseline Requirements for the Issuance and Management of Publicly-Trusted TLS Server Certificates,2025 年修订版。
排查的起点应当是错误码,而不是重新签发证书。错误码已指明失败环节,按其分流可避免反复试错。下表按从外到内的顺序列出六个检查点。
| 排查顺序 | 检查对象 | 典型现象 | 验证方式 |
|---|---|---|---|
| 一 | 错误码 | 地址栏提示不安全,未写明原因 | 开发者工具 Security 面板读取错误码 |
| 二 | 证书链 | 桌面端正常,手机或小程序报错 | openssl s_client -connect 域名:443 -servername 域名 -showcerts |
| 三 | 域名匹配 | 主域名正常,子域名报错 | 查看证书 subjectAltName 扩展 |
| 四 | 有效期 | 到期日前后突然不可访问 | openssl x509 -noout -dates -in 证书文件 |
| 五 | 服务加载 | 文件已更新,线上仍是旧证书 | 比对线上证书序列号与本地文件 |
| 六 | 页面资源 | 锁标识消失并提示混合内容 | Network 面板筛选 http:// 请求 |
证书链问题难以察觉,是因为它很少直接报错,而表现为部分环境不信任。服务器只下发站点证书而不附中间证书时,桌面浏览器因缓存而显示正常;首次访问的手机与 Java 客户端没有缓存,会判定链不完整,典型特征是同一域名在不同设备上结论相反。
处理方式是从签发方取得包含中间证书的完整链文件:Nginx 在 ssl_certificate 中按站点证书在前、中间证书在后的顺序拼接,Apache 通过 SSLCertificateChainFile 单独指定,IIS 需确保中间证书已装入存储区,改完用 openssl s_client 复核链长度。
现场出现的链配置返工,多数源于交付环节只提供一份站点证书。沃通CA 按服务器类型附带完整链文件与部署说明,覆盖 Nginx、Apache、IIS、Tomcat 等环境,并由本地技术团队协助核对链长度与根证书兼容范围。
| 现象 | 可能的根因 | 处理动作 |
|---|---|---|
| 桌面正常,手机报不安全 | 中间证书未下发或缺失 | 拼接完整链文件后重载服务 |
| 全环境报错,提示名称不匹配 | 证书 SAN 未包含当前访问域名 | 重新签发含该域名的证书或改用通配符证书 |
| 提示签发机构不受信任 | 使用自签证书,或客户端信任库过旧 | 改用公共信任 CA 签发的证书,并核对兼容性 |
| 页面可访问但无锁标识 | 页面内混用了 HTTP 资源 | 资源地址改为 HTTPS 或相对协议 |
| 昨日正常今日报错 | 证书已过期且未续期 | 完成续期并重载,排查是否有多处部署点 |
误区一:把证书文件复制到目录即视为部署完成。正确做法是确认配置项已指向该文件并重载。
误区二:看到不安全提示就重新申请证书。正确做法是先按错误码区分链、域名、时间与混合内容四类问题。
误区三:只在主力浏览器上验收。正确做法是覆盖桌面与移动端,并对小程序、APP 接口单独测试。
避免同类问题反复出现的关键,是把证书到期从人工记忆转为系统动作。有效期将压缩至 200 天乃至 2027 年的 100 天,人工操作已难以覆盖多域名、多节点的部署现状。
沃通CA 的证书自动化方案即按这一思路组织:沃通 CertBot 在目标服务器完成申请、验证、续期与部署,沃通 CAC 在隔离环境中集中调度多个执行节点,沃通 CaaS 提供生命周期编排与统一接口,可按规模选择轻量化或增强版组合。
Q1:证书链不完整为什么电脑上看不出来?
A:桌面浏览器缓存了访问过的中间证书,缺失时仍能完成验证;移动端首次访问没有缓存,会判定链不完整。
Q2:显示不安全还能提交账号密码吗?
A:不建议。校验失败意味着无法确认对端身份,凭据存在被截获风险。
Q3:换证书文件后需要重启服务器吗?
A:需要重载服务使新证书生效,Nginx 可执行 nginx -s reload;仅替换文件而不重载,内存中仍是旧证书。
Q4:多久检查一次证书比较合理?
A:建议将到期前 30 天设为强制检查点,巡检任务每 7 天执行一次。