我的知识记录

网站证书SAN不包含访问域名_各种浏览器兼容处理_从检测到修复

浏览器提示NET::ERR_CERT_AUTHORITY_INVALID,说明网站的SSL证书不被浏览器信任,证书颁发机构不在浏览器的根证书库中。这个错误会导致用户无法正常访问HTTPS网站,看到红色的安全警告页面,严重影响用户信任和网站访问量。证书无效的原因有多种,可能是自签名证书、缺少中间证书、证书颁发机构不被信任、证书过期、证书域名不匹配等。本文讲解错误的原因和解决方法。

第二步是确认证书类型和颁发机构。受信任的证书颁发机构(CA)包括DigiCert、Sectigo、Let's Encrypt、GlobalSign、GeoTrust等,这些机构的根证书预装在所有主流浏览器和操作系统中。使用这些机构颁发的证书,浏览器会自动信任。自签名证书和私有CA颁发的证书,需要手动将根证书导入到客户端的信任库中,只适合内网使用,不适合公网网站。如果使用的是受信任CA颁发的证书但仍然提示无效,通常是证书链配置问题或证书域名不匹配。

第三步是检查证书链完整性。完整的证书链包括:根证书(预装在浏览器中)-> 中间证书(由CA提供,需要部署到服务器)-> 网站证书(部署到服务器)。很多站长只部署了网站证书,没有部署中间证书,导致浏览器无法验证完整的信任链,提示颁发机构无效。Nginx环境下,ssl_certificate指令需要指向包含网站证书和中间证书的合并文件(网站证书在前,中间证书在后)。Apache环境下,SSLCertificateFile指向网站证书,SSLCertificateChainFile指向中间证书。IIS环境下,导入证书时需要同时导入中间证书,或者导入PFX格式的完整证书包。

第六步是检查CDN和负载均衡的证书配置。如果使用了CDN或负载均衡,用户访问的是CDN/负载均衡的证书,不是源站的证书。需要确认CDN/负载均衡上部署的证书正确且有效。常见问题包括:CDN上的证书过期未更新;CDN证书的域名不匹配;CDN使用了自签名证书;负载均衡的SSL证书配置错误;CDN和源站都配置了HTTPS但证书不一致。检查CDN后台的证书状态,确保证书有效且域名匹配。如果CDN支持免费证书,优先使用CDN提供的证书,自动续期更方便。

证书部署完成后的验证和维护。使用SSL Labs Server Test进行全面检测,确认证书有效、链完整、域名匹配、协议和加密套件安全,评级达到A。使用各种浏览器和设备访问网站,确认没有证书错误。配置自动续期,Let's Encrypt证书使用Certbot的renew命令,配合定时任务自动续期;付费证书设置到期提醒,提前30天续期。监控证书有效期,使用在线监控工具或脚本,证书到期前发送告警。定期检查证书的SAN是否覆盖所有使用的域名,添加新域名时重新申请证书。

真实经历:使用自签名证书配置了内网网站,员工访问时每次都提示证书无效,需要手动添加例外。后来申请了Let's Encrypt证书(内网域名通过DNS验证申请),部署后所有设备都信任,不再提示错误。公网网站不要使用自签名证书,免费证书已经足够用。

部署提醒:部署SSL证书时确认证书链完整,网站证书在前,中间证书在后。确认证书的SAN包含所有访问域名(带www和不带www)。使用SSL Labs检测验证配置。私钥文件妥善保管,权限设置为600,不要泄露。

网站证书SAN不包含访问域名_各种浏览器兼容处理_从检测到修复

标签:

更新时间:2026-08-30 12:26:47

上一篇:Windows 虚拟主机怎么做下载站流量超标_虚拟主机流量超标解决

下一篇:微信公众号Token验证失败原因_配置与服务器端排查