我有两个网站。
XX.XX.XX.XXX:5917这是一个webforms网站
和
XX.XX.XX.XXX:5916这是一个mvc网站。
两个网站位于同一台IIS 7服务器上。我可以浏览每个网站,登录等。
但是,当用户转到XX.XX.XX.XXX:5917/Report时,我希望提供XX.XX.XX.XXX:5916/Report中的内容,但是要保留XX.XX的网址.XX.XXX:5917 /报告
为此,我正在尝试在5917网站上设置反向代理,以提供5916的内容。
当我有一个重定向规则时,我可以点击5917中的链接到报告,它将带我到5916 / Reports。这有效,但更改地址栏。当我使用重写规则选项时,绝对不会发现任何可辨别的内容。如果我搞砸了动作括号中的结束URL,那么页面就会中断,所以我知道它至少会评估规则。
以下是“工作”重定向规则:
<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>
我错过了什么吗?我从哪里开始?
答案 0 :(得分:1)
尝试在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>
您可能需要在IIS上使用“应用程序请求路由”扩展才能使其正常工作。如果是这样,那么你可以从这个链接获得它:
http://www.iis.net/downloads/microsoft/application-request-routing
您还可以在此链接上阅读有关该技术的更多信息:
http://weblogs.asp.net/owscott/creating-a-reverse-proxy-with-url-rewrite-for-iis
祝你好运!