Panoramica dell’ARR di IIS
ARR è un complemento (plugin) che si installa su IIS e che permette di trasformare il Web server di Windows in Reverse Proxy.
ARR è un componente aggiuntivo gratuito che si installa su un servizio IIS e consente:
- Esegui il routing HTTP(S).
- Distribuzione del carico (bilanciamento del carico)
- Scarica SSL.
- CDN (cache)
Esempio di distribuzione con IIS/ARR:
![IIS/ARR example of implementation](https://rdr-it.io/wp-content/uploads/2019/11/arr-201911.png)
Prerequisiti
Per impostare ARR avrai bisogno di:
- Servizi Web da pubblicare (IIS/Apache/nginx…)
- Un server con IIS installato.
Installazione di ARR
Dalla console IIS, avviare il programma di installazione della piattaforma Web.
Nella casella di ricerca inserisci ARR 1 e premi Invio sulla tastiera.
![Rechercher ARR](https://rdr-it.io/wp-content/uploads/images/01-rechercher-arr-600x330.png)
Selezionare Application Request Routing 3.0 Beta 1 e premere il pulsante Aggiungi 2.
![Choisir ARR 3.0](https://rdr-it.io/wp-content/uploads/images/02-selection-arr-3-600x331.png)
Fare clic sul pulsante Installa 1.
![Lancer l'installation](https://rdr-it.io/wp-content/uploads/images/03-lancer-installation-600x330.png)
Clicca su Accetto 1.
![Accepter la licence](https://rdr-it.io/wp-content/uploads/images/04-accept-licence-600x397.png)
Attendi durante l’installazione.
![Patienter ...](https://rdr-it.io/wp-content/uploads/images/05-patienter-installation-568x400.png)
Sono installati i 3 componenti necessari per l’installazione e il funzionamento di ARR, fare clic su Fine 1 per chiudere la procedura guidata di installazione.
![Le couple IIS ARR est installé](https://rdr-it.io/wp-content/uploads/images/06-installation-terminee-581x400.png)
Riavviare la console IIS, i componenti di amministrazione ARR 1 dovrebbero essere disponibili.
![Composant ARR disponible](https://rdr-it.io/wp-content/uploads/images/07-composant-admin-arr-600x330.png)
Configurazione: instradamento semplice
In questa parte imposteremo un semplice routing del protocollo HTTP. Le richieste HTTP arriveranno sul server ARR e questo le trasferirà al server WEB che ospita i siti.
Il primo passaggio consiste nel creare una server farm che corrisponda a uno o più server Web che ospitano l’applicazione e quindi modificare la regola di riscrittura per l’instradamento alla farm corretta in base all’URL.
Selezionare Server Farm 1, fare clic con il tasto destro su di esso e fare clic su Crea server farm … 2 o scorrere il menu Azioni.
![Création d'une ferme](https://rdr-it.io/wp-content/uploads/images/08-creer-une-farm-600x211.png)
Inserire il nome della Server Farm 1 (per convenzione il nome DNS di accesso), spuntare la casella Online 2 se non è fatto e cliccare su Avanti 3.
![Entrer le nom de la ferme](https://rdr-it.io/wp-content/uploads/images/09-creer-farm-etape1-nom-524x400.png)
Immettere il nome o l’IP del sito che ospita i server 1 e fare clic su Aggiungi 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)
Una volta aggiunti i server 1 fare clic sul pulsante Fine 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)
Fare clic su Sì 1 per confermare la creazione automatica della regola di riscrittura (routing).
![Création automatique des regles](https://rdr-it.io/wp-content/uploads/images/12-creation-auto-regle.png)
Le regole automatiche si basano sul nome della farm per eseguire la riscrittura. Vedremo più avanti come modificare le regole per l’affidabilità.
La prima “server farm” 1 viene creata e disponibile nell’interfaccia di amministrazione di IIS.
![Aperçu de la ferme](https://rdr-it.io/wp-content/uploads/images/13-prem-farm-server-600x198.png)
Espandere la cartella Server Farm 1 e selezionare la farm appena creata 2. Nell’area centrale 3 sono disponibili le azioni.
![Actions sur possible sur une ferme](https://rdr-it.io/wp-content/uploads/images/14-detail-farm-600x155.png)
Ora daremo un’occhiata più da vicino alle regole di riscrittura.
Fare clic su Regole di percorso 1.
![Ouvrir la parametrage du routage](https://rdr-it.io/wp-content/uploads/images/15-click-routing-rule-600x178.png)
Nel menu Azioni fare clic su Riscrivi URL … 1.
![Ouvrir les regles](https://rdr-it.io/wp-content/uploads/images/16-goto-url_rewrite-600x188.png)
Vediamo che la regola di inoltro crea automaticamente 1. Fare doppio clic su di esso per visualizzare i dettagli della regola.
![Liste des regles](https://rdr-it.io/wp-content/uploads/images/17-regle-arr-lab-rdr-600x330.png)
Nel caso in cui un unico Web server ospitasse tutti i siti web su vhosts (siti), sarebbe possibile fare un’unica regola mantenendo l’intestazione dell’host.
A : vediamo qui che il traffico in arrivo sul server viene inoltrato e non riscritto come possiamo vedere nell’elenco delle regole. Ora limiteremo il trasferimento all’URL lab.rdr-it.intra. Clicca su Condizioni 1.
![Edition de la régle](https://rdr-it.io/wp-content/uploads/images/18-edit-rule-600x330.png)
Fare clic sul pulsante Aggiungi 1. Nella nuova finestra che si apre, inserisci la variabile server che testeremo qui {HTTP_HOST} 2, nel campo modello 03 inserisci il (sotto)dominio da elaborare e clicca su OK 4 per salvare la condizione.
![Ajout de condition](https://rdr-it.io/wp-content/uploads/images/19-ajout-condition-600x331.png)
A : viene aggiunta la condizione, fare clic su Applica 1 per tenerne conto.
![Condition appliquée](https://rdr-it.io/wp-content/uploads/images/20-condition-ajoutee-600x331.png)
Ai fini del tutorial, ho aggiunto un secondo sito arr-demo.rdr-it.intra che passa tramite ARR e che è ospitato sullo stesso server IIS.
Tipo di sito I record DNS devono puntare al server ARR.
![Résolution de nom via ping](https://rdr-it.io/wp-content/uploads/images/21-ping-pour-resolution-600x314.png)
Avvia un browser Internet e vai ai siti.
![Résultat navigateur](https://rdr-it.io/wp-content/uploads/images/22-resultat-navigateur-600x365.png)
Per validare il passaggio in ARR, è possibile verificarlo a livello dei log di IIS che si trova in C:/inetpub/LogFiles/W3SVC1 (di default). Il passaggio attraverso ARR può essere monitorato anche a livello di monitoraggio 1 in azienda con una pagina dedicata alle statistiche 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)
Configurazione: SSL Offload
Lo scopo dell’offload SSL è pubblicare un sito utilizzando ARR su HTTPS e fare in modo che il server ARR comunichi con il server Web su HTTP. Questa soluzione allevia il server web dalla crittografia.
Installazione del certificato sul server ARR
Poiché ARR è collegato ad un unico sito (sito Web predefinito) su IIS, se devono essere supportati più domini è necessario disporre di un certificato di tipo SAN.
Per il tutorial, ho generato un certificato autofirmato in *.rdr-it.intra per coprire tutti i sottodomini. Qui troverai un generatore di certificati autofirmato.
Vai alla radice della console IIS 1 quindi su Certificati server 2.
![Gestion des certificats dans IIS](https://rdr-it.io/wp-content/uploads/images/25-goto-certificats-600x330.png)
Fare clic su Importa 1 nel menu Azioni. Selezionare il certificato in formato pfx 2, inserire la chiave privata (password) 3, scegliere lo storage store 4 (Web Hosting) e cliccare su OK 5 .
![Importer le certificat](https://rdr-it.io/wp-content/uploads/images/26-import-certificat-600x332.png)
Il certificato viene importato 1>.
![Certificat importé](https://rdr-it.io/wp-content/uploads/images/27-certificats-list-600x330.png)
Visualizza l’elenco dei siti disponibili sul server cliccando sulla cartella Siti 1, seleziona il sito predefinito 2, cliccaci sopra con il tasto destro e clicca su Bindings… 3.
![Gestion des liaisons](https://rdr-it.io/wp-content/uploads/images/28-goto-sites-liaisons-600x332.png)
Fare clic sul pulsante Aggiungi 1.
![Ajout d'une nouvelle liaison](https://rdr-it.io/wp-content/uploads/images/29-ajouter-liaison-600x330.png)
Tipo di collegamento scegliere https 1, selezionare il certificato 2 quindi premere il pulsante OK 3.
![Configuration liaison SSL](https://rdr-it.io/wp-content/uploads/images/30-config-liaison-600x330.png)
L’associazione HTTPS viene aggiunta 1. Uscire facendo clic su Chiudi 2.
![Liaison ajoutée](https://rdr-it.io/wp-content/uploads/images/31-liaison-ajoutee-600x330.png)
Configurazione delle regole di riscrittura – Routing
Vai alla pagina di gestione delle regole di riscrittura.
Aggiungi una nuova regola dal menu Azione facendo clic su Aggiungi regole 1, scegli Regola vuota 2 quindi fai clic su OK 3.
![Ajout d'une nouvelle regle](https://rdr-it.io/wp-content/uploads/images/32-ajout-regle-600x330.png)
Assegna un nome alla regola 1, clicca su Condizioni 2 per espandere l’opzione, aggiungi le due regole 3 (la prima verifica che la chiamata avvenga in https e la seconda limita il dominio). Nella parte Azione, selezionare lo schema 4 quindi la server farm 5 e fare clic su Applica 6.
![Parametrage de la regle](https://rdr-it.io/wp-content/uploads/images/33-form-nouvelle-regle-527x400.png)
Ritorna all’elenco delle regole, si aggiunge 1.
![Regle ajoutée](https://rdr-it.io/wp-content/uploads/images/34-regles-liste-600x129.png)
Avvia un browser e accedi al sito in https.
![Test HTTPS](https://rdr-it.io/wp-content/uploads/images/35-accès-site-ssl-e1574746219250.png)
Come si può vedere di seguito, non esiste un legame SSL sul sito IIS A.
![Liaison sur le serveur web cible](https://rdr-it.io/wp-content/uploads/images/36-liaison-site-iis-final-600x147.png)
Per forzare l’accesso in HTTPS (SSL), è necessario aggiungere prima della regola di scarico, una regola che esegua un reindirizzamento 301 da HTTP a HTTPS.
Configurazione: Abilita cache
Una delle funzionalità disponibili con ARR è il sistema cache, che salva le richieste sui server web.
Sul server è stata creata una cartella in cui archiviare la cache.
Dalla console IIS, fare clic su Instradamento richiesta applicazione 1.
![Console IIS ARR](https://rdr-it.io/wp-content/uploads/images/37-goto-arr-600x329.png)
Dal menu Azioni clicca su Aggiungi Drive… 1.
![Ajouter un emplacement](https://rdr-it.io/wp-content/uploads/images/38-click-add-drive-600x330.png)
Immettere il percorso della cartella 1, definire un limite 2 quindi fare clic su OK 3.
![Paramétrage de l'emplacement](https://rdr-it.io/wp-content/uploads/images/39-form-add-drive-600x332.png)
Lo spazio di archiviazione per la cache è dichiarato 1.
![Stockage déclare](https://rdr-it.io/wp-content/uploads/images/40-dossier-cache-600x172.png)
Vai in uno dei siti dichiarati nella farm 1 e clicca su Caching 2.
![Paramétrage du cache sur la ferme](https://rdr-it.io/wp-content/uploads/images/41-goto-caching-600x380.png)
In caso contrario attivare la cache spuntando la casella 1 Abilita cache su disco e cliccare su Applica 2.
![Activation du cache](https://rdr-it.io/wp-content/uploads/images/42-activation-cache-site-ferme-600x330.png)
Aggiorna il sito in cui è abilitata la memorizzazione nella cache.
Apri la cartella in cui è scritta la cache, dovresti avere i file A.
![Validation du bon fonctionnement](https://rdr-it.io/wp-content/uploads/images/43-verification-cache-600x314.png)