Gerenciamento de programa piloto usando o Application Request Routing
pela Equipe do IIS
Visão geral
Este tópico guia o leitor pelas etapas para iniciar e gerenciar programas piloto ou beta usando o Application Request Routing. O Application Request Routing pode ser usado para direcionar e rotear os usuários apropriados para o site piloto ou também pode ser usado para limitar e gerenciar a quantidade de tráfego roteada para o site piloto. Este passo a passo se concentra em como o Application Request Routing pode ser usado para rotear solicitações específicas para o site piloto com base no perfil do usuário.
Meta
Para configurar o Application Request Routing para gerenciar e reduzir os riscos em torno da inicialização de um programa piloto.
Pré-requisitos
Esse passo a passo requer os seguintes pré-requisitos:
- IIS 7.0 ou superior no Windows 2008 (qualquer SKU) ou mais recente.
- Microsoft Application Request Routing Versão 1 e módulos dependentes.
- No mínimo, quatro servidores de conteúdo com sites e aplicativos em funcionamento. Dois servidores serão usados para simular o site de produção e os outros dois servidores simularão o site piloto.
- Navegador alternativo para o Microsoft Internet Explorer, como o Firefox, em um computador com o .NET 3.5 instalado. (Essa configuração é usada apenas para fins de teste.)
Siga as etapas descritas neste documento para instalar o Application Request Routing.
Como outro pré-requisito é que o leitor tenha definido e configurado dois farms de servidores, seguindo as etapas descritas em Definir e configurar um grupo de servidores de ARR (Application Request Routing). Um farm de servidores representará o ambiente de produção, enquanto o outro representará o ambiente piloto.
Etapa 1 – Alterar as regras de reescrita de URL para rotear solicitações com base no perfil do usuário
Nesta etapa, as regras de reescrita de URL são alteradas para que somente os usuários que instalaram o .NET 3.5 e estão usando o IE (Microsoft Internet Explorer), sejam roteados para o site piloto, definido como pilotSiteServers. Todos os outros são roteado para o site de produção, definido como productionSiteServers.
Para alterar as regras de reescrita de URL usando a interface do usuário:
Inicie o Gerenciador do IIS.
Selecione o farm de servidores, pilotSiteServers.
Os seguintes ícones são mostrados:
Clique duas vezes em Regras de Roteamento.
Como esse cenário envolve vários farms de servidores com correspondência condicional de cabeçalhos de solicitação HTTP, as alterações são feitas usando a interface do usuário de reescrita de URL que expõe opções adicionais. Selecione Reescrita de URL em Roteamento Avançado.
Observe que duas regras já foram criadas, mas devem ser alteradas.
A ordem das regras importa neste passo a passo. Se ARR_productionSiteServers_loadbalance estiver acima ARR_pilotServers_loadbalance, você poderá alterar a ordem das regras usando Mover para cima ou Mover para baixo, depois de selecionar a regra.
Selecione ARR_pilotSite_Servers_loadbalance e selecione Editar... no painel Ações.
Os clientes com IE com .NET 3.5 devem ser especificados para acessar o farm de servidores pilotSiteServers. Faça isso adicionando condições. Selecione Adicionar Condições e selecione Adicionar....
Insira {HTTP_USER_AGENT} como Entrada de condição e *MSIE* como Padrão. Essa condição verifica se o cliente está usando o IE.
Adicione outra condição para verificar a versão do .NET. Selecione Adicionar... e insira {HTTP_USER_AGENT} como Entrada de condição e *.NET CLR 3.5* como Padrão.
Por fim, desmarque a caixa de seleção Interromper processamento de regras subsequentes e selecione Aplicar, para salvar as alterações.
Conforme observado acima, a ordem das regras é importante. Isso ocorre porque a reescrita de URL processa as regras em ordem quando Interromper processamento de regras subsequentes, está desmarcada. Portanto, nesse caso, a primeira regra, ARR_pilotSiteServers_loadbalance, será considerada primeiro. Essa regra tenta corresponder se o cliente está usando o IE e tem o .NET 3.5 instalado. Nesse caso, as solicitações são encaminhadas para o farm de servidores pilotSiteServers. Como a caixa de seleção Interromper processamento de regras subsequentes está desmarcada, ela processará a segunda regra, ARR_productionSiteServers_loadbalance, que roteará todas as solicitações restantes para o farm de servidores productionSiteServers.
Para alterar as regras de reescrita de URL, usando a linha de comando:
Abra um prompt de comando com privilégios de administrador.
Navegue até
%windir%\system32\inetsrv
.Para alterar a regra de ARR_pilotSiteServers_loadbalance, para verificar se há IE e .NET 3.5 no HTTP_USER_AGENT, insira:
appcmd.exe set config -section:system.webServer/rewrite/globalRules /+"[name='ARR_pilotSiteServers_loadbalance'].conditions.[input='{HTTP_USER_AGENT}',pattern='*MSIE*']" /commit:apphost
appcmd.exe set config -section:system.webServer/rewrite/globalRules /+"[name='ARR_pilotSiteServers_loadbalance'].conditions.[input='{HTTP_USER_AGENT}',pattern='*.NET CLR 3.5*']" /commit:apphost
Para desmarcar Interromper processamento de regras subsequentes para ARR_pilotSiteServers_loadbalance, insira:
appcmd.exe set config -section:system.webServer/rewrite/globalRules /[name='ARR_pilotSiteServers_loadbalance'].stopProcessing:"False" /commit:apphost
Resumo
Agora você alterou com êxito as regras na reescrita de URL e aproveitou o Application Request Routing, para rotear apenas um subconjunto de seus usuários para o site piloto. Para obter mais propriedades e recursos de Application Request Routing, consulte outros passos a passos sobre o Application Request Routing.