web developer tips (36):使用IIS7.0 应用请求路由模块管理网站的beta版程序

原文地址:How to manage pilot or beta program for your site using Application Request Routing in IIS7.0

如果给你网站适合的用户设置目标和路由,用来使用试用/bate/新程序来查找用户资料,是不是件很酷的事?这对于管理曾经在试用版注册过的用户是有帮助,把这些用户重新跳转到一个新的网站,继续收集反馈,当你的网站发生重大的改变,这是非常典型的情况。IIS 7.0 的应用请求路由模块(Application Request Routing (ARR) module)可以帮助你实现这个功能。另一个典型的情况是,将对路由到试用网站的流量的管理和限制很有帮助。

这有个例子,我们希望所有安装了NET Framework 3.5和使用IE的用户都跳转到试用站点。使用ARR来实现这一点,步骤如下:

http://www.watch-life.net/visual-studio/manage-pilot-or-beta-program-for-your-site-using-application-request-routing-in-iis7-0.html

1、启动IIS管理器

2、创建一个服务区(Server Farm),命名为“pilotSiteServers”。有关创建服务区的步骤见:Define and Configure an Application Request Routing Server Farm,这个服务区代表一个测试环境。

3、创建另一个服务器命名为“productionSiteServers”,这个服务区代表一个产品环境。

4、选中“ pilotSiteServers”服务区。 如下图所示,将会显示一些图标
srv-farm

5、双击“Routing Rules”图标

6、点击“Advanced Routing”下的"URL Rewrite". 因为这个方案设计多个匹配http 请求服务区,所以我们将使用url rewite UI 来新增规则。单击“Advanced Routing”下面的“"URL Rewrite”。
adv

7、你会发现已经添加了两条规则;
twoRules

8、这些规则必须要修改。规则的顺序是非常重要的。等下,我会做出解释。如果ARR_productionSiteServers_loadbalance在ARR_pilotSiteServers_loadbalance 之上,选中规则通过“Move Up”和“Move Down”来改变规则的顺序。

9、选中“ARR_pilotSiteServers_loadbalance” ,单击“edit...”

edit

10、现在我们需要定义规则。记住,我们的目标是“所有安装了NET Framework 3.5和使用IE的用户都跳转到试用站点”

11、单击“Add Conditions”
add

12、在“ Condition input”项输入“{HTTP_USER_AGENT}”,在“Pattern”项输入“ *MSIE*”

add2

13、 增加另一个规则,在“Condition input”项输入“{HTTP_USER_AGENT}”,在“Pattern”项输入“ *.NET CLR 3.5*”
add3

14、最后不选中“"Stop processing of subsequent rules”(随后停止处理规则),然后单击“应用”保存设置。
add4

15、让我解释一下规则顺序的重要性。这是因为在未选中“Stop processing of subsequent rules”时URL rewriter 规则是按顺序执行。因此这个在这个例子中,“ARR_pilotSiteServers_loadbalance” 规则将会被首先执行,这个规则尝试匹配客户端是否使用IE和已安装 .NET Framework 3.5,如果匹配,请求将会转到“ pilotSiteServers”服务区。因为没有选中“Stop processing of subsequent rules”项,接着第二条规则将会执行。这意味着“ARR_productionSiteServers_loadbalance”规则也将会执行,这将路由其他所有请求到“productionSiteServers”服务区。

自此就完成了所有设置。有关URL rewriter 规则的正则表达是的详细书写规则,请参考:Pilot program management using Application Request Routing

Application Request Routing(ARR)是一个基于代理的路由模块,可以根据HTTP头、服务器变量和负载均衡算法将HTTP请求转发到内容服务器上。它增强应用程序的效率和可扩展性,以便利用内容服务器资源,简化应用程序的部署。不过ARR支持IIS 7.0 。有关ARR 更详细的内容见:Application Request Routing

可以通过 Platform Installer (Web PI)来安装这个模块。



微信扫描下方的二维码阅读本文

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注