错误类型:浏览器错误错误名称:证书颁发机构无效英文名称:NET::ERR_CERT_AUTHORITY_INVALID错误描述:顾名思义,当您的浏览器无法验证您网站的SSL证书的有效性时,就会出现此问题。如果您尚未设置证书或为您的网站使用HTTP(不推荐),则不应遇到此错误。
更多信息
即使您的网站上安装了SSL证书,网站访客也可能会遇到NET::ERR_CERT_AUTHORITY_INVALID错误。尽管名称令人生畏,但无效的证书颁发机构错误并不是您应该恐慌的事情。
简而言之,您的浏览器无法识别您的证书的有效性。为了让您“安全”,它会显示此错误,因此您知道发生了一些可疑的事情。但是,作为站长,您可以采取很多措施来解决问题。
在本教程中,我们将讨论错误消息的含义,以及它在不同浏览器中的报错信息。然后我们将教您如何通过涵盖所有可能的原因来修复NET::ERR_CERT_AUTHORITY_INVALID错误。
- NET::ERR_CERT_AUTHORITY_INVALID错误是什么
- NET::ERR_CERT_AUTHORITY_INVALID错误的不同变体
- 如何修复NET::ERR_CERT_AUTHORITY_INVALID错误
NET::ERR_CERT_AUTHORITY_INVALID错误是什么
顾名思义,当您的浏览器无法验证您网站的SSL证书的有效性时,就会出现此问题。如果您尚未设置证书或为您的网站使用HTTP(不推荐),则不应遇到此错误。
一般来说,无效证书颁发机构错误主要有以下三个原因。让我们依次分解每一个:
- 您正在使用自签名SSL证书。使用自签名证书可以为您省钱,但由于浏览器无法验证其有效性,您的访问者可能会遇到相关错误。浏览器警告会吓跑很多用户,因此我们建议不要使用这种方法。
- 您的证书已过期。SSL证书过期作为安全预防措施。您的证书的持续时间可能会有所不同,但在某些时候,您需要对其进行续订或自动执行续订过程(某些权威机构和网络主机使您可以轻松完成此操作)。
- 该证书来自不受信任的源。与自签名证书一样,如果浏览器无法验证生成证书的机构,您将看到错误。
请记住,每次用户使用SSL证书访问网站时,他们的浏览器都需要对其进行验证和解密。如果在该过程中出现任何错误,他们会看到警告。
在很多情况下,浏览器会主动阻止用户访问网站以保护他们。这通常以“Your Connection is Not Private” 错误的形式出现。正如您可能想象的那样,如果它发生在您自己的网站上,那将是一个巨大的问题。
有时,由于本地配置设置,您可能会遇到NET::ERR_CERT_AUTHORITY_INVALID错误。在接下来的部分中,我们将向您展示此错误可能出现的多种情况,然后我们将讨论如何对其进行故障排除。
NET::ERR_CERT_AUTHORITY_INVALID错误的不同变体
错误出现的方式可能会有所不同,具体取决于您使用的浏览器。您的操作系统和证书的配置也会在出现的不同错误消息中发挥作用。
考虑到这一点,让我们逐个查看NET::ERR_CERT_AUTHORITY_INVALID错误的最常见变体。
Chrome浏览器
当您在Chrome中遇到此错误时,浏览器会立即告诉您 “Your Connection is Not Private”。由于浏览器无法识别您的证书的有效性,因此无法加密您的数据。
这意味着如果您继续,您需要自担风险。错误消息如下所示:
攻击者可能试图从domain.com窃取您的信息(例如,密码、消息或信用卡)。
Chrome中的NET::ERR_CERT_AUTHORITY_INVALID错误
Chrome中此错误的常见变体包括以下代码:
- NET::ERR_CERT_AUTHORITY_INVALID
- NET::ERR_CERT_COMMON_NAME_INVALID(当证书与域不匹配时会发生这种情况)
- NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM
- NET::ERR_CERTIFICATE_TRANSPARENCY_REQUIRED
- NET::ERR_CERT_DATE_INVALID
- SSL CERTIFICATE ERROR
在每种情况下,Chrome都会查明证书中的错误来源。如果您愿意,浏览器可以让您继续访问该网站,但它会警告您不要这样做。
Firefox浏览器
Firefox不会浪费任何时间告诉您您可能遇到了潜在的安全风险。更重要的是,在解释潜在原因和告诉您不要惊慌时,该浏览器比Chrome做得更好。
以下是主要错误消息的内容:
Firefox检测到一个问题并且没有继续访问domain.com。该网站配置错误或您的计算机时钟设置为错误时间。该网站的证书可能已过期,这会阻止 Firefox 安全连接。如果您访问此站点,攻击者可能会尝试窃取您的密码、电子邮件或信用卡详细信息等信息。
Firefox中的NET::ERR_CERT_AUTHORITY_INVALID错误
但是,错误的这种变化不包括特定的代码。在大多数情况下,报错界面还将包含以下代码之一:
- SEC_ERROR_UNKNOWN_ISSUER
- SSL_ERROR_RX_MALFORMED_HANDSHAKE
- MOZILLA_PKIX_ERROR_KEY_PINNING_FAILURE
- SEC_ERROR_REUSED_ISSUER_AND_SERIAL
如果您看到类似上述之一的错误代码,请确保将其复制到某处。这是浏览器告诉您哪里出错的方式。根据我们的经验,简单搜索特定的错误代码通常足以帮助您快速找到解决方案。
微软Edge浏览器
您在下面看到的Microsoft Edge错误消息应该看起来很熟悉。它几乎与Chrome显示的消息相同,包括代码:
Edge中的NET::ERR_CERT_AUTHORITY_INVALID错误
错误也可以有不同的形式,包括以下内容:
- DLG_FLAGS_SEC_CERTDATE_INVALID
- DLG_FLAGS_INVALID_CA
- DLG_FLAGS_SEC_CERT_CN_INVALID
- NET::ERR_CERT_COMMON_NAME_INVALID
- ERROR CODE: O
与Chrome一样,这些错误消息可让您深入了解NET::ERR_CERT_AUTHORITY_INVALID错误的根源。
Safari浏览器
如果您是Safari用户,您会遇到“this connection is not private”错误的变体,这让您知道网站的证书和加密存在问题。以下是该消息的内容:
该网站可能会冒充“domain.com”来窃取您的个人或财务信息。您应该返回上一页。
Safari中的NET::ERR_CERT_AUTHORITY_INVALID错误
该特定错误是由于证书过期造成的。正如我们之前提到的,过期的证书是NET::ERR_CERT_AUTHORITY_INVALID错误的最常见原因之一。
如何修复NET::ERR_CERT_AUTHORITY_INVALID错误
既然您知道它在大多数主要浏览器中的样子,是时候看看如何解决NET::ERR_CERT_AUTHORITY_INVALID错误了。早些时候,我们讨论了其最常见的原因。但是,我们还提到您的本地配置在某些情况下可以触发它。
这意味着这个问题有很多潜在的解决方案。为简单起见,我们将首先解决三个最常见的罪魁祸首,即过期、自签名和“不可信”的证书。然后我们将转向更通用的解决方案。
以下是我们将介绍的内容:
- 运行SSL服务器测试
- 从有效机构获取证书
- 更新您的SSL证书
- 尝试重新加载页面(或使用隐身模式)
- 清除浏览器的缓存和Cookie
- 同步计算机的时钟
- 尝试使用不同的网络
- 禁用您的VPN或防病毒软件
- 清除计算机的SSL状态
1. 运行SSL服务器测试
如果您在错误开始出现前不久安装了SSL证书,则安装过程中可能出现问题。如果您手动安装证书,而不是通过您的Web主机安装,这通常会发生。
检查证书是否正确安装的最简单方法是使用SSL检查工具,例如Qualys SSL Labs提供的工具。这个特殊的工具可以免费使用。
您所要做的就是输入出现错误的域,然后单击“Submit”按钮:
运行SSL检查
现在,等待几分钟,等待结果出现。理想情况下,您应该获得 A+,并且所有证书都获得满分:
SSL测试结果
如果您没有获得满分,请向下滚动到工具显示的证书列表。应该有一个部分告诉您您的证书是否受信任。如果该工具给您一个负面的结果,那么您将需要安装来自受信任来源的证书。
2. 从有效机构获取证书
现在没有理由使用自签名证书。如果成本是唯一因素,您可以从Let’s Encrypt获得免费证书。由于它是一个有效的授权机构,每个浏览器都会识别您的证书的有效性:
Let’s Encrypt主页
但是,对于某些网站,您需要的不仅仅是免费证书。免费证书需要经常更新,这可能是件苦差事。高级证书提供更多好处,例如数据泄露时的保险、多个域的加密等等。
特别是对于电子商务网站,支付高级SSL证书是值得的。如果您确实购买了证书,请确保它来自有效的授权机构,以避免遇到NET::ERR_CERT_AUTHORITY_INVALID错误。
3. 更新您的SSL证书
出于安全目的, SSL证书需要经常更新。续订过程会验证您域的“身份”,如果没有它,证书将失去部分有效性。Let’s Encrypt的免费证书每90天更新一次,而付费选项的使用寿命更长。
当期限结束时,如果您的虚拟主机不为您处理,您将需要手动更新您的证书。无论如何,Let’s Encrypt会在您的证书即将到期时与您联系,以便您提前续订。但是,根据您使用的虚拟主机,您可能无法通过控制面板访问续订选项。
Certbot主页
如果您有权访问您的服务器,则可以使用Certbot工具通过命令行安装和更新SSL证书。
续订SSL证书后,请再次尝试加载您的网站,以查看NET::ERR_CERT_AUTHORITY_INVALID错误是否仍然存在。
4. 尝试重新加载页面(或使用隐身模式)
如果上述修复均无效,则可以直接从您的计算机开始故障排除。
在许多情况下,当您尝试重新加载页面时,NET::ERR_CERT_AUTHORITY_INVALID错误会自行消失。这样做只需要一秒钟,所以尝试不会有什么坏处。
如果多次重新加载后错误仍然存在,我们建议您尝试使用“隐身模式”访问网站( 如果您的浏览器提供该选项):
Chrome的隐身模式
如果网站在隐身模式下正常加载,则意味着错误可能是由您的浏览器尝试加载页面的过时缓存版本引起的。这为您提供了足够的信息来直接解决问题(我们将在下一节中看到)。
5. 清除浏览器的缓存和Cookie
如果将浏览器切换到隐身模式使NET::ERR_CERT_AUTHORITY_INVALID错误消失,则问题可能与浏览器的缓存有关。
清除缓存和cookie很容易,但过程会因您使用的浏览器而异。您可以在下面找到在所有主要浏览器中清除缓存的说明:
- 如何清除 Google Chrome 的浏览器缓存
- 如何清除Mozilla Firefox的浏览器缓存
- 如何清除Safari的浏览器缓存
- 如何清除Internet Explorer的浏览器缓存
- 如何清除Microsoft Edge的浏览器缓存
- 如何清除Opera的浏览器缓存
另一种解决方案是尝试强制刷新您的网站 ,这样您就不必删除整个缓存。然而,强制刷新有时不起作用,因此清除缓存是我们推荐的解决方案。
6. 同步你电脑的时钟
NET::ERR_CERT_AUTHORITY_INVALID的最常见原因之一是因为您的计算机设置了错误的日期或时间。澄清一下,设备时钟的错误会干扰浏览器验证网站证书的能力。
好消息是,如果这是问题所在,则很容易解决。如果您发现计算机时钟与当前时间之间存在差异,您可以以秒为单位进行调整。具体如何执行取决于您使用的操作系统 (OS)。
Windows
转到系统托盘并右键单击计算机的时间,然后选择显示“调整日期/时间”的选项:
在Windows中调整时间
将出现一个设置窗口。在Synchronize your clock下查找显示Sync now的选项,然后单击它:同步您的计算机时钟。
同步您的计算机时钟
如果您有Internet连接,Windows将确保日期和时间正确。为避免将来出现此问题,我们建议您启用自动设置时间选项。此设置应确保您的计算机始终具有正确的时间。
Mac电脑
如果您使用的是macOS,同步过程也非常简单。您所要做的就是按照以下步骤操作:
在macOS中调整时间
- 在Apple菜单中选择系统偏好选项。
- 单击日期和时间图标。
- 打开自动设置日期和时间选项。
在关闭设置屏幕之前,请浏览时区选项卡并确保您使用的是正确的时区。完成后,您可以检查NET::ERR_CERT_AUTHORITY_INVALID错误是否仍然存在。
7. 尝试使用不同的网络
在某些情况下,当您使用公共网络时会弹出NET::ERR_CERT_AUTHORITY_INVALID错误,例如您可以在咖啡店或旅游景点中找到的网络。这些网络通常不会安全地路由流量,这可能会触发错误。
如果您的计算机使用公共网络,我们建议您尝试使用智能手机的移动数据通过智能手机访问您的网站。您在这里的目标是确定是否是原始网络导致了问题。
如果在使用移动数据时错误消失,那么您就知道需要切换网络。如果您经常使用公共互联网访问,保护您隐私的另一个选择是注册虚拟专用网络 (VPN)。
即使您使用的是不安全的访问点,良好的 VPN 服务也将有助于保护您的数据。如果您想使用优质的 VPN 服务,则需要付费,但如果您总是在旅途中,这笔费用是值得的。
8. 禁用您的VPN或防病毒软件
如果您已经在使用VPN并且遇到NET::ERR_CERT_AUTHORITY_INVALID错误,则服务本身可能会触发它。
另一个常见的罪魁祸首是防病毒软件。在您尝试了所有其他方法后,我们建议您暂时关闭VPN并禁用防病毒软件。然后尝试再次访问您的网站并使用强制刷新以确保它不会从浏览器的缓存中加载。
如果错误消失,请尝试重新启用这两项服务,一次一项,然后查看是否再次收到无效证书通知。这会让你知道哪个有问题。然后,您可以选择尝试更新软件、联系其支持团队寻求帮助,或寻找替代解决方案。
9. 清除计算机的SSL状态
您的计算机会临时保存您访问的网站的证书的缓存副本,因此不必在您每次访问它们时都运行整个验证过程。
您可以将SSL状态视为缓存,仅用于证书。与缓存一样,当您遇到无效的证书颁发机构错误时,您可以擦除计算机的SSL状态。
在Windows中,您可以通过从控制面板访问Internet选项菜单并移动到内容选项卡来执行此操作:
在Windows中清除SSL状态
单击“清除SSL状态”按钮,关闭窗口,然后尝试重新加载您的网站。
如果您使用的是macOS,并且过去曾接受过不受信任的证书,则可能需要从Mac钥匙串中删除为其创建的证书例外。
为此,请单击Finder图标,然后依次单击Go>Utilities>Keychain Access:
macOS中的钥匙串访问
在类别部分下,选择证书。任何不受信任的证书都应该在其名称下有一个红色的“X”。要删除它们,请单击 屏幕顶部的“ 编辑”,然后单击“删除”。
小结
如果您无法确定导致错误的原因,则NET::ERR_CERT_AUTHORITY_INVALID错误可能需要一段时间才能进行故障排除。另外,如果您的访问者也看到它,这可能会损害您的流量和声誉。
好消息是大多数修复只需很少的时间即可实施。您首先要确保您的SSL证书是最新且有效的,然后执行一些基本的故障排除任务,例如重新加载页面和清除浏览器的缓存。
之后,您可以继续进行更复杂的修复,例如清除SSL状态和运行SSL服务器测试。