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

本文关键字:http 重定向 https Studio 网站 调试 Visual | 更新日期: 2023-09-27 18:27:27

我在使用IIS express或Visual Studio 2013时遇到问题。

该网站的属性中没有启用或设置https或ssl。

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

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

我不太确定该怎么办?

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

我认为这是由HSTS引起的-请参阅http://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security

如果您已经(开发)了任何其他发送HSTS标头的本地主机站点。。。

例如。严格的运输安全:最大年龄=31536000;includeSubDomains;预加载

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

为了解决这个问题,我做了以下事情。

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

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

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

我遇到的一个问题与此类似。我运行了一个HTTPS重定向,然后在通过localhost确认它有效后,我将其取出。再次运行该程序后,它继续重定向我的localhost。然后我清除了运行VS的Chrome浏览器上的缓存。一切恢复正常。~ Visual Studios 2017

删除HomeController上的[RequireHttps]属性。

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

我在web配置中进行了重定向,即使在更改后,它仍然在重定向。删除.csproj.user文件为我修复了这个问题。