证书签发成功,部署到服务器后浏览器却提示“连接不是私密连接”或“证书不受信任”。这类问题不一定出在证书本身,常见原因包括中间证书缺失、服务器没有发送完整链、SNI 配置错误、系统时间不同步,或者页面混用了 HTTP 资源。
本文给出一套排查顺序,帮助运维和开发快速定位。不同服务器和 CDN 的配置方式不同,具体命令以实际环境为准。更多 SSL 内容可参考本站SSL 证书栏目。
一、先看证书链是否完整
浏览器验证证书时,需要从服务器证书追溯到受信任的根证书。服务器应发送“服务器证书 + 中间证书”,根证书通常由客户端内置。若只发送服务器证书,部分浏览器可能自己补链,部分客户端会直接报错。用在线链检查工具或命令行查看服务器实际发送的证书列表。
缺失中间证书是部署中常见的问题。把 CA 提供的中间证书按正确顺序配置到证书文件,重启服务后再次检查。不要凭感觉拼接证书,顺序错误也会导致链验证失败。
二、检查域名与证书是否匹配
证书的 Common Name 和 SAN 必须包含用户访问的域名。访问 www.example.com 但证书只含 example.com,或者访问裸域但证书只含 www,都会提示不匹配。通配符只覆盖一层子域,多层子域不在范围内。
还要确认没有访问到旧证书。负载均衡、CDN、反向代理和多台服务器可能各自持有不同证书,更新时只换了一台。逐台检查或通过不同网络环境访问,确认实际返回的证书序列号一致。
三、SNI 与多站点配置
一个 IP 承载多个 HTTPS 站点时,依赖 SNI 选择证书。老旧客户端或不支持 SNI 的访问方式可能拿到默认站点证书,显示域名不匹配。检查虚拟主机配置,确保每个域名绑定正确证书,默认站点不要返回无关证书。
如果使用 CDN,确认 CDN 回源和边缘节点都配置了证书。有时边缘证书正常,回源证书过期或域名不匹配,用户侧仍可能出现异常。查看 CDN 的证书管理面板和回源日志。
四、时间与根证书信任
服务器或客户端系统时间偏差过大,会导致证书被判断为“尚未生效”或“已过期”。检查服务器时间同步,确保使用可靠的时间源。证书有效期、签发时间和时区也要核对。
部分旧设备或内部系统可能缺少新根证书,导致链验证失败。对外站点应使用主流受信任 CA 的证书,并提供完整中间链;对内系统可以更新根证书库,但不建议通过关闭验证来“解决”。
五、混合内容与重定向
页面通过 HTTPS 加载,但图片、脚本、样式或 iframe 仍使用 HTTP,浏览器会提示“混合内容”,部分资源被拦截。锁形图标可能显示警告,用户以为证书有问题。检查页面资源 URL,统一改为 HTTPS 或使用相对协议。
还要检查重定向链:HTTP 跳到 HTTPS 时是否跳到了错误域名,是否出现多次跳转,是否在跳转过程中丢失路径。配置规范的 301 跳转,把裸域、www 和旧域名统一到目标地址。
六、排查工具与步骤
- 用浏览器查看证书详情,记录颁发者、有效期、SAN 和序列号。
- 用命令行或在线工具检查服务器发送的完整证书链。
- 确认访问域名在 SAN 列表中,通配符层级匹配。
- 检查负载均衡、CDN 和多台服务器的证书是否一致。
- 核对服务器时间、根证书库和中间证书配置。
- 检查页面混合内容和重定向配置。
- 清理浏览器缓存或用无痕环境复测。
排查时一次只改一个变量,记录修改前后的证书序列号和错误提示。不要同时替换证书、改 DNS、调服务器配置,否则无法判断哪一步生效。
七、CDN 与反向代理的额外检查
使用 CDN 时,用户看到的是边缘节点证书,回源链路可能使用另一张证书。更新证书要同时检查边缘和回源,确认两端域名、链和有效期一致。部分 CDN 会代管证书,需在控制台确认部署状态,而不是只更新源站。
反向代理和后端服务之间也可能存在 HTTPS。代理到后端的证书若域名不匹配或过期,用户侧可能只看到 502 或 526 错误。查看代理日志和回源配置,确认每一段链都正常。多级代理时,逐段验证,不要假设上游一定正确。
八、上线前的检查清单
证书部署前,在测试环境验证链、域名匹配、协议版本和加密套件。上线后从不同网络、不同设备访问,确认没有区域性问题。配置证书到期监控,提前续期,避免到期当天临时处理。
SSLDUN 自 2017 年起通过合同方式获得 Certum 相关产品授权,可协助企业准备 SSL 证书材料、沟通审核问题和安排续期。证书签发由 CA 决定,部署问题需结合服务器和网络环境排查。把证书链和域名匹配作为上线必检项,能减少大部分“不受信任”提示。
八、常见问题
问:浏览器提示不受信任,但证书没过期,为什么?
答:常见原因是中间证书缺失、域名不匹配或客户端缺少根证书,不一定是有效期问题。
问:安装中间证书后仍报错怎么办?
答:检查证书顺序、服务器是否重启、负载均衡是否同步,以及是否访问到旧节点。
问:能否让用户忽略警告继续访问?
答:不应把忽略警告作为方案。应修复证书链或域名配置,避免用户暴露在风险中。