ChatGPT解决这个技术问题 Extra ChatGPT

Chrome:网站使用 HSTS。网络错误...此页面可能稍后才能使用

我正在针对本地主机进行开发。今天早上,在我使用提琴手后,我开始在 chrome 上收到此错误(在 Firefox 中正常工作)

https://i.stack.imgur.com/83l43.png

现在 localhost 只有在 fiddler 运行时才能在 chrome 中工作。我已经确保在 fiddler 关闭时纠正了 fiddler 所做的代理重定向。

我还尝试将证书导入到我信任的根目录并重新启动浏览器(以及机器)。

当 IT 管理员更改他们的策略时,我遇到了这个问题。我需要做的就是运行命令:gpupdate /force

R
Rick Gladwin

解决此问题的一种非常快速的方法是,当您查看“您的连接不是私人的”屏幕时:

输入 badidea

输入 thisisunsafe(感谢 The Java Guy 找到新密码)

当 Chrome 不允许通过点击设置例外时,这将允许安全例外,例如对于这个 HSTS 案例。

显然,这仅推荐用于本地连接和本地网络虚拟机,但它的优点是适用于用于开发的 VM(例如,在端口转发的本地连接上),而不仅仅是直接的 localhost 连接。

注意:Chrome 开发人员过去曾更改过此密码,并且可能会再次更改。如果 badidea 停止工作,如果您知道新密码,请在此处留言。我会尝试做同样的事情。

编辑:截至 2018 年 1 月 30 日,此密码似乎不再有效。

如果我能找到一个新的,我会在这里发布。同时,我将花时间使用此 stackoverflow 帖子中概述的方法设置自签名证书:

How to create a self-signed certificate with openssl?

编辑:截至 2018 年 3 月 1 日和 Chrome 版本 64.0.3282.186,此密码再次适用于 .dev 网站上与 HSTS 相关的块。

编辑:截至 2018 年 3 月 9 日和 Chrome 版本 65.0.3325.146,badidea 密码不再有效。

编辑 2:自签名证书的问题似乎在于,随着安全标准的全面收紧,它们会引发自己的错误(例如,nginx 拒绝加载包含默认情况下,权限链中的自签名证书)。

我现在要采用的解决方案是将所有 .app 和 .dev 开发站点上的顶级域替换为 .test 或 .localhost。 Chrome 和 Safari 将不再接受与标准顶级域(包括 .app)的不安全连接。

当前的标准顶级域列表可在此 Wikipedia 文章中找到,包括特殊用途域:

Wikipedia: List of Internet Top Level Domains: Special Use Domains

这些顶级域似乎不受新的仅限 https 的限制:

。当地的

.localhost

。测试

(任何自定义/非标准顶级域)

有关更多信息,请参阅从 codinghands 到原始问题的答案和链接:

answer from codinghands


从未听说过这样的事情,但由于某种原因它有效!谢谢!
我什至不敢相信这有效,但确实有效。我不确定我应该高兴还是生气,因为这没有记录在案;多年来,我花了 HOURS 处理开发环境中的这些废话。
使用 badideathisisunsafe 插入。这已被新版本更改
它可以+1,但是chrome应该确实添加一个选项以继续发出警告,而不仅仅是阻止
是否有适用于 Android 的 thisisunsafe 版本(没有物理键盘)?顺便说一句,我设法通过在设备上安装 Fiddler 根证书来覆盖它。
B
Barry Pollard

当您之前访问过 https://localhost 时,它不仅通过安全通道(https 而不是 http)访问了它,它还使用特殊的 HTTP 标头告诉您的浏览器:Strict-Transport-Security(通常缩写为 HSTS),它应该只在以后的所有访问中使用 https。

这是 Web 服务器可以用来防止人们被降级为 http 的安全功能(无论是有意还是被某些邪恶的一方)。

但是,如果您随后关闭了 https 服务器,并且只想浏览 http,则您不能(根据设计 - 这就是此安全功能的重点)。

HSTS 还会阻止您接受和跳过过去的证书错误。

要重置此设置,以便不再为 localhost 设置 HSTS,请在 Chrome 地址栏中键入以下内容:

chrome://net-internals/#hsts

您可以在其中删除“localhost”的此设置。

您可能还想找出是什么设置了这个以避免将来出现这个问题!

请注意,对于其他网站(例如 www.google.com),这些是“预加载”到 Chrome 代码中的,因此无法删除。当您在 chrome://net-internals/#hsts 查询它们时,您会看到它们列为 static HSTS 条目。

最后请注意,Google 已开始为整个 .dev 域预加载 HSTS:https://ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts/


我正在为 gmail.com 获取此信息。我去了 chrome://net-internals/#hsts 并查询了 gmail.com,得到了 Found: static_sts_domain: gmail.com static_upgrade_mode: STRICT 试图删除域,但仍然有问题。
这个答案对我来说很有意义。不过,我的问题是,我将网站名称服务器从 wordpress(wordpress 托管)更改为我的服务器(自托管),现在得到了这个,大概所有的 Chrome 访问者都会这样做。知道如何在不删除缓存的情况下为访问者绕过它吗?
基本上唯一的答案是继续使用 HTTPS 或希望用户不要缓存它。 HTTPS 是前进的方向,并且没有 LetsEncrypt。您还应该检查是否有人将您的网站预加载到浏览器代码中,但不要猜测您是否能够自己重置它。不知道 Wordpress 会自动添加 HSTS,所以想知道这是怎么做到的。
谢谢@BazzaDP - 无法解决这个问题。我可能不得不重新更改名称服务器,找出旧站点上强制使用 HTTPS 的内容,然后再次尝试迁移。您不能简单地从 Wordpress 托管的博客 FTP 到新网站,这就是为什么这对我来说是个问题,而新网站所有者没有 SSL 证书(尽管认真考虑无论如何都要获得一个)
正如我在回答中提到的,预加载(或静态 STS)条目无法删除,因为它们存在于 Chrome 代码中,而不是在本地维护的列表中。根据我在回答中的最后一行,谷歌决定预加载整个开发域。
T
The Java Guy

