如何修复NET::ERR_CERT_COMMON_NAME_INVALID错误

如何修复NET::ERR_CERT_COMMON_NAME_INVALID错误-1

通过安全超文本传输​​协议 (HTTPS)加载您的网站是一项关键的网络安全最佳实践。但是,如果您没有正确安装安全套接字层 (SSL) 证书,您可能会遇到许多错误,例如NET::ERR_CERT_COMMON_NAME_INVALID。

诚然,解决此错误可能有点棘手,因为它可能出现在您的浏览器中的原因有很多。如果您可以缩小原因,解决此 SSL 问题根本不需要很长时间。

在本文中,我们将解释NET::ERR_CERT_COMMON_NAME_INVALID错误的含义,并向您展示它在各种浏览器中的外观示例。然后我们将分享您可以用来修复它的几种方法。

  1. 了解导致NET::ERR_CERT_COMMON_NAME_INVALID错误的原因
  2. NET::ERR_CERT_COMMON_NAME_INVALID错误的变体
  3. 如何修复NET::ERR_CERT_COMMON_NAME_INVALID错误

了解导致NET::ERR_CERT_COMMON_NAME_INVALID错误的原因

在我们深入研究导致NET::ERR_CERT_COMMON_NAME_INVALID错误的原因之前,让我们分解相关术语。在“common name”这个错误的引用是在域上的SSL证书已安装。

例如,如果您的网站位于mydomain.com,则您的SSL证书上的通用名称将是mydomain.com。因此,正如错误消息所述,NET::ERR_CERT_COMMON_NAME_INVALID背后的根本问题是您的SSL证书上的通用名称由于某种原因无效。

通常,这意味着您的证书上的名称与其安装的域不匹配。但是,还有其他情况可能会导致此消息出现在您的浏览器中,包括:

如您所见,许多不同的因素都可能导致NET::ERR_CERT_COMMON_NAME_INVALID错误。这可能会使确定正确的解决方案变得困难,但一点耐心将有助于您解决问题。

NET::ERR_CERT_COMMON_NAME_INVALID错误的变体

我们将很快深入研究NET::ERR_CERT_COMMON_NAME_INVALID错误的解决方案。但是,首先,您需要能够在浏览器中识别它。

下面是这个问题在网络上最流行的客户端中的样子。

Chrome浏览器

像许多其他与HTTPS相关的错误一样,谷歌浏览器通过显示“Your connection is not private”警告来表示存在常见的名称不匹配:

Google Chrome中的NET::ERR_CERT_COMMON_NAME_INVALID错误

Google Chrome中的NET::ERR_CERT_COMMON_NAME_INVALID错误

您将看到主要消息下方列出的特定问题 (NET::ERR_CERT_COMMON_NAME_INVALID)。看到此屏幕的用户可以选择使用HTTP继续访问您的站点。

此消息有可能吓跑许多潜在访客。

Firefox浏览器

Firefox 提供了一个稍微不同的通用名称不匹配错误的变体。在“Your connection is not secure”标题下,它会告诉您您尝试访问的网站配置不正确,并建议您不要访问它。

您可能还会看到一条消息,内容为“Warning: Potential Security Risk Ahead(警告:潜在的安全风险)”:

Mozilla Firefox中的安全风险警告

Mozilla Firefox中的安全风险警告

它也可能在下面显示更具体的错误消息,指出安全证书无效并且仅配置为使用列出的域名。

您还将看到“SSL_ERROR_BAD_CERT_DOMAIN”代码。

Safari浏览器

在Safari中,相应的错误消息显示为“Safari can’t verify the identity of the website(Safari无法验证网站的身份)”或“Safari can’t open the page(Safari无法打开页面)”,然后是您尝试访问的域。

它还可能声明站点的SSL证书无效或无法建立安全连接:

Safari浏览器出错

Safari浏览器出错

与其他浏览器相比,Safari的常见名称不匹配错误消息有些含糊。

如果您看到此错误窗口,则其背后可能还有其他与SSL相关的问题,因此请务必寻求各种解决方案。

IE浏览器

