我有一个带有重写规则的 IIS 站点,可以将所有请求重定向到 https。
我有一个与 http 一起使用的内部网络服务,但重写规则将“http”请求修改为“https”。发生时,webservice 返回错误“对象已移动”。我尝试使用具有真实值的“AllowAutoRedirect”,但它不起作用。
如何创建一个 EXCEPT 重写规则来访问此 Web 服务或如何使 Web 服务与 https 协议一起工作?
谢谢!
此致,
安德烈·梅斯基塔
我有一个带有重写规则的 IIS 站点,可以将所有请求重定向到 https。
我有一个与 http 一起使用的内部网络服务,但重写规则将“http”请求修改为“https”。发生时,webservice 返回错误“对象已移动”。我尝试使用具有真实值的“AllowAutoRedirect”,但它不起作用。
如何创建一个 EXCEPT 重写规则来访问此 Web 服务或如何使 Web 服务与 https 协议一起工作?
谢谢!
此致,
安德烈·梅斯基塔
一种方法是在“全局重定向”之前添加规则并确保使用stopProcessing="true"以便不执行下一个规则,例如以下规则将仅允许 HTTP 对段“foo/”的请求,其他所有内容都将重定向到 SSL:
<rewrite>
<rules>
<rule name="Allow requests to the folder foo over non-https" stopProcessing="true">
<match url="^foo/.*" />
<action type="None" />
</rule>
<!-- Else redirect ALL request to HTTPS -->
<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>