Visão geral do IIS ARR
ARR é um complemento (plugin) que se instala no IIS e que permite transformar o servidor Web do Windows em Reverse Proxy.
ARR é um complemento gratuito que é instalado em um serviço IIS e permite:
- Fazer roteamento HTTP(S)
- Distribuição de carga (balanceamento de carga)
- Descarregando SSL.
- CDN (cache)
Exemplo de implantação com IIS/ARR:
![IIS/ARR example of implementation](https://rdr-it.io/wp-content/uploads/2019/11/arr-201911.png)
Pré-requisitos
Para configurar o ARR, você precisará de:
- Serviços da Web para publicar (IIS/Apache/nginx…)
- Um servidor com o IIS instalado.
Instalando o ARR
No console do IIS, inicie o Web Platform Installer.
Na caixa de pesquisa, digite ARR 1 e pressione Enter no teclado.
![Rechercher ARR](https://rdr-it.io/wp-content/uploads/images/01-rechercher-arr-600x330.png)
Selecione Application Request Routing 3.0 Beta 1 e pressione o botão Adicionar 2.
![Choisir ARR 3.0](https://rdr-it.io/wp-content/uploads/images/02-selection-arr-3-600x331.png)
Clique no botão Instalar 1.
![Lancer l'installation](https://rdr-it.io/wp-content/uploads/images/03-lancer-installation-600x330.png)
Clique em Aceito 1.
![Accepter la licence](https://rdr-it.io/wp-content/uploads/images/04-accept-licence-600x397.png)
Aguarde enquanto instala.
![Patienter ...](https://rdr-it.io/wp-content/uploads/images/05-patienter-installation-568x400.png)
Os 3 componentes necessários para a instalação e operação do ARR estão instalados, clique em Concluir 1 para fechar o assistente de instalação.
![Le couple IIS ARR est installé](https://rdr-it.io/wp-content/uploads/images/06-installation-terminee-581x400.png)
Reinicie o console do IIS, os componentes de administração ARR 1 devem estar disponíveis.
![Composant ARR disponible](https://rdr-it.io/wp-content/uploads/images/07-composant-admin-arr-600x330.png)
Configuração: Roteamento Simples
Nesta parte vamos configurar um roteamento simples do protocolo HTTP. As requisições HTTP chegarão ao servidor ARR e este as transferirá para o servidor WEB que hospeda o(s) site(s).
A primeira etapa é criar um Farm de Servidores que corresponda a um ou mais servidores Web que hospedam o aplicativo e, em seguida, modificar a regra de regravação para roteamento para o farm correto com base no URL.
Selecione Server Farm 1, clique com o botão direito nele e clique em Create Server Farm … 2 ou vá até o menu Actions.
![Création d'une ferme](https://rdr-it.io/wp-content/uploads/images/08-creer-une-farm-600x211.png)
Insira o nome do Farm de Servidores 1 (por convenção o nome DNS de acesso), marque a caixa Online 2 caso não seja feito e clique em Próximo 3.
![Entrer le nom de la ferme](https://rdr-it.io/wp-content/uploads/images/09-creer-farm-etape1-nom-524x400.png)
Digite o nome ou IP dos servidores que hospedam o site 1 e clique em Adicionar 2.
![Indiquer les serveurs web qui héberge l'application](https://rdr-it.io/wp-content/uploads/images/10-creer-farm-etape2-server-web-524x400.png)
Depois que os servidores forem adicionados 1 clique no botão Concluir 2.
![Cliquer sur terminer pour créer la ferme](https://rdr-it.io/wp-content/uploads/images/11-creer-farm-etape3-server-web-521x400.png)
Clique em Sim 1 para confirmar a criação automática da regra de reescrita (roteamento).
![Création automatique des regles](https://rdr-it.io/wp-content/uploads/images/12-creation-auto-regle.png)
As regras automáticas dependem do nome do farm para fazer a regravação. Veremos mais adiante como modificar as regras de confiabilidade.
O primeiro “server farm” 1 é criado e está disponível na interface de administração do IIS.
![Aperçu de la ferme](https://rdr-it.io/wp-content/uploads/images/13-prem-farm-server-600x198.png)
Expanda a pasta Server Farms 1 e selecione o farm recém-criado 2. Na área central 3 estão as ações disponíveis.
![Actions sur possible sur une ferme](https://rdr-it.io/wp-content/uploads/images/14-detail-farm-600x155.png)
Vamos agora dar uma olhada mais de perto nas regras de reescrita.
Clique em Regras de Roteamento 1.
![Ouvrir la parametrage du routage](https://rdr-it.io/wp-content/uploads/images/15-click-routing-rule-600x178.png)
No menu Ações, clique em Reescrever URL … 1.
![Ouvrir les regles](https://rdr-it.io/wp-content/uploads/images/16-goto-url_rewrite-600x188.png)
Vemos a regra de encaminhamento criar automaticamente 1. Clique duas vezes nele para exibir os detalhes da regra.
![Liste des regles](https://rdr-it.io/wp-content/uploads/images/17-regle-arr-lab-rdr-600x330.png)
No caso de um único servidor Web hospedar todos os sites em vhosts (sites), seria possível fazer uma única regra mantendo o cabeçalho do host.
A : vemos aqui que o tráfego que chega no servidor é encaminhado e não reescrito como podemos ver na lista de regras. Agora vamos limitar a transferência para a url lab.rdr-it.intra. Clique em Condições 1.
![Edition de la régle](https://rdr-it.io/wp-content/uploads/images/18-edit-rule-600x330.png)
Clique no botão Adicionar 1. Na nova janela que se abre, digite a variável do servidor que vamos testar aqui {HTTP_HOST} 2, no campo modelo 03 digite o (sub)domínio a ser processado e clique em OK 4 para salvar a condição.
![Ajout de condition](https://rdr-it.io/wp-content/uploads/images/19-ajout-condition-600x331.png)
A : a condição é adicionada, clique em Aplicar 1 para levá-la em consideração.
![Condition appliquée](https://rdr-it.io/wp-content/uploads/images/20-condition-ajoutee-600x331.png)
Para os propósitos do tutorial, adicionei um segundo site arr-demo.rdr-it.intra que passa pelo ARR e que está hospedado no mesmo servidor IIS.
Os registros DNS do tipo A de site devem apontar para o servidor ARR.
![Résolution de nom via ping](https://rdr-it.io/wp-content/uploads/images/21-ping-pour-resolution-600x314.png)
Inicie um navegador de internet e acesse os sites.
![Résultat navigateur](https://rdr-it.io/wp-content/uploads/images/22-resultat-navigateur-600x365.png)
Para validar a passagem no ARR, é possível verificá-la no nível dos logs do IIS que está em C:/inetpub/LogFiles/W3SVC1 (por padrão). A passagem pelo ARR também pode ser monitorada no nível de monitoramento 1 na fazenda com uma página dedicada às estatísticas 2.
![IIS ARR : statistiques](https://rdr-it.io/wp-content/uploads/images/23-goto-stats.png)
![IIS ARR : statistiques](https://rdr-it.io/wp-content/uploads/images/24-stats-overview-1024x644.png)
Configuração: Descarregamento SSL
O objetivo do descarregamento SSL é publicar um site usando ARR sobre HTTPS e fazer com que o servidor ARR se comunique com o servidor web por HTTP. Esta solução alivia o servidor web da criptografia.
Instalando o certificado no servidor ARR
Como o ARR está vinculado a um único site (site padrão) no IIS, se vários domínios devem ser suportados, é necessário ter um certificado do tipo SAN.
Para o tutorial, gerei um certificado autoassinado em *.rdr-it.intra para cobrir todos os subdomínios. Aqui você encontrará um gerador de certificado autoassinado.
Vá para a raiz do console do IIS 1 e depois em Certificados do servidor 2.
![Gestion des certificats dans IIS](https://rdr-it.io/wp-content/uploads/images/25-goto-certificats-600x330.png)
Clique em Importar 1 no menu Ações. Selecione o certificado no formato pfx 2, digite a chave privada (senha) 3, escolha o armazenamento de armazenamento 4 (Web Hosting) e clique em OK 5 .
![Importer le certificat](https://rdr-it.io/wp-content/uploads/images/26-import-certificat-600x332.png)
O certificado é importado 1>.
![Certificat importé](https://rdr-it.io/wp-content/uploads/images/27-certificats-list-600x330.png)
Exiba a lista de sites disponíveis no servidor clicando na pasta Sites 1, selecione o site padrão 2, clique com o botão direito nele e clique em Bindings… 3.
![Gestion des liaisons](https://rdr-it.io/wp-content/uploads/images/28-goto-sites-liaisons-600x332.png)
Clique no botão Adicionar 1.
![Ajout d'une nouvelle liaison](https://rdr-it.io/wp-content/uploads/images/29-ajouter-liaison-600x330.png)
Tipo de link escolha https 1, selecione o certificado 2 e pressione o botão OK 3.
![Configuration liaison SSL](https://rdr-it.io/wp-content/uploads/images/30-config-liaison-600x330.png)
A associação HTTPS é adicionada 1. Saia clicando em Fechar 2.
![Liaison ajoutée](https://rdr-it.io/wp-content/uploads/images/31-liaison-ajoutee-600x330.png)
Configurando Regras de Reescrita – Roteamento
Vá para a página de gerenciamento de regras de reescrita.
Adicione uma nova regra no menu Ação clicando em Adicionar Regras 1, escolha Regra Vazia 2 e clique em OK 3.
![Ajout d'une nouvelle regle](https://rdr-it.io/wp-content/uploads/images/32-ajout-regle-600x330.png)
Nomeie a regra 1, clique em Condições 2 para expandir a opção, adicione as duas regras 3 (a primeira verifica se a chamada é feita em https e a segunda limita o domínio). Na parte Ação, selecione o esquema 4, depois o farm de servidores 5 e clique em Aplicar 6.
![Parametrage de la regle](https://rdr-it.io/wp-content/uploads/images/33-form-nouvelle-regle-527x400.png)
Retorne à lista de regras, é adicionado 1.
![Regle ajoutée](https://rdr-it.io/wp-content/uploads/images/34-regles-liste-600x129.png)
Inicie um navegador e acesse o site em https.
![Test HTTPS](https://rdr-it.io/wp-content/uploads/images/35-accès-site-ssl-e1574746219250.png)
Como pode ser visto abaixo, não há ligação SSL no site IIS .
![Liaison sur le serveur web cible](https://rdr-it.io/wp-content/uploads/images/36-liaison-site-iis-final-600x147.png)
Para forçar o acesso em HTTPS (SSL), é necessário adicionar antes da regra de descarga, uma regra que realize um redirecionamento 301 HTTP para HTTPS.
Configuração: habilitar cache
Um dos recursos disponíveis com o ARR é o sistema de cache, que salva requisições em servidores web.
No servidor criou uma pasta para armazenar o cache.
No console do IIS, clique em Application Request Routing 1.
![Console IIS ARR](https://rdr-it.io/wp-content/uploads/images/37-goto-arr-600x329.png)
No menu Ações, clique em Adicionar unidade… 1.
![Ajouter un emplacement](https://rdr-it.io/wp-content/uploads/images/38-click-add-drive-600x330.png)
Digite o caminho da pasta 1, defina um limite 2 e clique em OK 3.
![Paramétrage de l'emplacement](https://rdr-it.io/wp-content/uploads/images/39-form-add-drive-600x332.png)
O armazenamento para o cache é declarado 1.
![Stockage déclare](https://rdr-it.io/wp-content/uploads/images/40-dossier-cache-600x172.png)
Vá para um dos sites declarados no farm 1 e clique em Caching 2.
![Paramétrage du cache sur la ferme](https://rdr-it.io/wp-content/uploads/images/41-goto-caching-600x380.png)
Se este não for o caso, ative o cache marcando a caixa 1 Habilitar cache de disco e clique em Aplicar 2.
![Activation du cache](https://rdr-it.io/wp-content/uploads/images/42-activation-cache-site-ferme-600x330.png)
Atualize o site onde o cache está ativado.
Abra a pasta onde o cache está escrito, você deve ter arquivos A.
![Validation du bon fonctionnement](https://rdr-it.io/wp-content/uploads/images/43-verification-cache-600x314.png)