当我调试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

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


当前回答

以我为例,我在Mac电脑上使用浏览器同步,浏览器不断将http://localhost:3000重定向到https://localhost:3000。

我正在使用代客服务本地网站,我已经运行代客安全在本地*。因为我在浏览器同步中代理这个HTTPS域,所以浏览器正在用HTTPS加载localhost:3000。

为了解决这个问题,我不得不:

运行valet unsecure删除SSL证书 运行代客重启 重启browser-sync 在浏览器中打开localhost:3000(在我的情况下,Vivaldi是一个Chromium浏览器) 开放开发人员工具 勾选“网络”选项卡上的“禁用缓存” 刷新页面

其他回答

我找不到任何解决办法;而是重定向到我的网络。配置允许我继续工作(localhost),直到我找到导致问题的原因。

这本质上是一个将HTTPS转换为HTTP的重写规则;它似乎已经覆盖了之前将HTTP重定向到HTTPS的规则。

它需要在你的系统中。网络服务器> < /系统。web.config中的webServer>部分

    <rewrite>
  <rules>
    <clear />
    <rule name="Redirect to https" stopProcessing="true">
      <match url=".*" />
      <conditions>
        <add input="{HTTP}" pattern="off" ignoreCase="true" />
      </conditions>
      <action type="Redirect" url="http://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" />
    </rule>
  </rules>
</rewrite>

我从来没有找到问题的根源,但我能够解决这个问题。 我删除了谷歌Chrome应用程序缓存文件夹,解决了这个问题。

C: \用户[用户]\ AppData \ Local的谷歌的Chrome

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

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

例如:Strict-Transport-Security: max-age=31536000;includeSubDomains;预加载

... 然后根据max-age的值,未来对localhost的请求将需要通过HTTPS服务。

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

在Chrome地址栏输入以下内容: chrome: / / net-internals / # hst 在页面的最底部有一个QUERY域文本框-验证浏览器是否知道localhost。如果它说“未找到”,那么这不是你要寻找的答案。 如果是,使用上面的文本框删除localhost域 您的站点现在应该使用普通的旧HTTP工作

这不是一个永久的解决方案,但至少可以让它在项目之间工作。如果有人知道如何从HSTS列表中永久排除localhost,请让我知道:)


更新- 2017年11月

Chrome最近把这个设置移到了这个部分下面

删除域安全策略


更新- 2017年12月

如果您正在使用。dev域,请参阅下面的其他答案,因为Chrome(和其他)通过预加载的HSTS强制HTTPS。

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

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

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

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

Chrome 63(自2017年12月发布)将强制所有以。dev(和。foo)结尾的域通过预加载的HTTP严格传输安全(HSTS)头重定向到HTTPS。你可以在这里找到更多信息。