调试时,Visual Studio网站将http重定向到https

我遇到IIS Express或Visual Studio 2013的问题。

该站点在属性中没有启用或设置https或ssl。

当我单击调试时,该站点将在http://localhost:61488/Default.aspx启动并尝试加载: http://localhost:61488/Default.aspx

然后由于某种原因自动重定向到: https://localhost:61488/Default.aspx然后我得到一个Error code: ERR_SSL_PROTOCOL_ERROR中的Error code: ERR_SSL_PROTOCOL_ERROR

我不太清楚该怎么办?

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

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

例如。 严格运输安全:max-age = 31536000; includeSubDomains; 预紧

…然后,根据max-age的值,将需要通过HTTPS提供对localhost的未来请求。

为了解决这个问题,我做了以下几点。

  • 在Chrome地址栏中输入“chrome:// net-internals / #hsts”
  • 在页面的最底部是QUERY域文本框 – validation浏览器是否知道localhost
  • 如果是,请使用上面的文本框删除localhost域
  • 您的站点现在应该使用普通的旧HTTP

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

更新 – 正如下面的答案中所指出的,在执行上述步骤后,您可能需要清除浏览器缓存 ,以使浏览器完全“忘记”localhost的HSTS信息。

我碰到的一个问题是类似的。 我运行了HTTPS重定向,然后在确认它通过localhost工作后,我把它取出来了。 再次运行程序后,它继续重定向我的localhost。 然后我在VS正在运行的Chrome浏览器上清除了缓存。 一切都恢复正常。 ~Visual Studios 2017

删除HomeController上方的[RequireHttps]属性。

如果其他所有方法都失败,请尝试清除浏 我尝试了上面提到的每个解决方案 – 也许他们有所帮助,但在清除浏览器缓存后,一切都恢复正常。