我有一个支持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>
答案 0 :(得分:5)
Azure App Service网站支持IIS URL重写模块,因此您尝试执行的操作应该可行。我认为你唯一错的就是条件,你为Server Variable
HTTP
添加一个条件,但是没有HTTP
,只有HTTPS
这是ON
或OFF
。 See 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>