在 Server2008 系统上,安装了 ARR/URL 重写。传入 ARR 服务器(“pirate.mydomain.com”)的流量,该服务器位于 DMZ 中。内部 IIS 服务器(Server 2008/URL 重写),包含部门子站点(static.mydomain.com/deptone、static.mydomain.com/depttwo 等)的单个 IIS 站点('static.mydomain.com')。
在 ARR 服务器的服务器级别,ARR 服务器代理设置:启用“启用代理”,启用“使用 URL 重写以检查传入请求”,“反向代理”设置为“pirate.mydomain.com”。
意图是将 deptone.mydomain.com 重写(未重定向)为 static.mydomain.com/deptone .... 并将 depttwo.mydomain.com 重写为 static.mydomain.com/depttwo 。
URL 不应在访问者的浏览器中更改。
在“pirate.mydomain.com”的 IIS 站点级别,URL 重写规则如下:
<rule name="deptone redirect" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTP_HOST}" pattern="^(www.)?pirate.mydomain.com/(deptone)(.*)" />
</conditions>
<action type="Rewrite" url="http://static.mydomain.com/deptone{C:3}" appendQueryString="false" />
</rule>
这不起作用;我收到 400.0 错误(“最大转发限制”)。
需要有关此过程的 URL 重写规则的指导。去过 IIS 论坛/帮助,但仍然无法正常工作。
谢谢。