Internet Explorer切入正题,并通知您“此站点不安全(This site is not secure)”。并表示SSL证书的可信度存在问题。此消息后可能会跟随一些不同的规范:

Internet Explorer中的安全证书警告

Internet Explorer中的安全证书警告

与Chrome中的NET::ERR_CERT_COMMON_NAME_INVALID错误相当的问题的问题通常是:“该网站提供的安全证书是针对不同网站的地址颁发的。”

它还将为访问者提供一些潜在的解决方案,例如在他们输入的URL中添加或删除“www”。

但是,此类修复只是暂时的。持续存在的错误仍可能会损害您网站的可信度并阻止您增加流量,因此最好找到问题的根源并迅速解决。

如何修复NET::ERR_CERT_COMMON_NAME_INVALID错误

正如您现在所知,NET::ERR_CERT_COMMON_NAME_INVALID错误有很多可能的原因。因此,它也有很多潜在的修复方法。您可以尝试在您的网站上解决此问题的九种方法。

1. 验证您的SSL证书是否正确

NET::ERR_CERT_COMMON_NAME_INVALID错误的最基本原因是您站点的域与您的SSL证书上列出的通用名称不匹配。因此,您要尝试的第一个修复是查看您的证书以确定它是否配置错误。

在整篇文章中,我们将展示在Google Chrome中解决此错误的示例。但是,其他浏览器应该使您能够通过类似的步骤完成相同的结果。

首先,单击URL栏中的“不安全(Not Secure)”警告。在打开的菜单中,选择Certificate证书 (Invalid无效)

在Google Chrome中打开证书检查器

在Google Chrome中打开证书检查器

这将打开一个小窗口,显示您的SSL证书的详细信息:

在Google Chrome中检查网站的SSL证书

在Google Chrome中检查网站的SSL证书

此处列出的域应与您尝试访问的域相匹配。如果没有,您就会知道您的证书配置错误。

最好的解决方案是从您的站点中删除证书并安装一个新证书。

验证通配符SSL证书

当涉及通配符SSL证书时,NET::ERR_CERT_COMMON_NAME_INVALID错误会变得稍微复杂一些 。这种类型的证书旨在加密多个子域的数据。

因此,不是在证书上列出一个通用名称,而是 使用诸如*.example.com 之类的子域级别。如果您安装了通配符证书并且看到NET::ERR_CERT_COMMON_NAME_INVALID错误,则可能意味着您的证书不涵盖您尝试访问的子域。

在浏览器中验证SSL证书时请记住这一点。另请注意,通配符SSL证书仅保护一个子域级别。例如,您需要为*.example.com 和*.subdomain.example.com 提供单独的证书。

验证主题备用名称 (SAN) 证书

主题备用名称 (SAN) 证书可以加密指向同一站点的多个域的数据。这可能包括www和非www变体、子域和顶级域 (TLD)变体。

如果您尝试访问的站点使用SAN证书,则在您的浏览器中验证 SSL 证书时,您可能需要做一些进一步的挖掘。

在Chrome中,单击证书窗口中的详细信息

Google Chrome中证书检查器窗口的“详细信息”选项卡

Google Chrome中证书检查器窗口的“详细信息”选项卡

向下滚动,直到找到标有Extension Subject Alternative Name的部分。在它下方,您应该会看到证书保护的所有域的列表。

2. 检查错误配置的重定向

如果您将站点从一个域重定向到另一个域, 并且没有在第一个域上安装SSL证书,则可能会导致错误。例如,许多SSL证书不会自动说明您网站的www和非www版本。

假设您将www.example.com设置为重定向到example.com。如果您在example.com上而不是在www.example.com上安装 SSL 证书,您可能会看到NET::ERR_CERT_COMMON_NAME_INVALID错误。

如果您不确定您的网站是否以这种方式重定向访问者,您可以使用Redirect mapper进行检查:

重定向映射器工具

重定向映射器工具

此工具仅检查 您网站的HTTP和HTTPS版本之间以及www和非www版本之间的重定向。

