IIS ARR : comment installer et configurer Application Request Routing

Windows Server 2016Windows Server 2019Windows Server 2022Windows Server 2025

Présentation IIS ARR

ARR est un complément (plugin) qui s’installe sur IIS et qui permet de transformer le serveur Web de Windows en Reverse Proxy.

ARR est un complément gratuit qui s’installe sur un service IIS et qui permet :

  • Faire du routage HTTP(S)
  • Répartition de charge (Load Balancing)
  • Décharge SSL (Offloading SSL).
  • CDN (cache)

Exemple de déploiement avec IIS/ARR :

IIS/ARR example of implementation

Prérequis pour déployer ARR

Pour la mise en place d’ARR il vous faut :

  • Un serveur avec IIS d’installé.
  • Des services Web à publier (IIS/Apache/nginx…)

Installer ARR sur Windows Serveur

Depuis la console IIS, lancer Web Platform Installer.

Dans la zone de recherche entrer ARR 1 et appuyer sur Entrée au clavier.

Rechercher ARR

Sélectionner Routage des demandes d’applications 3.0 Bêta 1 et appuyer sur le bouton Ajouter 2.

Choisir ARR 3.0

Cliquer sur le bouton Installer 1.

Lancer l'installation

Cliquer sur J’accepte 1.

Accepter la licence

Patienter pendant l’installation.

Patienter ...

Les 3 composants nécessaires à l’installation et au fonctionnement d’ARR sont installés, cliquer sur Terminer 1 pour fermer l’assistant d’installation.

Le couple IIS ARR est installé

Relancer la console IIS, les composants d’administration d’ARR 1 devraient être disponibles.

Composant ARR disponible

Configuration : Routage simple

Dans cette partie nous allons mettre en place un routage simple du protocole HTTP. Les requêtes HTTP arriveront sur le serveur ARR et celui-ci les transférera vers le serveur WEB qui héberge le(s) site(s).

La première étape est de créer une Ferme de serveur qui correspond à un ou plusieurs serveurs Web qui héberge l’application et ensuite de modifier la règle de réécriture pour le routage vers la bonne ferme en fonction de l’url.

Sélectionner Server Farm 1, faire un clic droit dessus et cliquer sur Create Server Farm2 ou passer par le menu Actions.

Création d'une ferme

Entrer le nom de la Server Farm 1 (par convention le nom DNS d’accès), cocher la case Online 2 si ce n’est pas fait et cliquer sur Suivant 3.

Entrer le nom de la ferme

Entrer le nom ou l’IP des serveurs qui héberge site 1 et cliquer sur Add 2.

Indiquer les serveurs web qui héberge l'application

Une fois le(s) serveur(s) ajouté(s) 1 cliquer le bouton Terminer 2.

Cliquer sur terminer pour créer la ferme

Cliquer sur Oui 1 pour confirmation la création automatique de règle de réécriture (routage).

Création automatique des regles

Les règles automatiques s’appuie sur le nom de la ferme pour faire la réécriture. Nous allons voir après comment modifier les règles pour les fiabilités.

La première « ferme de serveur » 1 est créée et disponible dans l’interface d’administration IIS.

Aperçu de la ferme

Développer le dossier Server Farms 1 et sélectionner la ferme qui vient d’être créée 2. Dans la zone centrale 3 se trouve les actions disponibles.

Actions sur possible sur une ferme

Nous allons maintenant regarder de plus près les règles de réécriture.

Cliquer sur Routing Rules 1.

Ouvrir la parametrage du routage

Dans le menu Actions cliquer sur Url Rewrite … 1.

Ouvrir les regles

On voit la règle de transfert créer automatiquement 1. Faire un double clic dessus pour afficher les détails de la règle.

Liste des regles

Dans le cas où un seul serveur Web héberge l’ensemble des sites internets sur des vhosts (sites), il serait possible de faire une seule règle en gardant l’entête de l’hôte.

A : on voit ici que le trafic arrivant sur le serveur est transféré et non réécrit comme on peut le voir dans la liste des règles. On va maintenant faire en sorte de limiter le transfert à l’url lab.rdr-it.intra. Cliquer sur Conditions 1.

Edition de la régle

Cliquer sur le bouton Ajouter 1. Dans la nouvelle fenêtre qui s’ouvre, entrer la variable server que l’on va tester ici {HTTP_HOST} 2, dans le champ modèle 03 saisir le (sous-)domaine à traiter et cliquer sur OK 4 pour enregistrer la condition.

Ajout de condition

A : la condition est ajoutée, cliquer sur Appliquer 1 pour la prise en compte.

Condition appliquée

Pour les besoins du tutoriel, j’ai ajouté un second site arr-demo.rdr-it.intra qui passe par ARR et qui est hébergé sur le même serveur IIS.

Les enregistrements DNS de type A des sites doivent pointer sur le serveur ARR.

Résolution de nom via ping

Lancer un navigateur internet et aller sur les sites.

Résultat navigateur

