当我使用 Chrome 调试 Visual Studio 项目时,浏览器会尝试重定向到我的网址的 https 等效项。我没有在 Web 项目中启用 SSL,并且起始 URL 是 http URL。当我使用 FireFox 或 IE 进行调试时,我没有这个问题。
我确实重新安装了 Chrome 解决了一天的问题。没有下载任何插件,第二天问题又发生了。
是什么让 Chrome 将 localhost 重定向到 https?
网络检查显示:请求 URL:data:text/html,chromewebdata 请求标头 显示临时标头 User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/ 537.36
这些选项卡中没有预览和响应数据。
我相信这是由 HSTS 引起的 - 请参阅http://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security
如果您有(开发)任何其他发送 HSTS 标头的本地主机站点…
例如。严格的传输安全性:max-age=31536000;包括子域;预载
…然后根据 max-age 的值,未来对 localhost 的请求将需要通过 HTTPS 提供服务。
为了解决这个问题,我做了以下事情。
这不是一个永久的解决方案,但至少可以让它在项目之间工作。如果有人知道如何从 HSTS 列表中永久排除 localhost,请告诉我 :)
更新 - 2017 年 11 月
Chrome 最近已将此设置移至 删除域安全策略下
更新 - 2017 年 12 月 如果您使用 .dev 域,请参阅下面的其他答案,因为 Chrome(和其他)通过预加载的 HSTS 强制 HTTPS。