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

我重新安装了Chrome浏览器,解决了这个问题一天。没有下载任何插件的问题再次发生了第二天。

什么是使Chrome重定向localhost到https?

网络巡检显示: 请求URL:数据:text / html, chromewebdata 请求头 显示临时标题 User-Agent:Mozilla/5.0 (Windows NT 6.3;WOW64) AppleWebKit/537.36 (KHTML,像Gecko) Chrome/36.0.1985.143 Safari/537.36

这些选项卡中没有预览和响应数据。


当前回答

我也面临着同样的问题,但只是在Chrome金丝雀和寻找一个解决方案,我发现了这篇文章。

下一个版本的Chrome将强制所有以。dev(和。foo)结尾的域通过预加载的HTTP严格传输安全(HSTS)头重定向到HTTPs。

{ "name": "dev", "include_subdomains": true, "mode": "force-https" },
{ "name": "foo", "include_subdomains": true, "mode": "force-https" },

所以,改变你的域名。

其他回答

这可能是由缓存的https重定向引起的,可以通过手动清除缓存来修复,如Adiyat Mubarak的回答。

但如果你访问localhost,你可能是一个开发人员,在这种情况下,你会发现一个缓存清理chrome扩展,如“经典缓存杀手”(见例如https://chrome.google.com/webstore/search/classic%20cache%20killer?hl=en)在各种情况下很有用,很可能已经安装了一个。

因此,快速解决方案是:安装一个缓存杀手(如果您还没有),打开它,然后重新加载页面。完成了!

对于有同样问题的人,我通过按CTRL + SHIFT + DELETE删除整个浏览器缓存来解决。现在我可以在HTTP协议上访问我的本地主机网站。

对我来说,下面的操作在Chrome 90中是有效的。我的应用程序在localhost:3000上打开了一个本地webpack服务器,自动重定向到HTTPS,我得到了ERR_SSL_PROTOCOL_ERROR。

我点击URL旁边的小信息图标,从菜单下拉菜单打开网站设置。在列表中,“不安全”内容被设置为“阻止”(默认值)。

我把这个改为允许,只是重新加载http版本,它加载正常。

希望这能帮助到人们。

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

如果您的本地主机域是.dev,那么我认为之前接受的答案是行不通的。原因是因为自Chrome 63以来,Chrome将通过预加载的HSTS强制。dev域使用HTTPS。

这意味着,.dev基本上不能再工作了,除非您有适当的签名SSL证书——不允许有自签名证书!在这篇博客文章中了解更多。

因此,现在要修复这个问题,并避免这种情况在未来再次发生。test是一个推荐的域名,因为它是由IETF保留用于测试/开发目的。您还应该能够将.localhost用于本地开发。

我如何用chrome 79解决这个问题:

只需粘贴这个url在你的搜索输入chrome://flags/#allow-insecure-localhost

它通过使用实验特性帮助了我。