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

dev*_*747 145 google-chrome fiddler

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

"你现在无法访问localhost,因为网站使用的是HSTS.网络错误和攻击通常是暂时的,所以这个页面可能会在以后工作." 在此输入图像描述

现在,只有在fiddler运行时,localhost才能在chrome中运行.当fiddler关闭时,我已经确保代理重定向,即fiddler使得更正.

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

Bar*_*ard 175

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

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

但是,如果你然后关闭你的https服务器,只想浏览http你不能(按设计 - 这是这个安全功能的重点).

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

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

chrome://net-internals/#hsts
Run Code Online (Sandbox Code Playgroud)

您可以在哪里删除"localhost"的此设置.

您可能还想了解设置此内容以避免将来出现此问题!

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

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

  • 基本上唯一的答案是使用HTTPS继续或希望用户没有缓存.HTTPS是前进的方式,不受LetsEncrypt的限制.您还应该检查某人是否已将您的网站预装到浏览器代码,但如果您能够自行重置,请不要猜测.不知道Wordpress自动添加HSTS所以想知道如何在那里. (2认同)
  • 正如我在回答中提到的那样,预加载(或静态STS)条目无法删除,因为它们存在于Chrome代码中而不是本地维护的列表中.根据我在答案中的最后一行,Google决定预加载整个开发域名. (2认同)

Ric*_*win 162

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

类型 badidea

输入thisisunsafe(用于查找新密码的Java Guy)

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

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

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

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

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

如何使用openssl创建自签名证书?

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

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

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

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

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

维基百科:互联网顶级域名列表:特殊用途域名

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

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

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

来自编码的回答

  • 从来没有听说过这样的东西,但出于某种原因,它有效!谢谢! (14认同)
  • 使用`thisisunsafe`对'badidea`的攻击.新版本已更改 (6认同)
  • 它可以工作+1,但是chrome确实应该添加一个选项来继续警告,而不是仅仅阻止 (4认同)
  • 是否有适用于 Android(没有物理键盘)的“thisisunsafe”版本?顺便说一句,我设法通过在设备上安装 Fiddler 根证书来覆盖此问题。 (3认同)
  • 我什至不敢相信这行得通,但确实如此。我不确定我是否应该因为没有记录下来而感到高兴或生气;多年来,我花了 HOURS 处理开发环境中的这些垃圾。 (2认同)

cod*_*nds 18

我在使用私有主机名在XAMPP上运行的站点时出现此问题.结果不是那么私密!他们都是domain.devGoogle 现在注册为私有gTLD的,并且正在强制域级别的HSTS.将每个虚拟主机更改为.devel(eugh),重新启动Apache,现在一切正常.

  • [RFC 2606](https://tools.ietf.org/html/rfc2606)专门保留一些顶级域名以防止与私有测试冲突.似乎`.test`可能是最适合开发环境的.test`. (5认同)

The*_*Guy 12

单击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”对我来说很有效。伙计们,它是打字而不是复制和粘贴!!!! (2认同)
  • 现在已经是 2023 年了,这个解决方案仍然有效 (2认同)

Bin*_*min 11

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

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

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

提醒:
仅用于开发目的.

在此输入图像描述


Ram*_*hna 5

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

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