如果您发现重定向干扰了您的SSL证书,您可以尝试几种解决方案。一种是将证书上的通用名称更改为正确版本的域。

您还可以为要重定向的域获取另一个证书,或者获取涵盖两个域的SAN证书。对于通配符域,您需要列出要加密的每个子域,而不是在它们之间重定向。

3. 确保您的WordPress地址和站点地址匹配

在没有安装SSL证书的情况下,意外地将您的站点地址切换到HTTPS是相当容易的,尤其是在WordPress中。无论您认为自己是在实施安全最佳实践,还是只是在网站设置中闲逛,您都可能无意中导致了NET::ERR_CERT_COMMON_NAME_INVALID错误。

解决这个问题相当简单。

在您的WordPress仪表板中,导航到设置>常规。在那里,确保您的WordPress地址站点地址匹配:

检查WordPress地址和站点地址设置

检查WordPress地址和站点地址设置

此外,如果这些URL使用HTTPS而您没有安装SSL证书,请将它们更改为HTTP。请记住保存您所做的任何编辑。

如果进行此切换后错误仍然存​​在,您可能还需要通过 hpMyAdmin更改数据库中的地址。

您可以通过您的主机帐户访问此程序。通过单击左侧边栏中的名称打开您站点的数据库,然后访问wp_options表:

检查phpMyAdmin中的siteurl和home行

检查phpMyAdmin中的siteurl和home行

查找siteurl home行。根据需要编辑地址,然后检查您是否可以访问您的站点。

4. 确定您的站点是否使用自签名SSL证书

当您通过Let’s Encrypt或其他信誉良好的来源获得SSL证书时,它由公认的证书颁发机构 (CA) 签署。自签名证书不受CA支持,而是由用户创建。

自签名证书不如CA认可的证书安全。一些用户发现它们很有吸引力,因为它们是免费的,但Let’s Encrypt也免费提供授权的SSL证书。除了为内部服务器目的或localhost use设置一个之外,真的没有理由使用自签名证书。

由于它们不提供授权证书所提供的全面保护,浏览器通常将使用自签名证书的站点标记为“不安全”。在某些情况下,这可能会导致NET::ERR_CERT_COMMON_NAME_INVALID错误。

您可以使用我们在本文前面描述的第一种方法检查证书的CA。此数据将列在证书信息弹出窗口中:

在Google Chrome中检查CA的SSL证书

在Google Chrome中检查CA的SSL证书

如果您认为您的站点使用自签名证书并且您不是开发人员,那么最好的做法是联系为您构建站点的人员并要求他们将其删除。这样,您可以用授权的替换它。

如果您有意安装了自签名证书,则可以使用浏览器对其进行身份验证以克服错误。此过程因您的浏览器和操作系统而异,通常比简单地安装Let’s Encrypt证书更困难。

5. 清除您的SSL状态和浏览器缓存

如果您的证书配置中的所有内容看起来都正确,但您仍然看到NET::ERR_CERT_COMMON_NAME_INVALID错误,则您可能需要清除SSL状态。浏览器可能会缓存SSL证书以加快加载时间。如果您刚刚安装了新证书,即使一切正常,您仍可能会看到错误消息。

同样,此过程因您的浏览器和操作系统而异。在本示例中,我们将重点介绍Chrome,但会向您展示如何在Windows和macOS上清除SSL状态。

对于Windows,打开开始菜单并输入Internet选项。选择出现的相同选项,然后转到Internet选项窗口中的内容选项卡。现在单击清除SSL状态按钮:

在Windows中清除SSL状态

在Windows中清除SSL状态

在macOS上,您需要使用钥匙串管理器来清除SSL状态。您可以通过转到设置 > 隐私和安全 > 管理证书在Chrome中访问它:

在macOS上的Chrome中打开管理证书设置

在macOS上的Chrome中打开管理证书设置

查找为您尝试访问的域列出的证书。右键单击它并选择删除

使用macOS钥匙串管理器删除证书数据。

使用macOS钥匙串管理器删除证书数据。

系统可能会提示您提供用户密码。

