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

Posted

技术标签:

【中文标题】Chrome:网站使用 HSTS。网络错误...此页面可能稍后才能使用【英文标题】:Chrome:The website uses HSTS. Network errors...this page will probably work later 【发布时间】:2016-01-20 23:29:14 【问题描述】:

我正在针对 localhost 进行开发。今天早上,在我使用 fiddler 之后,我开始在 chrome 上收到此错误(在 firefox 中正常工作)

“您现在无法访问 localhost,因为该网站使用 HSTS。网络错误和攻击通常是暂时的,因此此页面可能稍后会起作用。”

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

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

【问题讨论】:

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

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

输入badidea

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

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

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

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

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

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

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 拒绝加载 SSL /TLS 证书,默认情况下在授权链中包含自签名证书)。

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

当前的标准***域列表可以在这篇***文章中找到,包括特殊用途域:

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

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

.local .localhost .test (任何自定义/非标准***域)

请参阅 codinghands 的答案和原始问题的链接以获取更多信息:

answer from codinghands

【讨论】:

从未听说过这样的事情,但由于某种原因它有效!谢谢! 大量帮助!非常感谢! 我什至不敢相信这有效,但确实有效。我不确定我应该高兴还是生气,因为这没有记录在案;多年来,我花了 HOURS 处理开发环境中的这些废话。 使用thisisunsafe 插入badidea。新版本已更改此设置 它可以+1,但是chrome应该确实添加一个选项以继续发出警告,而不是仅仅阻止【参考方案2】:

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

这是一种安全功能,网络服务器可以使用它来防止人们被降级为 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 代码中,而不是在本地维护的列表中。根据我在回答中的最后一行,Google 决定预加载整个开发域。【参考方案3】:

单击 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 对我有用。伙计们,打字不是复制和粘贴!!!!【参考方案4】:

我在使用私有主机名的 XAMPP 上运行的网站时遇到了这个问题。事实证明,不是那么私密!他们都是domain.dev,谷歌有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 用于我的开发环境。【参考方案5】:

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

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

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

提醒:仅用于开发目的。

【讨论】:

也许可以尝试在 Google Canary 构建 google.com/chrome/browser/canary.html 假设您没有导致证书错误的站点。那么,您将如何检查您的解决方案是否有效?在这里没有帮助 - ***.com/questions/41902367/… mac版本怎么样?【参考方案6】:

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

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

【讨论】:

【参考方案7】:

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

【讨论】:

【参考方案8】:

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

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

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

【讨论】:

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

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

【讨论】:

【参考方案10】:

此策略机制仅保证与网站的安全 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 窃取登录凭据的漏洞拦截。

【讨论】:

以上是关于Chrome:网站使用 HSTS。网络错误...此页面可能稍后才能使用的主要内容,如果未能解决你的问题,请参考以下文章

当您使用“badidea”或“thisisunsafe”绕过 Chrome 证书/HSTS 错误时,它是不是仅适用于当前站点? [关闭]

如何查找网站是不是使用 HSTS

Firefox 是如何详细实现 HSTS 的?

防止http页面重定向到https页面

浅析chrome新特性之默认使用HTTPS,追溯源头至HSTS

去除chrome网站https的安全检测