突然之间,我似乎在使用 localhost 时遇到了 Google Chrome 问题。
我正在尝试访问我的任何开发站点(使用 Ampps),但收到以下错误:-
您的连接不是私人的 攻击者可能试图窃取您的 来自 website.dev 的信息(例如密码、消息 或信用卡)。了解更多 NET::ERR_CERT_AUTHORITY_INVALID
当我访问任何开发站点时,它会自动从 http://website.dev 重定向到 https://website.dev。我在 Safari 或 Firefox 中没有遇到任何问题,所以我不明白发生了什么。
我尝试重新安装 Google Chrome,将其重置为出厂默认设置...
我认为这可能是钥匙串访问 --> 证书的问题,但如果是这样的话,这是否意味着它无法在 Firefox 和 Safari 中工作?
我花了一段时间试图找到解决方案,但到目前为止没有任何效果,因此我希望得到一些有关如何解决此问题的建议。我什至无法继续通过此警告,因为我没有获得继续链接(不安全),如下所示:-
经过一番尝试,我想出了一种解决方案。
首先我们来说说问题:这个错误的原因是我们本地开发都使用了
.dev
域。如果您访问 here,您会发现根 .dev
域归 Google 所有,并在 Chrome 中应用 HSTS,他们会为此域强制执行 https 重定向。由于我们使用 .dev
域,我们会被重定向到 https 版本,同时我们没有安装任何实际的证书。所以,我们看到了这个恼人的错误。如果您访问 chrome://net-internals/#hsts
,您可以检查您的 .dev
域名,您实际上会发现
static_sts_domain: dev
static_upgrade_mode: FORCE_HTTPS
static_sts_include_subdomains: true
这证实了 HSTS 确实在
*.dev
上强制执行。策略类型是静态的,据我了解,它是一种硬编码到 https-redirect .dev
域。
因此,至少有两种方法 - 以某种方式获取并设置实际证书,或者只是使用 httpd-vhosts.conf 中的另一个(不是
.dev
)根域进行本地开发(也不要忘记更新/etc/hosts
)
并再次启动 apache)。我走了另一条根域路线,它解决了这个问题。
处理起来确实很烦人,但是将本地网站映射到
.dev
(我个人使用 .devo
)以外的其他网站确实有效并修复了 Chrome 中的问题。另外,您可以在 Mozilla Firefox 中为页面添加例外,并且根本不处理此问题。这只是 Chrome 63+ 上的问题
最好的解决方案是不要使用
.dev
,因为它属于 Google。
您可以在这里找到所有已声明 TLD 的更新列表:https://www.rfc-editor.org/rfc/rfc6761
.test
或 .localhost
。您可以在这里阅读有用的博客文章:https://iyware.com/dont-use-dev-for-development/
我遇到了同样的错误,因为 CRL 文件已过期,解决方案是更新 crl 文件
您需要将远程站点证书添加到本地密钥存储
要从远程站点下载证书,您需要
keytool
,以管理员身份打开gitbash
并运行以下命令来生成证书
openssl s_client -showcerts -connect 主机:端口
将上述命令的值从
-----BEGIN CERTIFICATE-----
到-----END CERTIFICATE-----
保存到.crt文件中。要将证书添加到本地密钥存储,请运行以下命令
keytool -import -noprompt -trustcacerts -alias name_of_certificate -file "path_of_dot_crt_file" -keystore "C:\Program Files\Java\jdk1.8.0_192\jre\lib\securit