在此处删除证书应该会清除您的SSL状态并解析NET::ERR_CERT_COMMON_NAME_INVALID(如果缓存损坏是原因)。

清除浏览器缓存也是明智之举 。在Chrome中,这就像打开设置菜单并选择更多工具 > 清除浏览器数据一样简单:

清除浏览器缓存

清除浏览数据

您还可以导航到您的隐私和安全设置以指定要清除的数据。只需确保 从选项列表中选择缓存的图像和文件

6. 检查您的代理设置

代理服务器,用于路由网络流量,以保留客户或原始服务器的匿名性。如果您的代理设置配置错误,则可能会限制您的Web访问并导致各种问题,包括SSL错误。

为了防止此类问题,您需要重置代理设置。此过程因您使用的是Windows计算机还是Mac计算机而异。

无论您使用哪种操作系统,您都可以通过谷歌浏览器访问您的代理设置,方法是导航到设置 > 高级 > 系统 > 打开您计算机的代理设置

通过Google Chrome打开代理设置

通过Google Chrome打开代理设置

如果您使用的是Windows,这将打开Internet属性 窗口。单击连接选项卡,然后选择LAN设置 按钮并选择自动检测设置

自动检测您的网络设置

自动检测您的网络设置

在 macOS 上,这将打开您的网络设置窗口。单击“代理” 选项卡并选择“自动代理配置”

为macOS开启自动代理配置

为macOS开启自动代理配置

然后,您可以尝试再次访问您的站点,以查看错误是否已解决。

7. 浏览器扩展冲突故障排除

与WordPress插件一样,浏览器扩展并不总是能很好地相互配合。

一些此类冲突可能会干扰您站点的HTTPS连接,从而导致各种错误。

要查看浏览器扩展是否可能导致NET::ERR_CERT_COMMON_NAME_INVALID错误,请在隐身窗口中打开您的站点:

谷歌浏览器中的隐身窗口

谷歌浏览器中的隐身窗口

这将减轻您安装的任何扩展的影响。如果您可以在隐身模式下正常访问您的网站,那么浏览器扩展程序可能是您遇到麻烦的根源。

在这种情况下,最好的解决方案是一次禁用一个扩展以确定导致错误的原因。然后,您可以删除罪魁祸首以永久解决问题。

8. 更改您的防病毒软件设置

同样,防病毒软件可能会阻止正确的HTTPS连接。如果您在计算机上运行此类程序,请检查其设置以查看是否禁用了HTTPS扫描。如果是这样,您将需要启用它。

如果您更改此设置并且问题没有消失,您可能需要考虑完全禁用该软件。如果这修复了NET::ERR_CERT_COMMON_NAME_INVALID错误,那么您可以联系防病毒程序的支持团队以获得进一步的帮助。

当然,您不希望在很长一段时间内禁用防病毒软件,因为这会带来安全风险。因此,最好在等待支持人员的响应时重新打开它,并按照他们的指导解决错误,同时保持计算机的安全。

9. 更新您的浏览器和操作系统 (OS)

尝试访问某些网站时,过时的操作系统可能会导致错误。因此,确保您运行的是最新版本的Windows、macOS或Linux是明智之举。

您还需要验证您的浏览器是否是最新的。要在Chrome中执行此操作,请打开“设置” 菜单,然后选择“帮助”>“关于Google Chrome”

打开谷歌浏览器的关于部分

打开谷歌浏览器的关于部分

您可以在此处查看浏览器的版本并开启自动更新:

查看您的Google Chrome版本

查看您的Google Chrome版本

如果Chrome不是最新版本,打开此屏幕应该会自动启动更新。

小结

当涉及到浏览器错误时,NET::ERR_CERT_COMMON_NAME_INVALID是一个很难修复的问题。但是,如果您可以缩小导致问题的范围,您就可以快速解决问题并保持您的网站在访问者中的可信度。

作为修复此错误的第一步,我们建议首先在浏览器中检查您的SSL证书并查找任何配置错误的重定向。如果这些没有帮助,请开始查看我们在本指南中提到的所有其他方面。

评论留言