调试时,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]
属性。
如果其他所有方法都失败,请尝试清除浏 我尝试了上面提到的每个解决方案 – 也许他们有所帮助,但在清除浏览器缓存后,一切都恢复正常。