无论您是网站运维人员还是普通用户,了解常见的SSL证书错误及其解决方法都至关重要。本文,国科云将带您逐一排查并解决这些令人头疼的问题。

错误现象:
浏览器显示“您的连接不是私密连接”、“此网站的安全证书已过期”或“NET::ERR_CERT_DATE_INVALID”等错误。
原因分析:
SSL证书并非永久有效,它有一个明确的有效期(目前最长为13个月)。一旦超过这个有效期,证书就会失效,浏览器将拒绝建立安全连接。这是出于安全考虑,强制定期验证网站身份和密钥更新。
解决方法:
1.对于网站所有者:
重新购买并部署证书:联系您的证书颁发机构(CA)或服务商,续费或购买一个新的证书。
完成验证:根据证书类型(DV,OV,EV)完成相应的域名或组织验证。
安装新证书:将新颁发的证书文件部署到您的Web服务器(如Nginx,Apache,IIS等)上。
重启服务:部署后,重启Web服务器服务以使新证书生效。
2.预防措施:
设置提醒:在证书到期前30天、15天、7天设置多次提醒。大多数证书服务商也提供邮件提醒服务。
自动化管理:对于DV证书,强烈推荐使用工具实现全自动申请和续期,一劳永逸。
使用监控工具:使用第三方网站监控服务或自建脚本,定期检查证书有效期。
二、证书名称不匹配错误现象:
浏览器提示“此网站出具的安全证书是针对其他网站的地址”、“NET::ERR_CERT_COMMON_NAME_INVALID”。
原因分析:
SSL证书中有一个“通用名称”(CommonName,CN)字段,它必须与用户实际访问的网站域名完全一致。如果访问www.guokeyun.com,但证书是为guokeyun.com颁发的,就会触发此错误。
常见场景:
证书仅覆盖主域名(guokeyun.com),但用户访问了带www的域名(www.guokeyun.com),或反之。
证书是多域名或通配符证书,但当前访问的域名恰好不在证书的覆盖列表中。
服务器配置错误,将一个站点的证书用在了另一个域名的站点上。
解决方法:
1.检查证书覆盖的域名:使用在线SSL检查工具或浏览器自带的证书查看器,确认证书到底为哪些域名提供保护。
2.确保证书类型匹配需求:
如果同时有根域名和www域名访问需求,应申请同时包含example.com和www.example.com的多域名证书,或者申请覆盖.example.com的通配符证书。
3.检查服务器配置:确保Web服务器的虚拟主机配置正确,每个域名都指向了正确的网站目录并加载了对应的证书文件。
证书颁发机构不受信任错误现象:
“此证书并非由可信的证书颁发机构颁发”、“NET::ERR_CERT_AUTHORITY_INVALID”。
原因分析:
浏览器和操作系统维护着一个“受信任的根证书颁发机构”列表。如果您的SSL证书是由一个不在这个列表中的机构(即“不受信任的CA”)签发的,或者证书链不完整,就会出现此错误。
具体原因:
自签名证书:自己创建的证书,未经公共信任的CA签名。常用于内部测试环境。
证书链不完整:SSL证书的信任是链式的:服务器证书→中间CA证书→根CA证书。如果服务器没有在配置中发送“中间CA证书”,浏览器可能无法追溯到受信任的根证书,从而导致验证失败。
使用了过时或不常见的CA:某些老旧的系统或特定区域的CA可能未被主流浏览器广泛信任。
解决方法:
1.从受信任的CA购买证书:确保您的证书来自全球或国内主流且被广泛信任的CA(如DigiCert,Sectigo,GlobalSign,或国内的CFCA、国科云等)。
2.安装中间证书:这是最常见的解决方案。当您从CA获取证书时,通常会得到一个或多个“中间CA证书”文件。您需要将这些中间证书与您的服务器证书捆绑在一起,并在Web服务器配置中正确指定这个捆绑后的文件。
可以使用在线SSL检查工具验证您的证书链是否已正确安装。
四、缺乏主题备用名称错误现象:
在较老的浏览器上可能正常,但在现代浏览器(如Chrome)中访问IP地址或特定域名时,出现“名称不匹配”错误。
原因分析:
早期SSL证书只使用“通用名称”(CN)来标识域名。现代标准要求使用“主题备用名称”(SAN)扩展字段来列出所有受保护的域名。如果证书没有SAN字段,而浏览器又严格执行新标准,即使CN正确,也会报错。
解决方法:
申请新证书时,确保CA提供了SAN扩展。几乎所有正规的现代证书都默认包含此功能。
如果您需要保护多个不同的域名(例如example.com,example.net,ip.address),务必申请多域名证书(SAN证书),并在申请时明确列出所有需要的域名。
五、混合内容错误现象:
浏览器地址栏虽然显示了HTTPS和小锁,但小锁上带有感叹号或三角警告,点击后显示“您与此网站之间建立的连接并非完全安全”或“此页面上有其他资源未使用安全连接”。
原因分析:
这是最常见且容易被忽略的问题。您的网页主体是通过HTTPS加载的,但页面中包含的子资源(如图片、JavaScript脚本、CSS样式表、iframe等)却是通过不安全的HTTP协议加载的。这被称为“混合内容”(MixedContent)。这会破坏整个页面的安全性,因为攻击者可能劫持这些HTTP资源来篡改页面内容。
解决方法:
1.识别混合内容:
使用浏览器开发者工具(按F12),查看“控制台”(Console)或“安全”(Security)标签页,通常会明确列出不安全的资源URL。
2.更新资源链接:
将页面中所有资源的引用链接(src或href属性)从http://改为https://。
如果第三方服务(如CDN、统计代码、字体库)不支持HTTPS,考虑寻找替代方案。
3.使用协议相对URL:将链接写成//example.com/resource.js,浏览器会自动根据当前页面的协议(HTTP或HTTPS)来加载资源。但请注意,这种方法在某些特定场景下已不推荐,直接使用HTTPS是更佳实践。
六、其他常见错误服务器时钟不正确:如果服务器的时间设置错误(过快或过慢),浏览器在检查证书有效期时可能会误判证书“尚未生效”或“已过期”。确保服务器使用NTP服务进行时间同步。
浏览器缓存或问题:有时旧的证书信息或SSL状态会被浏览器缓存。尝试清除浏览器缓存和SSL状态。
Chrome方法:设置->隐私设置和安全性->清除浏览数据->高级->选择“缓存的图片和文件”以及“其他站点数据”。
SNI问题:如果一台服务器使用一个IP地址托管多个HTTPS网站,需要依赖“服务器名称指示”(SNI)技术来传递正确的证书。老旧的客户端不支持SNI,会导致收到错误的证书。如今这已不是大问题,但若需支持老旧设备,需考虑其他方案。
上面这几种情况基本涵盖了常见的SSL证书错误类型,通过本篇介绍,基本上具备了诊断和修复绝大多数SSL证书错误的能力。
国科云提供从咨询、申请、部署到检测的一站式SSL证书服务,专业团队全程托管,助力企业轻松构建网站安全防线,为业务发展筑牢安全基石!