【问题标题】:Your connection is not private NET::ERR_CERT_COMMON_NAME_INVALID您的连接不是私有的 NET::ERR_CERT_COMMON_NAME_INVALID
【发布时间】:2017-10-19 09:17:04
【问题描述】:

在 chrome 上调试本地 ASP.NET 应用程序时,我在 chrome 上遇到了奇怪的问题。如果没有 https,我无法打开 localhost。使用 Https 时会报错:Your connection is not private NET::ERR_CERT_COMMON_NAME_INVALID.

在上次更新之前它一直在 chrome 上工作,并且在 firefox 和 IE 上工作。 高级设置中也没有选项可以跳过错误并访问网站。

请帮忙。

【问题讨论】:

    标签: asp.net-mvc google-chrome https localhost


    【解决方案1】:

    您可以复制此标签并添加到 Google Chrome 快捷方式以永久绕过此警告。

    --忽略证书错误

    更新 - 2020 年 3 月:将上述标记添加到 Google Chrome 快捷方式不再起作用。为了暂时关闭或绕过谷歌浏览器的这个烦人的警告,去 chrome://flags 并搜索以下条目:

    允许从 localhost 加载的资源使用无效证书

    之后,启用该选项并重新启动您的 Google Chrome 浏览器。通过这样做,您可以随意绕过警报,直到您关闭该选项为止。

    来源:Fix Your Connection Is Not Private Error In Your Browser

    【讨论】:

    • 不想忽略危险的证书错误。但是感谢您的链接,这肯定是真正的帮助。
    【解决方案2】:

    终于在桌子上敲了两天,我在chrome://flags/Allow invalid certificates for resources loaded from localhost 中找到了这个设置。 最后没有禁用所有证书错误,仅适用于本地主机。为遇到同样问题的人添加答案。

    【讨论】:

    • 这不是适用于所有情况的解决方案。我已经启用它并且仍然得到私人错误页面。 Chrome 版本为 66.0.3359.181。
    • 如果您创建了一个主机条目并在您的 URL 中使用了除 'localhost' 以外的任何内容,我相信这将不起作用。
    • 要直接转到此设置,请将chrome://flags/#allow-insecure-localhost 粘贴到您的 Chrome 地址栏中。
    • 这似乎不再适用于版本 88.0.4324.104(Windows 64 位)。
    • 感谢@PranavSingh 的回复,但对我来说并非如此。我做了一些挖掘工作,看起来标志已过期:bugs.chromium.org/p/chromium/issues/detail?id=1159077#c22。根据线程,它应该有望回到 v89(目前定于 3 月 2 日)。
    【解决方案3】:

    我遇到了这个错误,我的问题原来是 Charles(它是一个 Web 调试代理应用程序)。我需要为 Charles 安装 SSL 代理证书。

    1. 转到帮助菜单
    2. SSL 代理 -> 安装 Charles 根证书
    3. 打开钥匙串访问并启用/允许它

    如果您不使用 Charles,那么显然这个答案对您毫无帮助。

    【讨论】:

      【解决方案4】:

      当我尝试使用我的自签名证书并在浏览器中以 https 和 tomcat 运行我的 xhtml 应用程序时,我遇到了类似的问题。我做了什么:

      1. 在 java 的 RE 目录(通常是 Program Files\Java\jre1.8.0_202\bin)中有 keytool,在命令行中我使用了这个:

        keytool -genkey -alias example -keyalg RSA -sigalg SHA256withRSA -keysize 2048 -validity 3650 -keystore "C:\yourdir\yourkeystore.jks" -ext san=dns:localhost,dns:yourdesktophostname,ip:127.0.0.1,ip:::1
        

      回答问题以创建创建了 10 年的证书、SHA-2 以及 Chrome 还需要什么:san(SubjectAlternateName)。

      1. 我在 tomcat 的 server.xml 中添加了以下几行(通常是 Program Files\Apacha Software...\conf:

        <Connector port="yourportnumber" protocol="org.apache.coyote.http11.Http11NioProtocol"
                       maxThreads="150" SSLEnabled="true"
                       compression="on" scheme="https" secure="true"
                       keystoreFile="conf/yourkeystore.jks"
                       keystorePass="yourpassword"
                       SSLVerifyClient="none" SSLProtocol="TLSv1.2"/>
        

        重启 Tomcat。

      2. 在 Chrome 浏览器中打开 localhost 地址 (https:\localhost:yourport)。它会在地址行的左侧显示“不安全”,并且 https 划掉 点击它并在该窗口中按下证书(无效)。它打开证书窗口,然后按详细信息选项卡,然后按复制到文件按钮。按照说明创建crt文件。

      3. 打开 Chrome 设置 > 显示高级设置 > HTTPS/SSL > 管理证书。选择 Trusted Roots 选项卡并在此处导入 crt 文件。编辑此证书并标记所有复选框。

      重启 Chrome

      【讨论】:

        【解决方案5】:

        我们发现覆盖 Chrome 的最佳(也是唯一)方法是在阻止您的 Chrome 生成网页上键入短语 thisisunsafe。我们在内部网络上有使用 SSL 但未经过外部签名的服务器,这是访问它们的唯一方法。

        【讨论】:

        • 对于那些不明白这一点的人(包括我),只需在网页中直接输入“thisisunsafe”(无需输入,只需输入即可)。供参考:youtube.com/watch?v=7J3vSN3pCjI
        【解决方案6】:

        我试图在 chrome 中运行我的第一个 .net Core Web 应用程序,但遇到了同样的错误。使用 Chrome 版本 84.0.4147.135。 解决(快速修复),

        1. 当您运行应用程序时,您将在页面上看到两个选项“高级”和“返回安全”,由 chrome 浏览器显示。

        2. 单击高级按钮,它将显示“继续到本地主机(不安全)”。单击它,您的应用程序应该可以工作。 (我知道上述不是一个实际的解决方案。实际的解决方案是将 localhost 证书添加为受信任的根证书。)

        3. 如果你想安装证书 - 当你看到错误并且如果你点击错误 - 'NET::ERR_CERT_AUTHORITY_INVALID' 它将显示你的证书。复制它并安装到受信任的根目录中。我试过了,但它并没有解决我的问题。如果能解决这个问题,我会更新它。

        【讨论】:

          【解决方案7】:

          当页面加载时,不要点击页面并输入:thisisunsafe

          页面会自动刷新并加载内容。

          【讨论】:

          • 这是最好的答案
          【解决方案8】:

          刚刚想出了如何解决这个问题!单击顶部菜单中的调试选项卡,然后单击调试属性(选项下方),然后向下滚动并取消选中启用 SSL。现在再次尝试调试您的应用程序,它应该可以工作了!加载可能需要一分钟,但绝对可以解决问题...

          【讨论】:

          • 能否请您添加调试选项卡的屏幕截图在哪里单击?可能你不是在这里谈论 chrome 或谈论 Visual Studio 或一些 IDE??
          【解决方案9】:

          我也遇到了同样的问题。默认情况下,Chrome 使用 google.com,这对我不起作用,但 google.com.bd 对我有用(我住在孟加拉国)。因此,如果您居住在英国,google.com.uk 可能会起作用。

          转到此链接会有所帮助, https://superuser.com/questions/169014/chrome-set-search-bar-to-google-co-uk-not-google-com

          【讨论】:

            【解决方案10】:

            serverfault 有一个简短的解释,说明 RFC 规范中的哪些变化导致了这种情况。建议之一是为自签名证书的 DNS 属性使用或添加 IP 地址(大概是 127.0.0.1)到名称“localhost”。

            如果您使用 dotnet 核心工具:dotnet dev-certs https --trust(或按照 devcontainer.json 中的说明运行导出),生成的 localhost 证书将仅使用名称“localhost”。

            但还有其他 options for generating self-signed certs 包括 Powershell。但是...与其遵循旧语法,不如使用 New-SelfSignedCertificate 文档中的示例 #9:

            New-SelfSignedCertificate -Subject "localhost" -TextExtension @("2.5.29.17={text}DNS=localhost&amp;IPAddress=127.0.0.1&amp;IPAddress=::1")

            这似乎可以解决 Chrome (96.0.4664.45) 中的证书错误。生成新证书并将其合并到您的 Web 项目或容器中后,必须关闭并重新打开 Chrome。

            【讨论】:

              猜你喜欢
              • 2018-07-03
              • 2022-06-10
              • 2017-10-15
              • 1970-01-01
              • 2015-04-01
              • 2020-07-21
              • 1970-01-01
              • 1970-01-01
              • 2016-09-02
              相关资源
              最近更新 更多