Chrome:该网站使用HSTS。网络错误...此页面可能会稍后运行

时间:2015-10-21 20:06:15

标签: google-chrome fiddler

我正在开发针对localhost。在我使用fiddler后的今天早上,我开始在chrome上获得此错误(在firefox中正常工作)

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

现在,只有在fiddler运行时,localhost才能在chrome中运行。当fiddler关闭时,我已经确定了代理重定向,即fiddler所做的更正。

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

10 个答案:

答案 0 :(得分:166)

当您之前访问过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),这些网站是预先加载的#34;进入Chrome代码,因此无法删除。当您在chrome:// net-internals / #hsts查询它们时,您会看到它们列为static HSTS条目。

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

答案 1 :(得分:139)

一个非常快速的解决方法是,当您查看"您的连接不是私密的"屏幕:

输入badidea

输入thisisunsafe(信用The Java Guy以查找新的密码短语)

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

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

注意: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,例如,拒绝加载SSL) / TLS证书,默认情况下包含权限链中的自签名证书。

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

当前的标准顶级域名列表可以在这篇维基百科文章中找到,包括特殊用途域名:

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

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

  • 。本地
  • .localhost
  • 。测试
  • (任何自定义/非标准顶级域名)

有关详细信息,请参阅答案并从编码链接到原始问题:

answer from codinghands

答案 2 :(得分:18)

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

答案 3 :(得分:11)

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

我在Chrome(Windows版本)上找到解决方法/避免HSTS证书例外的唯一方法是遵循https://support.opendns.com/entries/66657664中的简短说明。

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

提醒:
仅将其用于开发目的。

enter image description here

答案 4 :(得分:9)

点击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

答案 5 :(得分:3)

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

答案 6 :(得分:2)

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

答案 7 :(得分:2)

我长期以来一直在为这个问题苦苦挣扎。我无法打开像GitHub这样的网站。 我几乎在网上尝试了所有答案而没有人工作过。试图重新安装铬也。 我从我们的网络人员那里找到了解决方案,并且它有效。 注册表中有一个修复程序可以永久解决此错误。

  1. Windows + R 键打开运行对话框
  2. 键入: regedit ,然后按Enter键打开注册表
  3. 在左侧的树状视图中,点击以下路径 HKEY_LOCAL_MACHINE>软件>政策>微软> SystemCertificate> Authroot
  4. 现在双击右侧的 DisableRootAutoUpdate ,并在出现的对话框中将其设置为0(零)
  5. 重新启动您的电脑以应用注册表更改,您将不会再收到此错误
  6. 上面的解决方案适用于Windows 8.它在以后的版本中几乎完全相同,但我不确定早期版本如XP和Vista。所以需要检查。

答案 8 :(得分:2)

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

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

答案 9 :(得分:0)

此政策机制仅保证与网站进行安全的 HTTPS 交互(而不是 HTTP)。 HTTP 严格传输安全首字母缩写词代表 HTTP 严格传输安全。使协议保持最新状态可防止对 this one 等安全协议的攻击。<​​/p>

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

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