【问题标题】:asp.net web api remove force https requestsasp.net web api 删除强制 https 请求
【发布时间】:2017-08-22 17:10:52
【问题描述】:

我已添加此代码以在远程机器上运行以将所有 http 请求重定向到 https

<rewrite>
      <rules>
        <rule name="Redirect to https">
          <match url="(.*)" />
          <conditions>
            <add input="{HTTPS}" pattern="Off" />
          </conditions>
          <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
        </rule>
      </rules>
</rewrite>

我已经在本地机器上用这段代码运行了这个 api 并得到了This site can’t provide a secure connection 没关系。 但是当我评论这段代码并再次运行 api 时,它无论如何都会重定向到 https。我怎样才能回到http?

【问题讨论】:

  • 可能涉及HTTP Strict Transport Security 之类的声音。
  • @mason 是的,完全正确。我没有找到好的解决方案,但this answer 对我来说已经足够好了。感谢您的帮助。
  • @mason 如果你愿意回答我会将其标记为已接受

标签: asp.net


【解决方案1】:

HTTP Strict Transport Security (HTTP STS) 可能在某个时候在您的网站上启用。一旦启用并且客户端成功地与您的站点建立 HTTP 连接,即使您在 URL 中键入 HTTP 并且服务器上没有任何东西可以重定向它,它也会始终尝试通过 HTTPS 连接。

解决方案是查看浏览器的说明,了解如何清除网站的 HTTP STS 设置。这通常涉及对该站点的某种缓存删除和重置。

据我所知,无法从您无法控制的浏览器(例如您的客户)中自动删除 HTTP STS。所以在启用 HTTP STS 之前应该三思而后行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-14
    • 2020-09-06
    • 1970-01-01
    • 1970-01-01
    • 2020-07-06
    相关资源
    最近更新 更多