GERBELOTBARILLON.COM

Parce qu'il faut toujours un commencement...

Le serveur IIS

Installer IIS

IIS (Internet Information Service) est LE serveur Web disponible sous Windows. Beaucoup de services ayant besoin de service Web s'appuient dessus (Exchange, Sharepoint, ...). IIS supporte les langages de description de pages web comme HTML, PHP ou les éléments spécifiques Microsoft comme ASP.

Pour installer IIS sans fioritures, il suffit de se rendre dans le gestionnaire de serveurs > Ajouter des rôles et des fonctionnalités. Passez les étapes de l'assistant d'installation jusqu'à ce que la liste des rôles soit affichée. Cochez la case Serveur Web (IIS).

Faites Suivant jusquà la partie Fonctionnalités. Sur cette liste, vous pouvez ajouter ou supprimer des fonctionnalités (sic) mais ce n'est pas obligatoire ni requis pour les serveurs web basiques.

Microsoft Web Platform

IIS dispose d'une plateforme qui permet par la suite d'installer des plugins pour les services Web. La mise en place de cette plateforme s'effectue en démarrant l'interface du gestionnaire IIS et en cliquant sur le nom du serveur. Si le popup ne s'affiche pas, cliquez sur Obtenir de nouveaux composants Web Platform qui est dans la zone droite du menu Actions.

Une fenêtre Web devrait s'ouvrir pour permettre d'installer cette extension. Téléchargez ou exécutez l'élément directement, faites Suivant sur toutes les pages de l'assistant jusqu'à la fin. Depuis l'interface du gestionnaire IIS, le composant Web Platform devrait être maintenant disponible. grâce à lui vous pouvez maintenant installer des composants optionnels comme PHP, Wordpress, ARR, ...

Premier site Web

Par défaut, les pages Web pour un site standard sont à copier dans le dossier C:\inetpub\wwwroot. Il est possible d'héberger plusieurs sites sur un même serveur IIS en configurant les URL pour chaque site. Pour cela, créez un dossier pour chaque site et copiez les fichiers composant les sites dans leur dossier respectif. depuis la console Gestionnaire des Services Internet (IIS). Dans le panneau de navigation, dépliez le serveur et faites un clic droit sur Sites puis cliquez sur Ajouter un site web.

Dans la fenêtre de configuration, configurez les éléments suivants :

Pour le nom de l'hôte (le nom DNS du site final), si vous n'avez pas encore de domaine, vous pouvez simuler ce nom DNS en l'ajoutant dans le fichier c:\windows\system32\drivers\etc\hosts. Maintenant chaque site sera accessible sur le port 80, la distinction s'effectuant par l'URL.

Installer l'ARR, le Reverse Proxy

Pour installer l'ARR, le plus simple est de passer par le gestionnaire IIS > Web Platform. Dans la zone de recherche, tapez ARR et faites Entrée. Sélectionnez Routage des demandes d'applications et appuyez sur le bouton Ajouter. Ensuite faites Installer. Déroulez l'assistant d'installation jusqu'à la fin en faisant Suivant sur toutes les étapes.

Redirection HTTP

Pour tester, nous faisons en sorte que les requêtes HTTP arrivant sur l'ARR soient transférées vers le serveur web qui héberge les sites.

Faites un clic droit sur Server Farm et sélectionnez Create Farm.... Entrez le nom de la ferme de serveur. On préfère utiliser le nom DNS. Cochez la case Online. Faites Suivant.

Entrez maintenant le nom ou l'IP des serveurs qui hébergent les sites et cliquez sur Add pour insérer chaque serveur. Faites Terminer quand c'est ... terminé...

IIS écrit automatiquement les règles de reroutage mais nous pouvons les modifier. Pour cela, développez l'objet Server Farm et cliquez sur la ferme précédemment créé. Dans la zone centrale cliquez sur Routing Rules. Dans le menu Actions cliquez sur Url rewrite...

Effectuez un double clic sur la règle de transfert automatiquement créée pour afficher les détails de cette règle. Si un seul serveur web héberge tous les sites, il serait possible de faire une seule règle en gardant l'entête de l'hôte.

Par défaut, cette règle effectue simplement un transfert du trafic arrivant sur le serveur, et non une réécriture. Cliquez sur la rubrique Conditions. Cliquez sur Ajouter puis, dans la nouvelle fenêtre entrez la variable server que l'on va tester à savoir {HTTP_HOST}. Dans le champ Modèle saisir le (sous-)domaine à traiter et cliquez sur OK pour enregistrer la condition.

Maintenant que la condition est ajoutée, cliquez sur Appliquer pour la prendre en compte. Vous pouvez tester en ajoutant éventuellement plusieurs sites sur le serveur web et essayer d'y accéder, en ayant au préalable pris soin de bien faire pointer les DNS de ces serveurs wbe sur l'ARR. Ainsi si vous avez site1.domain.tld et site2.domain.tld et que votre arr est arr.domain.tld alors les deux sites devront pointer sur l'IP de arr.domain.tld.

Si vous voulez vous assurer que le trafic passe bien par l'ARR, consultez les journaux IIS qui se trouvent dans C:\inetpub/LogFiles/W3SVC1. Il y a également la possibilité d'utiliser le monitoring sur la ferme avec la section Monitoring and Management.

Décharge SSL / SSL Offloading

Le SSL Offloading permet de publier un site à l'aide d'ARR en HTTPS et de faire communiquer le serveur ARR avec le serveur web en HTTP. Cela permet de décharger le serveur web du chiffrement SSL.

Comme l'ARR est lié à un seul site (Default Web Site) sur IIS, si plusieurs domaines doivent être pris en charge, il est nécessaire de disposer d'un certificat de type SAN. Importez le certificat au format PFX avec sa clé privée et en spécifiant le conteneur Hébergement web.

Maintenant, puisque nous n'avons que Default Web Site sur l'ARR, cliquez sur Sites > Default Web Site avec le bouton droit et choisir Liaisons / Bindings. Faire simplement Ajouter puis sélectionnez le protocole https et le certificat SAN puis OK. Fermez la fenêtre de dialogue des liaisons.

Réécriture https

Allez sur la page de réécriture de l'ARR puis Ajouter des règles, choisir Règle vide puis OK. Donnez un nom à la règle puis développez Conditions. Créez deux règles :

On choisit ensuite le type d'action Itinéraire vers la batterie puis le schéma {HTTP}, la batterie de serveurs et Appliquer. C'est dans cette dernière partie que l'on spécifie que le dialogue entre l'ARR et les sites web s'effectuera en HTTP.

Le site est maintenant disponible en passant par https alors que le site final ne dispose pas de liaison autre que http. Pour forcer l'accès en HTTPS il est nécessaire d'ajouter la règle 301 HTTP vers HTTPS avant la règle de décharge.

Activer le cache ARR

Pour économiser les requêtes, ARR permet de gérer un cache. Pour l'activer, commencez par créer un dossier pour stocker ce cache. Ensuite, depuis la console IIS, cliquez sur le nom du serveur et sélectionnez la rubrique Application Request Routing. Dans le menu Actions cliquez sur Add Drive.... Spécifiez le nom du dossier et la limite du cache. Faites OK.

Depuis la ferme, cliquez sur un des sites déclarés et cliquez sur la rubrique Cachin. Activez le cache en cochant la case Enable disk cache puis Appliquer.

Maintenant, si vous regardez dans le dossier du cache, vous devriez avoir des fichiers qui apparaissent.