在Azure Web App服务中从https重定向到http

时间:2017-02-04 21:56:40

标签: http azure redirect iis https

我有一个支持HTTP和HTTPS(带有效证书)的网站,但遗憾的是,对于某些外部服务的内部问题,HTTPS配置还没有准备好投入生产。

我想立即通过IIS(web.config文件)将每个https请求重定向到http。

我在官方文档中找到了从http重定向到https而不是反向的代码。所以我尝试转换它,但IIS实际上并没有重定向:

<rule name="Redirect to HTTP" stopProcessing="true">
    <match url="(.*)" />
    <conditions>
        <add input="{HTTP}" pattern="^OFF$" />
    </conditions>
    <action type="Redirect" url="http://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>

1 个答案:

答案 0 :(得分:5)

Azure App Service网站支持IIS URL重写模块,因此您尝试执行的操作应该可行。我认为你唯一错的就是条件,你为Server Variable HTTP添加一个条件,但是没有HTTP,只有HTTPS这是ONOFFSee this for full list of IIS Server Variables。所以,只需翻转它,而不是检查HTTP是否为OFF(它不存在且永远不会成立),检查HTTPS是否为ON

<rule name="Redirect to HTTP" stopProcessing="true">
  <match url="(.*)" />
  <conditions>
    <add input="{HTTPS}" pattern="^ON$" />
  </conditions>
  <action type="Redirect" url="http://{HTTP_HOST}/{R:0}" redirectType="Permanent" />
</rule>