单击 chrome 窗口中的任意位置并在 chrome 中输入 thisisunsafe(而不是之前的 badidea)。

此密码将来可能会更改。这是来源

https://chromium.googlesource.com/chromium/src/+/master/components/security_interstitials/core/browser/resources/interstitial_large.js#19

根据该行,在浏览器控制台中键入 window.atob('dGhpc2lzdW5zYWZl'),它将为您提供实际的密码。

这次密码是 thisisunsafe


如本文所述,它的 2021 年和输入 thisisunsafe 对我有用。伙计们,打字不是复制和粘贴!!!!
c
codinghands

我在使用私有主机名的 XAMPP 上运行的网站遇到了这个问题。事实证明,不是那么私密!它们都是 domain.dev,Google 有 now registered as a private gTLD,并且正在域级别强制 HSTS。将每个虚拟主机更改为 .devel(呃),重新启动 Apache,现在一切正常。


我可以用 Opera 50.0.2762.9 确认这个问题,并且将我的开发域从 .dev 切换到 .devel 可以绕过限制。
RFC 2606 专门保留一些顶级域以防止与私人测试发生冲突。似乎 .test 可能是切换到开发环境的最正确的一个。
这确实挽救了我的生命,因为几天后我无法弄清楚为什么 chrome 在我的 .dev localhost 域上表现得那样......上帝,谁知道......
好吧,实际上 .test 仅建议用于测试当前或新的 DNS 相关代码。
这在这里解决了我的问题。我将 Laragon 用于我的开发环境。
N
Noctis

我最近在尝试使用 CloudFlare Origin CA 访问域时遇到了同样的问题。

我发现在 Chrome(Windows 构建)上解决/避免 HSTS 证书异常的唯一方法是遵循 https://support.opendns.com/entries/66657664 中的简短说明。

解决方法:
将标志 --ignore-certificate-errors 添加到 Chrome 快捷方式,然后重新打开它并浏览您的网站。

提醒:仅用于开发目的。

https://i.stack.imgur.com/OE685.png


或许尝试在 Google Canary 构建中google.com/chrome/browser/canary.html
假设您没有导致证书错误的站点。那么,您将如何检查您的解决方案是否有效?在这里没有帮助 - stackoverflow.com/questions/41902367/…
mac版呢?
R
Ramakrishna

我看到这里有很多有用的答案,但我仍然发现了一篇方便且有用的文章。 https://www.thesslstore.com/blog/clear-hsts-settings-chrome-firefox/

我遇到了同样的问题,那篇文章帮助我了解它到底是什么以及如何处理那个 HTH :-)


p
psglinux

遇到类似的错误。重置 chrome://net-internals/#hsts 对我不起作用。问题是我的虚拟机的时钟被歪斜了几天。重置时间确实解决了这个问题。 https://support.google.com/chrome/answer/4454607?hl=en


w
wangf

我遇到同样的错误,隐身模式也有同样的问题。我通过清除 Chrome 历史记录来解决此问题。


M
Maulik Modi

我为这个问题困扰了很长时间。我无法打开像 GitHub 这样的网站。我几乎在网上尝试了所有答案,但没有人工作。也尝试重新安装chrome。我从我们的网络人员那里找到了解决方案,并且成功了。注册表中有一个修复程序,它将永久解决此错误。

按 Windows+R 键打开运行对话框类型:regedit 并按回车键打开注册表 在树视图左键单击以下路径 HKEY_LOCAL_MACHINE > SOFTWARE > POLICIES > Microsoft > SystemCertificate > Authroot 现在双击右侧的 DisableRootAutoUpdate 并进行设置在出现的对话框中设置为 0(零)重新启动您的 PC 以应用注册表更改,您将不会再收到此错误

上面的解决方案适用于 Windows 8。在以后的版本中几乎相同,但我不确定 XP 和 vista 等早期版本。所以这需要检查。


你知道这个选项是什么意思吗?
@testerjoe2:不,先生
遭受这个 google-analytics.com 以及其他各种谷歌域的困扰。这个答案解决了我的问题。
support.microsoft.com/en-us/help/2813430/… 中的文章解释了在 Windows Vista 补丁程序中引入的键的行为。将此特定值设置为 0 会导致更新的根证书自动从 Windows 更新中获取并安装在受信任的根证书颁发机构存储中。在企业环境中,这可以作为一种安全措施被关闭;但是,这意味着应该有人在企业级别管理受信任的根证书颁发机构。
B
Beverly Winkler

此策略机制仅保证与网站的安全 HTTPS 交互(而不是 HTTP)。 HTTP Strict Transport Security 首字母缩写词代表 HTTP Strict Transport Security。使协议保持最新可防止对 this one 等安全协议的攻击。

HSTS 响应的 HSTS 中的漏洞最初是在 2009 年 BlackHat Federal 的一次名为“在实践中击败 SSL 的新技巧”的演讲中发现的。 Marlinspike 的工具 SSLStrip 演示了有问题的漏洞。

使用该工具将安全的 HTTPS 连接转换回不安全的 HTTP 连接。解决方案是使用 HSTS 与始终建议使用 HTTPS 连接的浏览器进行通信。通过使用 HSTS,cookie 将不再被 Firesheep 等通过 cookie 窃取登录凭据的漏洞拦截。


关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