Google Chrome将localhost重定向到https

当我使用Chrome调试Visual Studio项目时,浏览器尝试重定向到我的Web地址的https等效项。 我在Web项目中没有启用SSL,并且起始URL是http URL。 当我使用FireFox或IE进行调试时,我没有这个问题。

我确实重新安装了Chrome,可以解决一天的问题。 在没有下载任何插件的情况下,第二天再次发生问题。

什么使Chrome浏览器将本地主机重定向到https?

用户代理:Mozilla / 5.0(Windows NT 6.3; WOW64)AppleWebKit / 537.36(KHTML,如Gecko)Chrome / 36.0.1985.143 Safari / 537.36

这些标签中没有预览和响应数据。


我相信这是由HSTS引起的 - 请参阅http://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security

如果您有(开发)任何其他发送HSTS标头的本地主机站点......

例如。 Strict-Transport-Security:max-age = 31536000; includeSubDomains; 预紧

...然后取决于max-age的值,未来对本地主机的请求将需要通过HTTPS提供。

为了解决这个问题,我做了以下工作。

  • 在Chrome地址栏中输入“chrome:// net-internals /#hsts”
  • 在页面的最底部是QUERY域文本框 - 验证本地主机是否为浏览器所知。 如果它显示“未找到”,那么这不是您正在寻找的答案。
  • 如果是,则使用上面的文本框删除localhost域
  • 您的网站现在应该使用普通的旧HTTP
  • 这不是一个永久的解决方案,但至少可以让它在项目之间工作。 如果有人知道如何从HSTS列表中永久排除localhost,请让我知道:)

    更新 - 2017年11月

    Chrome最近将此设置移至“ 删除域安全策略”下

    在这里输入图像描述

    UPDATE - 2017年12月如果您使用的是.dev域名,请参阅下面的其他答案,因为Chrome(和其他人)通过预加载的HSTS强制使用HTTPS。


    我在Chrome中遇到了同样的问题,我尝试使用BigJump的解决方案失败。

    我通过强制刷新解决了我的问题,如本博客中所示(最初来自此超级用户答案)。

    确保您的地址栏使用http方案,然后再执行这些步骤,可能需要几次:

  • 打开“开发工具”面板(CTRL + SHIFT + I)
  • 点击并按住重新加载图标/右键单击重新加载图标。
  • 菜单将打开。
  • 从此菜单中选择第三个选项(“清空缓存和硬重新载入”)

  • 新的发展! (如果你有Chrome 63+)

    如果你的localhost域名是.dev那么我认为先前接受的工作答案不再适用。 这是因为Chrome 63 Chrome会通过预加载的HSTS将.dev域强制转换为HTTPS。

    这意味着什么, .dev基本上根本不会工作,除非你有正确的签名SSL证书 - 不允许更多的自签名证书! 通过此博客文章了解更多信息。

    所以现在就解决这个问题,以避免将来再次发生这种情况.test是一个推荐的域名,因为它被IETF保留用于测试/ dev目的。 你也应该能够使用本地开发的.localhost

    链接地址: http://www.djcxy.com/p/66989.html

    上一篇: Google Chrome redirecting localhost to https

    下一篇: CoffeeScript source maps loaded but sources not fetched by Chrome