Pour valider le passage dans ARR, il est possible de le vérifier au niveau des logs IIS qui se trouve dans C:/inetpub/LogFiles/W3SVC1 (par défaut). Le passage par ARR peut aussi être surveillé au niveau du monitoring 1 sur la ferme avec une page dédiée aux statistiques 2.

Configuration : Décharge SSL

Le but de la décharge SSL est de publier un site à l’aide d’ARR en HTTPS et de faire communiquer le serveur ARR avec le serveur web en HTTP. Cette solution permet de décharger le serveur Web du cryptage.

Installer le certificat SSL sur le serveur Web IIS ARR

ARR étant lié à un seul site (Défault Web Site) sur IIS, si plusieurs domaines doivent être pris en charge, il est nécessaire d’avoir un certificat de type SAN.

Pour le tutoriel, j’ai généré un certificat autosigné en *.rdr-it.intra pour couvrir l’ensemble des sous-domaines. Vous trouverez ici un générateur de certificat autosigné.

Aller à la racine de la console IIS 1 puis sur Certificats de serveur 2.

Gestion des certificats dans IIS

Cliquer sur Importer 1 dans le menu Actions. Sélectionner le certificat au format pfx 2, entrer la clé privée (mot de passe) 3, choisir le magasin de stockage 4 (Hébergement Web) et cliquer sur OK 5.

Importer le certificat

Le certificat est importé 1>.

Certificat importé

Afficher la liste des sites disponibles sur le serveur en cliquant sur le dossier Sites 1, sélectionner le site par défaut 2, faire un clic droit dessus et cliquer sur Liaisons … 3.

Gestion des liaisons

Cliquer sur le bouton Ajouter 1.

Ajout d'une nouvelle liaison

Type de liaison choisir https 1, sélectionner le certificat 2 puis appuyer sur le bouton OK 3.

Configuration liaison SSL

La liaison HTTPS est ajoutée 1. Quitter en cliquant sur Fermer 2.

Liaison ajoutée

Configurer des règles de réécriture – routage

Aller sur la page de gestion des règles de réécriture.

Ajouter une nouvelle règle depuis le menu Action en cliquant sur Ajouter des règles 1, choisir Règle vide 2 puis cliquer sur OK 3.

Ajout d'une nouvelle regle

Nommer la règle 1, cliquer sur Conditions 2 pour développer l’option, ajouter les deux règles 3 (la première vérifie que l’appel est fait en https et le second limite au domaine). Dans la partie Action, sélectionner le schéma 4 puis la batterie de serveurs 5 et cliquer sur Appliquer 6.

Parametrage de la regle

Retourner sur la liste des règles, elle est ajoutée 1.

Regle ajoutée

Lancer un navigateur et accéder au site en https.

Test HTTPS

Comment on peut le voir ci-dessous, il n’y a pas de liaison SSL sur le site IIS A>.

Liaison sur le serveur web cible

Pour forcer l’accès en HTTPS (SSL), il est nécessaire d’ajouter avant la règle de décharge, une règle qui fait une redirection 301 HTTP vers HTTPS.

Activer le cache avec ARR

Une des fonctionnalités disponibles avec ARR est système du cache,qui permet d’économiser des requêtes sur les serveurs Web.

Sur le serveur créé un dossier pour stocker le cache.

Depuis la console IIS, cliquer sur Application Request Routing 1.

Console IIS ARR

Depuis le menu Actions cliquer sur Add Drive… 1.

Ajouter un emplacement

Saisir le chemin du dossier 1, définir une limite 2 puis cliquer sur OK 3.

Paramétrage de l'emplacement

Le stockage pour le cache est déclaré 1.

Stockage déclare

Aller sur un des sites déclarés dans la ferme 1 et cliquer sur Caching 2.

Paramétrage du cache sur la ferme

Si ce n’est pas le cas, activer le cache en cochant la case 1 Enable disk cache et cliquer sur Appliquer 2.

Activation du cache

Actualiser le site où le cache est activé.

Ouvrir le dossier à l’endroit où le cache est écrit, vous devriez avoir des fichiers A.

Validation du bon fonctionnement

Vous savez maintenant comment configurer un Reverse Proxy Web avec Windows Serveur en utilisant le serveur Web IIS et en installant ARR en complément.

Pour sécurisé d’avantage vos applications Web publier sur Internet depuis ARR, vous pouvez ajouter Crowdsec à votre serveur.

ARR est très facile à mettre en place et s’intègre très bien avec Exchange Serveur en serveur frontale pour gérer le load-balancing : ARR : Configuration pour Outlook Anywhere.

Romain Drouche
Architecte Système | MCSE: Core Infrastructure
Expert en infrastructures IT avec plus de 15 ans d’expérience sur le terrain. Actuellement Chef de projet Systèmes et Réseaux et Référent SSI (Sécurité des Systèmes d’Information), je mets mon expertise au service de la fiabilité et de la sécurité des environnements technologiques.

Laisser un commentaire