IIS 7 ARR v3.0 URL 重写不同的域

IIS 7 ARR v3.0 URL 重写不同的域

我需要接受请求firstdomain.com/example/foo/bar并提供以下内容seconddomain.com/example/foo/bar但我希望最终用户仍然看到firstdomain.com/example/foo/bar在他们的浏览器中。这排除了 301/302 重定向。我以为 URL 重写会起作用,但这必须是同一个域。我认为 ARR 就是我需要的。因此,我安装了 ARR v3.0 并重新启动了我的服务器。现在 ARR v3.0 已经安装,我该如何配置它以执行所需的请求路由?

我应该注意seconddomain.com是第三方托管服务器,而firstdomain.com托管在我们网络上的服务器上。

答案1

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <urlCompression doStaticCompression="false" doDynamicCompression="false" dynamicCompressionBeforeCache="false" />
        <rewrite>
            <rules>
                <rule name="ReverseProxyInboundRule1" stopProcessing="true">
                    <match url="(.*)" />
                    <action type="Rewrite" url="http://www.seconddomain.com/{R:1}" />
                </rule>  
            </rules>
            <outboundRules>
                <rule name="ReverseProxyOutboundRule1" preCondition="ResponseIsHtml1">
                    <match filterByTags="A, Form, Img" pattern="^http(s)?://www.seconddomain.com/(.*)" />
                    <action type="Rewrite" value="http{R:1}://www.firstdomain.com/{R:2}" />
                </rule>
                <preConditions>
                    <preCondition name="ResponseIsHtml1">
                        <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
                    </preCondition>
                </preConditions>
            </outboundRules>
        </rewrite>
    </system.webServer>
</configuration>

相关内容