我试图让我的本地开发在Chrome重新运行,但Chrome阻止了这一点,提示证书无效。尽管它可能不是证书的日期,正如你在它的截图中看到的那样:

我只是想知道为什么没有高级>选项继续无论如何看到网站,并能够在本地开发应用程序。

还有几件事需要提一下:

The local development runs on https://local.app.somecompany.com:4200/. It can't be just localhost, because otherwise our authentication http-only cookies won't work in Chrome. Therefore the host file under etc/hosts was adjusted to point to the localhost IP adress (127.0.0.1). The certificate was generated with openssl according to this tutorial and this repo The certificate works for a colleague with the exact same Chrome version but with a MacOS version 10.14.6 (mine right now is MacOS 10.15.1) The chrome flag(chrome://flags/#allow-insecure-localhost) does not change anything Also works in firefox on my laptop.

到目前为止,我在网上找不到任何帮助我解决这个问题的东西,所以我非常感谢,如果有人有更多的想法,我可以尝试!?

规格:

操作系统:MacOS 10.15.1 铬:78.0.3904.97


当前回答

为了使macOS Chrome浏览器显示高级下的“Proceed”链接,请确保在X509扩展中使用TLS Web服务器身份验证创建证书。

这是一个用扩展创建的联机程序:

openssl req \
  -newkey rsa:2048 \
  -x509 \
  -new \
  -nodes \
  -keyout server.key \
  -out server.crt  \
  -subj /CN=test1   \
  -sha256  \
  -days 3650  \
  -addext "subjectAltName = DNS:foo.co.uk,IP:127.0.0.1,IP:192.168.1.1" \
  -addext "extendedKeyUsage = serverAuth"

如果MacOS openssl没有addext选项,请使用以下替代形式:

openssl req \
  -newkey rsa:2048 \
  -x509 \
  -nodes \
  -keyout server.key \
  -new \
  -out server.crt \
  -subj /CN=test1 \
  -extensions v3_new \
  -config <(cat /System/Library/OpenSSL/openssl.cnf \
  <(printf '[v3_new]\nsubjectAltName=DNS:a.spectrocloud.com\nextendedKeyUsage=serverAuth')) \
  -sha256 \
  -days 3650

正在扩展的密钥dedkeyusage =serverAuth。

其他回答

一个可能的解决方案是启动Chrome参数“——ignore-certificate-errors”。

Mac操作系统的步骤:

Chrome。 在Finder中,选择“Go”>“Utilities”。 推出“终端”。 输入以下命令,然后按“Enter”: /应用程序/谷歌\ Chrome。app/Contents/MacOS/谷歌\ Chrome——ignore-certificate-errors &> /dev/null &

来自https://www.technipages.com/google-chrome-bypass-your-connection-is-not-private-message的解决方案

供你参考:MacOS上的Chrome处理这个和Windows不同。MacOS版本不会看到继续按钮,即使你点击高级按钮。

如果您确定此页面是安全的,请继续访问,这里有一个简单的方法:

错误页面里有个秘密密码。只要确保页面被选中(点击屏幕上的任何地方),只输入这是不安全的。

裁判:https://twitter.com/zairwolf/status/1196878125734486021

经过长时间的寻找,我找到了一个解决办法。这个解决方案适用于mac。

首先是设置。 搜索管理证书。KeychainAccess将打开。 尝试查找证书的名称,例如localhost就是我的示例中的名称。如果您单击证书,它将显示详细信息。 然后在“信任”部分,您必须选择“使用此证书时始终信任”。 现在再次在浏览器中检查。您将能够直接访问该页面。隐私错误,您的连接不是私人消息不会来。

为了使macOS Chrome浏览器显示高级下的“Proceed”链接,请确保在X509扩展中使用TLS Web服务器身份验证创建证书。

这是一个用扩展创建的联机程序:

openssl req \
  -newkey rsa:2048 \
  -x509 \
  -new \
  -nodes \
  -keyout server.key \
  -out server.crt  \
  -subj /CN=test1   \
  -sha256  \
  -days 3650  \
  -addext "subjectAltName = DNS:foo.co.uk,IP:127.0.0.1,IP:192.168.1.1" \
  -addext "extendedKeyUsage = serverAuth"

如果MacOS openssl没有addext选项,请使用以下替代形式:

openssl req \
  -newkey rsa:2048 \
  -x509 \
  -nodes \
  -keyout server.key \
  -new \
  -out server.crt \
  -subj /CN=test1 \
  -extensions v3_new \
  -config <(cat /System/Library/OpenSSL/openssl.cnf \
  <(printf '[v3_new]\nsubjectAltName=DNS:a.spectrocloud.com\nextendedKeyUsage=serverAuth')) \
  -sha256 \
  -days 3650

正在扩展的密钥dedkeyusage =serverAuth。

我在多个浏览器上都遇到了同样的问题。在我敲了一下头之后,我寻找了所有无效的证书或下面有红十字图标的条目,并删除了它们。之后,我再也没有遇到过错误屏幕说“你的连接不是私人的”

如果你使用的是Mac,请按照以下步骤操作:

开放钥匙串访问 从左侧栏中选择系统根 导航到证书选项卡 找到任何无效的证书与红色十字图标,右击并点击删除

还有:

从左侧栏选择System 导航到所有项目和密码选项卡 找到任何无效的条目与红色十字图标,右击并点击删除

现在刷新一下,看看它是否适合你。