0

我有一个带有重写规则的 IIS 站点,可以将所有请求重定向到 https。

我有一个与 http 一起使用的内部网络服务,但重写规则将“http”请求修改为“https”。发生时,webservice 返回错误“对象已移动”。我尝试使用具有真实值的“AllowAutoRedirect”,但它不起作用。

如何创建一个 EXCEPT 重写规则来访问此 Web 服务或如何使 Web 服务与 https 协议一起工作?

谢谢!

此致,

安德烈·梅斯基塔

4

1 回答 1

2

一种方法是在“全局重定向”之前添加规则并确保使用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>
于 2015-05-07T23:35:38.397 回答