Configurar a arquitetura de implantação de três camadas usando o Application Request Routing
pela Equipe do IIS
Visão geral
Este tópico guia você pelas etapas para configurar uma arquitetura de implantação de três camadas usando o Application Request Routing. A arquitetura de implantação de 3 camadas consiste em uma camada da Web, uma camada de servidor de aplicativos e uma camada de dados, conforme mostrado abaixo:
Normalmente, nesse cenário de implantação, o conteúdo estático é servido pelos servidores de camada 1, enquanto o conteúdo dinâmico é atendido pela lógica de negócios em servidores de camada 2.
Meta
Configurar a arquitetura de implantação de 3 camadas usando o Application Request Routing. Neste passo a passo, o foco é como configurar o servidor de ARR para fornecer conteúdo estático diretamente do servidor de ARR, enquanto encaminha as solicitações de conteúdo dinâmico para os servidores de aplicativos.
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, dois servidores de conteúdo com sites e aplicativos em funcionamento
- Conteúdo estático disponível no servidor de Application Request Routing
Siga as etapas descritas neste documento para instalar o Application Request Routing.
Como outro pré-requisito, você deverá ter definido e configurado um farm de servidores, usando as etapas descritas em Definir e configurar um grupo de servidores de ARR (Application Request Routing).
Etapa 1 – Alterar regras de reescrita de URL para filtrar solicitações estáticas.
Nesta etapa, as regras de reescrita de URL são alteradas para que as solicitações para determinadas extensões ou caminhos sejam atendidas diretamente do servidor de Application Request Routing. As solicitações estáticas podem ser identificadas examinando as extensões de arquivo, como .jpg ou .gif. Se os recursos estáticos estiverem contidos em determinadas pastas, como /images/, as regras de reescrita de URL poderão procurar o caminho no URL.
Neste passo a passo, você alterará as regras de reescrita de URL para procurar extensões de .jpg e .css, juntamente com a pasta /images/. Se o recurso solicitado tiver uma extensão .jpg ou .css, ele será atendido diretamente do servidor de ARR. Da mesma forma, se o URL solicitado contiver /images/, essa solicitação será atendida do servidor de ARR. Todas as outras solicitações serão encaminhadas para servidores de aplicativos por trás do servidor de ARR.
Antes de continuar, verifique se o conteúdo estático está disponível no servidor de ARR para servir. O conteúdo pode ser disponibilizado localmente no servidor de ARR ou o conteúdo compartilhado pode ser usado.
Para alterar as regras de reescrita de URL usando a interface do usuário:
- Inicie o Gerenciador do IIS.
- Selecione o farm de servidores,myServerFarm, que foi criado em Definir e Configurar um Grupo de Servidores ARR (Application Request Routing).
- Os seguintes ícones são mostrados:
- Clique duas vezes em Regras de Roteamento. Os tipos *.jpg e *.css na caixa de texto Solicitações com as extensões a seguir não são encaminhadas. As várias extensões são separadas por vírgula (,). Para corresponder ao caminho no URL, digite */image/* na caixa de textoSolicitações com os padrões a seguir não são encaminhadas. O caractere curinga (*) é usado para corresponder a qualquer caractere antes e depois do caminho /image/.
- Para verificar se as imagens estáticas estão sendo atendidas do servidor de ARR, inspecione os logs. Por padrão, os logs estão em
c:\inetpub\logs\LogFiles\
. Em servidores de aplicativos por trás do servidor de ARR, não deve haver nenhuma solicitação que faça referência a *.jpg, *.css ou */images/* no arquivo de log.
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
.Desmarque todas as regras de reescrita de URL inserindo:
appcmd.exe clear config -section:system.webServer/rewrite/globalRules
Para alterar as regras de roteamento para que as solicitações de recursos com extensões *.jpg e *.css e um caminho que corresponda a */images/*, não sejam encaminhadas para os servidores de aplicativos, insira:
appcmd.exe set config -section:system.webServer/rewrite/globalRules /+"[name='ARR_myServerFarm_loadbalance',patternSyntax='Wildcard',stopProcessing='True']" /commit:apphost
appcmd.exe set config -section:system.webServer/rewrite/globalRules /[name='ARR_myServerFarm_loadbalance',patternSyntax='Wildcard',stopProcessing='True'].match.url:"*" /commit:apphost
appcmd.exe set config -section:system.webServer/rewrite/globalRules /+"[name='ARR_myServerFarm_loadbalance',patternSyntax='Wildcard',stopProcessing='True'].conditions. [input='EXT_{URL}',negate='True',pattern='*.jpg']" /commit:apphost
appcmd.exe set config -section:system.webServer/rewrite/globalRules /+"[name='ARR_myServerFarm_loadbalance',patternSyntax='Wildcard',stopProcessing='True'].conditions. [input='EXT_{URL}',negate='True',pattern='*.css']" /commit:apphost
appcmd.exe set config -section:system.webServer/rewrite/globalRules /+"[name='ARR_myServerFarm_loadbalance',patternSyntax='Wildcard',stopProcessing='True'].conditions. [input='{URL}',negate='True',pattern='*/images/*']" /commit:apphost
appcmd.exe set config -section:system.webServer/rewrite/globalRules /[name='ARR_myServerFarm_loadbalance',patternSyntax='Wildcard',stopProcessing='True'].action.type:"Rewrite" /[name='ARR_myServerFarm_loadbalance',patternSyntax='Wildcard',stopProcessing='True'].action.url:"http://myServerFarm1/{R:0}" /commit:apphost
Resumo
Agora você alterou com êxito as regras de reescrita de URL usando a interface do usuário de roteamento de solicitação de aplicativo para habilitar um cenário de arquitetura de implantação de 3 camadas. Para obter mais propriedades e recursos de Application Request Routing, consulte o passo a passo do Balanceamento de Carga HTTP usando o passo a passo do ARR (Application Request Routing).
Ao usar o ARR como um proxy reverso, o cenário pode ser melhorado ainda mais quando usado com a Reescrita de URL versão 2, que tem o recurso para reescrever os cabeçalhos de resposta e o corpo da entidade.