IIS 反向代理

IIS Reverse Proxy

我有两个网站。

XX.XX.XX.XXX:5917 这是一个网络表单网站

XX.XX.XX.XXX:5916 这是一个 mvc 网站。

两个网站都在同一个 IIS 7 服务器上。我可以浏览每个网站、登录等

但是,当用户转到 XX.XX.XX.XXX:5917/Report 时,我希望提供来自 XX.XX.XX.XXX:5916/Report 的内容,但 url 保留 XX.XX.XX.XXX:5917/报告.

为此,我尝试在 5917 站点上设置反向代理以提供来自 5916 的内容。

当我有一个重定向规则时,我可以在 5917 中单击 link 到 Reports,它将把我带到 5916/Reports。这有效,但会更改地址栏。当我使用重写规则选项时,绝对没有任何明显的变化。如果我搞砸了操作括号中的结尾 url 那么页面就会中断,所以我知道它至少正在评估规则。

这里是 'working' 重定向规则:

<rule name="Reverse Proxy to Reports" stopProcessing="true">
    <match url="\bReport\b" />
    <action type="Redirect" url="http://XX.XX.XX.XXX:5916/{R:0}" />
</rule>

我错过了什么吗?我从这里去哪里?

尝试将此添加到您的 XX.XX.XX.XXX:5917 WebForms web.config:

<system.webServer>
    ...
    <rewrite>
        ...
        <rules>
            <rule name="ReverseProxyInboundRuleForReports" stopProcessing="true">
                <match url="(Report/.*)" />
                <action type="Rewrite" url="http://localhost:5916/{R:1}" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>

您可能需要 'Application Request Routing' IIS 扩展才能正常工作。如果是这样,那么您可以从 link:

中获取它

http://www.iis.net/downloads/microsoft/application-request-routing

您还可以在 link:

上阅读更多关于该技术的信息

http://weblogs.asp.net/owscott/creating-a-reverse-proxy-with-url-rewrite-for-iis

祝你好运!