Table des matières


IIS - Internet Information Services

IIS - Internet Information Services

Rôle

Guide pour l'installation configuration de Microsoft IIS 7.5 et ultérieur en vue de l'utilisation du WIService

Configuration

Les prérequis pour un web server Windows sont les suivants :

  1. http (TCP/80) :
    • réseau interne (“Integrix”) → serveur web
    • NAT de l'extérieur → serveur web
  2. https (TCP/443) (dans ce cas, il faudra un certificat SSL) :
    • réseau interne (DMZ “Integrix”) → serveur web
    • NAT de l'extérieur → serveur web
  3. WIservice (TCP/1505 et TCP/1506) :
    • réseau interne (“Integrix”) → serveur web, pas d'accès à partir d'internet

Installation de IIS





Installation de IIS avec Windows serveur 2012

Aller sur le Server Manager et aller sur Manage → Add roles and Features:




Suivre ensuite l'installation.

Installation des composants supplémentaires

Via Web Platform

Il n'est plus possible d'installer les modules IIS via web platform depuis le 31 décembre 2022.

Voir détails ici : https://www.microsoft.com/web/downloads/platform.aspx

Il faut plusieurs composants gratuits supplémentaires pour faire fonctionner IIS avec le WIService. Pour les installer, depuis la fenêtre IIS, clquez sur Obtenir de nouveaux composants Web Platform dans l'onglet Actions (à droite de l'écran). Si WebPlatform n'est pas installé, son installation sera proposée automatiquement. Une fois Web Platform lancé :

Pour installer les composants avec le module “Web platform” de IIS, vous devez avoir accès à internet et avoir le droit de télécharger les composants.

Dans le cas contraire, vous pouvez télécharger les msi depuis une autre poste.
Si vous avez IIS 7 ( WIndows 10 par exemple), il est possible que l'installation des composants “Réécriture d'URL 2.0” et “Application Request Routing 2.5” ne fonctionne pas.
Vous devez passer par votre moteur de recherche pour trouver le bon msi de ces composants.

Exemple :

Manuellement

Allez sur File Explorer et aller sur le chemin \\192.168.0.3\dev\Logiciels_install\WIService\IIS module

Récupérer les deux fichiers MSI et les executer

Configuration du site et droits d'accès

Répertoire

Sur le serveur, créez un Répertoire qui servira pour le site web (Dans notre exemple ce sera C:/DevWeb).
Une fois le répertoire créé, il faut donner les droits à l'utilisateur anonyme de IIS. Pour ce faire, clic droit sur le répertoire, puis Propriétés, Sécurité, Modifier, Ajouter…, saisissez IUSR puis validez. Refaites la même manipulations pour l'utilisateur <nom_de_l'ordinateur>\IIS_IUSRS et validez puis toutes les fenêtres. Vous devez avoir un résultat qui ressemble à ça :

Sous IIS

Retournez sur la console IIS puis dans le treeview à gauche, allez cliquer sur Sites. Dans l'onglet Actions, cliquez sur Ajouter un site Web…

Vous obtenez un formulaire à remplir :

FAQ 1
  1. Pascal Pontoise 07/09/2016 10:58
Internet Information Services (IIS) Manager - The process cannot access the file because it is being used by another process. (Exception from HRESULT: 0x80070020)
netstat -aon | find ":80" 
netstat -aon | find ":443"

Règles de redirection et Proxy reverse

La suite de ce guide présuppose que vous avez installé le service Wi sur le serveur et qu'il est démarré

Vous pouvez bien sûr trouver des exemples de réécritures d'url sur internet.
Exemple : http://www.iis.net/learn/extensions/url-rewrite-module/creating-rewrite-rules-for-the-url-rewrite-module

Les composants que nous avons installé précédemment vont servir à effectuer les redirections nécessaires au fonctionnement des wi-services.

A. Copier les règles

B. Ajouter les règles manuellement

Dans un premier temps, nous allons nous assurer que toutes les urls contenant ”/wiapp“ soient redirigées vers le service wi.

Dans la console IIS, sur votre Site, double-cliquez sur , puis sur Ajouter des règles. Il faut alors choisir proxy inverse

Lorsque vous cliquez sur cette règle, IIS va vous demander si vous souhaitez activer le request routing. Cliquez sur oui, vous arrivez ensuite sur le formulaire à remplir.

Peu importe ce que vous saisissez à ce stade, le but est juste de créer 2 règles et d'activer le request routing. Une fois le formulaire rempli, validez la saisie. De retour sur l'écran des règles, vous voyez deux nouvelles règles, ReverseProxyInboundRule1 et ReverseProxyOutboundRule1.

Cliquez sur la règle Inbound, puis sur Modifier…

Il est préférable de mettre “127.0.0.1” au lieu de localhost dans les réécriture d'url car l'appel des WS prend sur la plupart des serveurs avec IIS 1 secondes de plus avec localhost.

Une autre solution est de désactiver IPv6

Redirection par application

Maintenant que les redirections de base sont réalisées, la suite dépend de l'application (pool, hostname) que vous souhaitez mettre en place. Dans l'exemple suivant, l'url que nous souhaitons appliquer à ce client est /aca. Toutes les url sur le site web contenant /aca doivent donc faire appel à notre wi-service.

Nous ajoutons donc dans IIS une nouvelle règle de redirection vierge que nous remplissons comme suit :

Dans le modèle, nous choisissons donc de rediriger la chaîne “aca” pour réécrire l'url avec le hostname “ingeteldev2” et le exec “acacontroler”. Nous faisons précéder cette redirection d'un /wiapp (qui fera appel à la règle précédemment établie de redirection vers le wi). le {R:1} sert à transmettre au wi le reste de la requête, c'est à dire ce qui suit le /aca dans l'url d'origine.

Dans notre cas, je propose de ne pas mentionner le w3hostname. S'il n'est pas mentionné, le WIService prendra “Default” par défaut.

Validez la saisie. Si vous testez directement, vous verrez que ça ne fonctionne pas. En effet, dans la liste des règles, celle que vous venez d'ajouter s'est mise en fin de liste. Or nous souhaitons faire appel à la règle précédemment écrite APRES la nouvelle règle. Dans l'écran des règles, il faut donc placer la nouvelle règle au dessus de la règle de base :

Et voilà, le serveur IIS est configuré et fonctionnel.

Troubleshooting

Error 500.52 - URL Rewrite Module Error

Error 502 - Le serveur Web a reçu une réponse erronée lors de son utilisation en tant que passerelle ou serveur proxy.

The process cannot access the file because it is being used by another process