IIS针对多个服务器的反向代理配置

时间:2015-11-18 15:46:29

标签: url-rewriting cross-domain reverse-proxy iis-8.5 arr

我是这个IIS配置的新手,所以我的要求是根据URL的内容执行反向代理,下面是我想要实现的内容的简要说明,< / p>

我们有3台服务器说,

  1. 公共服务器:public.abc.com
  2. Intranet Web服务器:WebServer.xyz.com
  3. Intranet API服务器:APIServer.def.com
  4. 每当请求到达公共服务器(即public.abc.com)时,请求就像&#34; public.abc.com/?1257#/ test&#34;然后它应该与查询字符串部分一起指向 Intranet Web服务器(即WebServer.xyz.com)

    如果对公共服务器的请求类似于&#34; public.abc.com/api/valid"那么请求应该被引导到 Intranet API服务器(即APIServer.def.com)以及&#34; / api / valid&#34;部分,

    我尝试在IIS 8.5中使用ARR和URL重写进行配置,将 patterns 的2个不同规则编写为&#34;(。)\?(。) &#34;和&#34;(。)(api)(。)&#34;分别用于Web服务器和API服务器,

    但似乎配置只有在禁用任何规则且完美无瑕的情况下才能正常工作, 当两个规则都启用时,重新路由失败,我看到一个默认的IIS启动页面,

    我也尝试在URL重写中使用条件,但它没有工作

    请帮我解决这个问题,

    谢谢&amp;问候, 乙

1 个答案:

答案 0 :(得分:0)

对于WebServer.xyz.com,您应该配置规则条件,以便将除/api/valid/(.*)之外的所有URL应用于它(RegEx)。

对于APIServer.def.com,规则条件应仅匹配/api/valid/(.*)