修复 NET::ERR_CERT_AUTHORITY_INVALID 错误的 9 种方法
有时候即使在网站上安装了 SSL 证书,网站的用户也可能会遇到 NET::ERR_CERT_AUTHORITY_INVALID
错误。 尽管名称令人生畏,但无效的证书颁发机构错误并不是您应该恐慌的事情。
简而言之,浏览器无法识别你的证书的有效性。 为了让您“安全”,它会显示此错误,因此您知道发生了一些可疑的事情。 但是,作为网站所有者,您可以采取很多措施来解决问题。
在本教程中,我们将讨论错误消息的含义,以及它在不同浏览器中的外观。 然后我们将教您如何通过涵盖所有可能的原因来修复 NET::ERR_CERT_AUTHORITY_INVALID 错误。
让我们开始吧!
什么是 NET::ERR_CERT_AUTHORITY_INVALID
顾名思义,当您的浏览器无法验证网站的 SSL 证书的有效性时,就会出现此问题。 如果尚未设置证书或为网站使用 HTTP(不推荐),则不应遇到此错误。
一般来说,无效证书颁发机构错误的主要原因有三个。 让我们依次分解每一个:
- 您正在使用自签名 SSL 证书。 使用自签名证书可以省钱,但由于浏览器无法验证其有效性,访问者可能会遇到相关错误。 浏览器警告会吓跑很多用户,因此我们建议不要使用这种方法。
- 您的证书已过期。 SSL 证书过期作为安全预防措施。 证书的持续时间可能会有所不同,但在某些时候,您需要对其进行续订或使续订过程自动化(某些权威机构和网络主机使您可以轻松地做到这一点)。
- 该证书来自不受信任的来源。 与自签名证书一样,如果浏览器无法验证生成证书的机构,将看到错误。
请记住,每次用户使用 SSL 证书访问网站时,他们的浏览器都需要对其进行验证和解密。 如果在该过程中出现任何错误,他们会看到警告。
在很多情况下,浏览器会主动阻止用户访问网站以保护他们。 这通常以“您的连接不是私人的”错误的形式出现。 正如您可能想象的那样,如果它发生在你自己的网站上,那将是一个巨大的问题。
有时,由于本地配置设置,您可能会遇到 NET::ERR_CERT_AUTHORITY_INVALID
错误。 在接下来的部分中,我们将向您展示此错误可能出现的多种情况,然后我们将讨论如何对其进行故障排除。
当您看到 NET::ERR_CERT_AUTHORITY_INVALID 错误消息弹出时,您可能会担心😬。 尽管名称令人生畏,但这种无效的证书颁发机构错误并不会引起警报。 😅 了解如何通过几个简单的步骤修复它。
NET::ERR_CERT_AUTHORITY_INVALID 错误变化
错误出现的方式可能会有所不同,具体取决于您使用的浏览器。 您的操作系统和证书的配置也会在出现的不同错误消息中发挥作用。
考虑到这一点,让我们逐个查看 NET::ERR_CERT_AUTHORITY_INVALID 错误的最常见变体。
谷歌浏览器 Chrome
当在 Chrome 中遇到此错误时,浏览器会立即告诉我们连接不是私密的。 由于浏览器无法识别您的证书的有效性,因此无法加密您的数据。
这意味着如果您继续,您需要自担风险。 错误消息如下所示:
攻击者可能试图从 domain.com 窃取您的信息(例如,密码、消息或信用卡)。
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 证书错误
在每种情况下,Chrome 都会查明证书中的错误来源。 如果您愿意,浏览器可以让您继续访问该网站,但它会警告您不要这样做。
火狐浏览器 Mozilla Firefox
Firefox 不会浪费任何时间告诉我们可能遇到了潜在的安全风险。 更重要的是,在解释潜在原因和告诉你不要惊慌时,此浏览器比 Chrome 做得更好。
以下是主要错误消息的内容:
Firefox 检测到问题并且没有继续访问 domain.com。 该网站配置错误或您的计算机时钟设置错误。该网站的证书可能已过期,这会阻止 Firefox 安全连接。 如果访问此站点,攻击者可能会尝试窃取你的密码、电子邮件或信用卡详细信息等信息。
但是,错误的这种变化不包括特定的代码。 在大多数情况下,还将包含以下代码之一:
- SEC_ERROR_UNKNOWN_ISSUER
- SSL_ERROR_RX_MALFORMED_HANDSHAKE
- MOZILLA_PKIX_ERROR_KEY_PINNING_FAILURE
- SEC_ERROR_REUSED_ISSUER_AND_SERIAL
如果看到类似上述之一的错误代码,请确保将其复制到某处。 这是浏览器告诉您哪里出错的方式。 根据我们的经验,简单搜索特定的错误代码通常足以帮助您快速找到解决方案。
Microsoft Edge
您在下面看到的 Microsoft Edge 错误消息应该看起来很熟悉。 它几乎与 Chrome 显示的消息相同,包括代码:
错误也可以有不同的形式,包括以下内容:
- DLG_FLAGS_SEC_CERTDATE_INVALID
- DLG_FLAGS_INVALID_CA
- DLG_FLAGS_SEC_CERT_CN_INVALID
- NET::ERR_CERT_COMMON_NAME_INVALID
- 错误代码:O
与 Chrome 一样,这些错误消息可让您深入了解 NET::ERR_CERT_AUTHORITY_INVALID
错误的根源。
Safari
如果是 Safari 用户,您会遇到“此连接不是私有的”错误的变体,这让您知道网站的证书和加密存在问题。 消息内容如下:
该网站可能会冒充“domain.com”来窃取您的个人或财务信息。 您应该返回上一页。
该特定错误是由于证书过期造成的。 正如我们之前提到的,过期的证书是 NET::ERR_CERT_AUTHORITY_INVALID
错误的最常见原因之一。
如何修复 NET::ERR_CERT_AUTHORITY_INVALID (9 种方式)
既然知道了它在大多数主要浏览器中的样子,是时候看看如何解决 NET::ERR_CERT_AUTHORITY_INVALID
错误了。 早些时候,我们讨论了其最常见的原因。 但是,我们还提到您的本地配置在某些情况下可以触发它。
这意味着这个问题有很多潜在的解决方案。 为了简单起见,我们将首先解决三个最常见的罪魁祸首,即过期、自签名和“不可信”的证书。 然后我们将转向更通用的解决方案。
1. 运行 SSL 服务器测试
如果在错误开始出现前不久安装了 SSL 证书,则安装过程中可能出现问题。 如果您手动安装证书,而不是通过您的 Web 主机安装,就通常会发生这样的情况。
检查证书是否正确安装的最简单方法是使用 SSL 检查工具,例如 Qualys SSL Labs 提供的工具。 这个特殊的工具可以免费使用。
您所要做的就是输入出现错误的域,然后单击“提交”按钮:
现在,等待几分钟,等待结果出现。 理想情况下,您应该获得 A+,并且所有证书都获得满分:
如果您没有获得满分,请向下滚动到工具显示的证书列表。 应该有一个部分告诉我们该网站证书是否受信任。 如果该工具给您一个负面的结果,那么您需要安装来自可信来源的证书。
2. 从有效机构获取证书
现在没有理由使用自签名证书。 如果成本是唯一因素,您可以从 Let’s Encrypt 获得免费证书。 由于它是一个有效的权威,每个浏览器都会识别你的证书的有效性:
对于某些网站,我们需要的不仅仅是免费证书。 免费证书需要经常更新,这可能是件苦差事。 高级证书提供更多好处,例如数据泄露时的保险、多个域的加密等等。
特别是对于电子商务网站,支付高级 SSL 证书是值得的。 如果您确实购买了证书,请确保它来自有效的授权机构,以避免遇到 NET::ERR_CERT_AUTHORITY_INVALID
错误。
3. 更新你的 SSL 证书
出于安全目的,SSL 证书需要经常更新。 续订过程会验证您域的“身份”,如果没有它,证书将失去部分有效性。 Let's Encrypt 的免费证书每 90 天更新一次,而付费选项的使用时间更长。
当期限结束时,如果您的虚拟主机不能自动处理,您将需要手动更新您的证书。 无论如何,Let's Encrypt 会在您的证书即将到期时与您联系,以便您提前续订。 但是,根据您使用的虚拟主机,您可能无法通过控制面板访问续订选项。
如果有权访问服务器,则可以使用 Certbot
工具通过命令行安装和更新 SSL 证书。
续订 SSL 证书后,请再次尝试加载您的网站,以查看 NET::ERR_CERT_AUTHORITY_INVALID 错误是否仍然存在。
4. 尝试重新加载页面(或使用隐身模式)
如果上述修复均无效,则是时候直接从您的计算机开始故障排除了。
在许多情况下,当您尝试重新加载页面时,NET::ERR_CERT_AUTHORITY_INVALID 错误会自行消失。 这样做只需要一秒钟,所以尝试不会有什么坏处。
如果错误在多次重新加载后仍然存在,我们建议您尝试使用“隐身模式”访问网站,前提是您的浏览器支持该模式:
如果网站在隐身模式下正常加载,则意味着错误可能是由您的浏览器尝试加载页面的过时缓存版本引起的。 这为我们提供了足够的信息来直接解决问题(我们将在下一节中看到)。
5. 清除浏览器的缓存和 Cookie
如果将浏览器切换到隐身模式使 NET::ERR_CERT_AUTHORITY_INVALID 错误消失,则问题可能与浏览器的缓存有关。
清除缓存和 cookie 很容易,但过程会因您使用的浏览器而异。 我们可以在如何清除所有主要浏览器的缓存这篇文章中找到所有主要浏览器中清除缓存的说明
另一种解决方案是尝试强制刷新您的网站,这样您就不必删除整个缓存。 然而,强制刷新有时不起作用,因此清除缓存是我们推荐的解决方案。
6. 同步计算机的时钟
NET::ERR_CERT_AUTHORITY_INVALID 的最常见原因之一是因为您的计算机设置了错误的日期或时间。 澄清一下,设备时钟的错误会干扰浏览器验证网站证书的能力。
如果这是问题所在,那就很容易解决。 如果发现计算机时钟与当前时间之间存在差异,您可以以秒为单位进行调整。 具体如何执行取决于您使用的操作系统 (OS)。
Windows
转到系统选项并右键单击计算机的时间,然后选择显示调整日期/时间的选项:
将出现一个设置窗口。 在 Synchronize your clock
下查找显示 Sync now
的选项,然后单击它:同步您的计算机时钟。
如果您有 Internet 连接,计算机能联网,Windows 将确保日期和时间正确。 为避免将来出现此问题,我们建议您启用自动设置时间选项。 此设置应确保您的计算机始终具有正确的时间。
Mac
如果您使用的是 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 选项菜单并移动到内容选项卡来执行完成此操作:
单击 Clear SSL state 按钮,关闭窗口,然后尝试重新加载您的网站。
如果您使用的是 macOS,并且过去接受过不受信任的证书,则可能需要从 Mac 钥匙串中删除为其创建的证书例外。
为此,请单击 Finder 图标,然后依次单击 Go > Utilities > Keychain Access:
在 Category 部分下,选择 Certificates。 任何不受信任的证书的名称下都应该有一个红色的“X”。 要删除它们,请单击屏幕顶部的 Edit,然后单击删除。
NET::ERR_CERT_AUTHORITY_INVALID 可能看起来很吓人😱,但本篇文章将为您提供跨浏览器解决它所需的工具💪
相关文章
使用 Docker 网络主机命令
发布时间:2023/04/18 浏览次数:111 分类:Docker
-
在本文中,我们将学习如何使用 --network 命令将容器添加到主机网络。 如果我们不使用此命令指定网络,我们还将了解如何将容器添加到默认网络。
在 Docker Compose 中添加网络模式
发布时间:2023/04/17 浏览次数:84 分类:Docker
-
默认情况下,单个网络由 Docker Compose 在我们的应用程序中创建,并将每个容器作为服务添加到那里。 网络上的每个容器都可以被单个网络上的容器访问和找到。
Flask 网络套接字
发布时间:2023/03/27 浏览次数:136 分类:Python
-
通过这个解释,我们将了解 WebSocket 是什么以及它是如何在客户端和服务器之间工作的。我们还将学习如何借助 Flask 中的 flask_socketio 模块制作一个实时聊天应用程序。
Python 网络编程简介
发布时间:2023/02/07 浏览次数:77 分类:网络
-
本教程将介绍 Python 中的套接字以及如何使用 socket 模块在 Python 中构建 HTTP 服务器和客户端。 它还将涵盖 Tornado,这是一个 Python 网络库,非常适合长轮询、WebSockets 和其他需要与每个用
linux/unix 中的十大基本网络命令
发布时间:2023/02/06 浏览次数:89 分类:网络
-
网络是 Unix 的重要组成部分,它提供了许多工具和命令来诊断任何网络问题。 我们经常需要查看会话是否已连接。 由于很多协议使用套接字,我们可以使用 Linux 中可用的 netstat 、 te
如何修复“This Site Can’t Provide a Secure Connection”错误
发布时间:2021/09/09 浏览次数:2407 分类:网络
-
看到“This Site Can’t Provide a Secure Connection“的通知可能会令人困惑和震惊。上面的错误消息翻译一下就是“此站点无法提供安全连接”。本质上,它是到使用 HTTPS