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

Zap*_*ica 38 c# asp.net https iis-express visual-studio-2013

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

该站点在属性中未启用或设置了https或ssl.

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

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

我不太清楚该怎么办?

Big*_*ump 86

我相信这是由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域文本框 - 验证浏览器是否知道localhost
  • 如果是,请使用上面的文本框删除localhost域
  • 您的站点现在应该使用普通的旧HTTP

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

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

  • 你是男人!!,工作就像一个魅力! (2认同)

小智 22

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


Dmi*_*nov 9

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


Mic*_*hok 6

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