Bien démarrer avec le Gestionnaire IIS dans IIS

Auteur : Tobin Titus, équipe IIS

Compatibilité

Version Notes
IIS 7.0 et versions ultérieures Les fonctionnalités décrites dans cet article ont été introduites dans IIS 7.0.
IIS 6.0 et versions antérieures Les fonctionnalités décrites dans cet article n'ont pas été prises en charge avant IIS 7.0.

Introduction

IIS 7.0 et versions ultérieures comportent une nouvelle interface utilisateur par rapport aux versions antérieures d’IIS : le Gestionnaire des services Internet (IIS). Cet article décrit l’apparence, la délégation de fonctionnalités, l’interaction avec la configuration et la communication à distance. Certaines fonctionnalités décrites dans ce document peuvent être absentes de certaines versions d’IIS.

Pourquoi ce changement ? Voici quelques principales raisons :

  • IIS et ASP.NET fonctionnent conjointement : les utilisateurs IIS 6.0 cliquent avec le bouton droit sur un site web, sélectionnent « Toutes les propriétés » et obtiennent une boîte de dialogue contenant plusieurs onglets pour différents paramètres. Avec IIS 7.0 et versions ultérieures, le Gestionnaire des services Internet a besoin d’afficher la configuration pour les nouvelles fonctionnalités telles que la mise en cache de sortie, le suivi des demandes ayant échoué et le filtrage des demandes, ainsi que la configuration d’ASP.NET et des parties pertinentes de .NET Framework. La nouvelle fonctionnalité aurait exigé de nombreux nouveaux onglets, ce qui n’était pas envisageable.
  • Administration déléguée : le déplacement de notre configuration à partir de la métabase vers le système de configuration .NET signifie que les utilisateurs peuvent, le cas échéant, définir la configuration IIS dans des fichiers web.config. Par exemple, la configuration d’une application http://www.contoso.com/sales peut être écrite dans le fichier de configuration racine applicationHost.config, dans le fichier web.config du site http://www.contoso.com/ ou directement dans le fichier web.config de l’application. Le nouveau Gestionnaire des services Internet doit : 1) permettre à un administrateur de contrôler la configuration autorisée dans les fichiers web.config, 2) indiquer à l’administrateur/l’utilisateur où la configuration est écrite. L’ancienne version du Gestionnaire des services Internet n’était pas en mesure de répondre à ces exigences.
  • Raisons d’ingénierie : un logiciel a une durée de conservation. Au fil du temps, de nouvelles technologies, de nouvelles exigences et de nouvelles conventions apparaissent. Il arrive alors un moment où la mise à jour d’un logiciel existant devient plus longue et coûteuse que sa reconstruction. Le Gestionnaire des services Internet approchait de la fin de sa durée de conservation.

Autre chose à savoir ? Dès que nous avons décidé de réécrire le Gestionnaire des services Internet, nous avons profité de l’occasion pour en améliorer différents aspects essentiels :

  • Extensibilité : l’extension de la version IIS 6.0 du Gestionnaire des services Internet était extrêmement difficile. Le nouveau Gestionnaire des services Internet facilite considérablement l’ajout de pages de fonctionnalités, de nœuds de l’arborescence et d’éléments de menu, tout en utilisant du code managé et WinForms. Les nouvelles extensions du Gestionnaire des services Internet sont automatiquement détectées et téléchargées par les clients distants du Gestionnaire des services Internet qui se connectent au serveur.
  • Administration à distance : l’administration à distance est effectuée via HTTPS, ce qui garantit la compatibilité avec un pare-feu et facilite la gestion. Le Service de gestion web (WMSVC) est le composant pouvant être installé en option qui permet l’administration à distance.
  • Nouvelle apparence : le Gestionnaire des services Internet avait besoin d’un modèle plus évolutif pour exposer les paramètres, et la vue de liste des fonctionnalités résultante ressemble au Panneau de configuration. Vous pouvez trier, regrouper et afficher une vue de liste de différentes manières afin de trouver plus facilement ce que vous recherchez. La navigation dans le Gestionnaire des services Internet se présente désormais comme dans un navigateur avec une barre d’adresse similaire à celle de l’Explorateur Windows.

Remarque

Ce document a été rédigé pour Windows Server 2008. Certaines fonctionnalités décrites dans ce document ne sont peut-être pas présentes dans Windows Vista®.

Nouvelle apparence

Le Gestionnaire des services Internet (IIS) disposait d’un mode de navigation de type Précédente/Suivante dans les versions antérieures. Le nouveau Gestionnaire des services Internet l’améliore en ajoutant une barre d’adresse qui fonctionne comme l’Explorateur Windows.

Capture d’écran de l’écran I S Manager montrant la page d’accueil du site web par défaut.

Figure 1 : Nouveau Gestionnaire des services Internet

Page d’accueil

La page d’accueil devient très familière dès que vous commencez à utiliser le Gestionnaire des services Internet. La liste des fonctionnalités du milieu peut être triée par nom ou description de fonctionnalité, regroupée par zone ou catégorie, et affichée dans différentes dispositions.

Capture d’écran du volet d’accueil du site web par défaut montrant le regroupement, les affichages et la liste des fonctionnalités.

Figure 2 : Regroupement dans le Gestionnaire des services Internet

Étendues des fonctionnalités

Les nœuds de serveur, de site, d’application, de répertoire virtuel et de dossier dans l’arborescence affichent tous une page d’accueil avec une liste de fonctionnalités. La plupart des fonctionnalités apparaissent sur les pages d’accueil de tous ces nœuds, mais il existe des exceptions.

Ces fonctionnalités s’affichent sur la page d’accueil du serveuruniquement, car elles sont liées à la configuration, à des données ou à des informations à l’échelle du serveur :

  • Restrictions ISAPI et CGI
  • Certificats (mais n’apparaît pas du tout dans les connexions à distance)
  • Service de gestion (mais n’apparaît pas du tout dans les connexions à distance)
  • Processus de travail

Ces fonctionnalités apparaissent partout, sauf sur la page d’accueil du serveur, car il s’agit de la configuration d’application et elles ne sont pas logiques au niveau du serveur, ou car elles fonctionnent mieux de cette façon (SSL) :

  • Utilisateurs d’appartenance
  • Rôles d’appartenance
  • Profil
  • SSL

Les fonctionnalités associées à la délégation ont des règles particulières relatives à leur emplacement :

  • Délégation des fonctionnalités : apparaît toujours uniquement pour le nœud racine d’une connexion
  • Administrateurs : apparaît uniquement pour les nœuds Serveur, Site et Application

Dispositions des fonctionnalités

Il existe trois types de pages dans IIS.

Page de liste

Les pages de liste contiennent des listes. La plupart des pages de liste vous permettent d’effectuer un regroupement par valeurs dans une ou plusieurs colonnes. Les pages de liste principales, telles que Sites et Pools d’applications, vous permettent de filtrer les entrées de liste en recherchant les entrées qui correspondent à une chaîne de recherche dans une colonne de liste.

Capture d’écran d’une partie de l’écran I S Manager montrant le menu Go et le volet Actions.

Figure 3 : Page de liste du Gestionnaire des services Internet

Les tâches Ajouter/Modifier/Supprimer dans le volet des tâches vous permettent de manipuler le contenu de la liste. Les paramètres de fonctionnalité qui ne sont pas spécifiques d’une entrée de liste, par exemple indiquer que les erreurs personnalisées doivent être remplacées par des erreurs détaillées pour les demandes locales, sont généralement configurés par le biais de la tâche Modifier les paramètres de la fonctionnalité...

Capture d’écran de la page des paramètres de fonctionnalité montrant le volet d’alerte.

Figure 4 : Actions du Gestionnaire des services Internet

Grille des propriétés

Les pages de grille de propriétés affichent des grilles de propriétés connexes. Le sélecteur d’affichage en haut de la grille de propriétés vous permet de choisir si vous souhaitez afficher les noms de propriétés conviviaux, les noms de propriétés de configuration ou les deux. La capture d’écran ci-dessous montre les deux noms.

Capture d’écran de la page de grille de propriétés montrant les noms conviviaux et de configuration.

Figure 5 : Grilles de propriétés dans le Gestionnaire des services Internet

Dialog

Les pages de type boîte de dialogue comportent des cases à cocher, des zones de texte et des cases d’option. Il s’agit généralement du type de page le plus familier. Utilisez Appliquer/Annuler dans le volet des tâches pour enregistrer les modifications.

Affichage de contenu

Le mode Contenu est un affichage en lecture seule. Vous ne pouvez pas créer, copier, déplacer ou supprimer des fichiers ou des dossiers dans cet affichage. Pour accéder au mode Contenu, cliquez sur « Mode Contenu » dans le sélecteur d’affichage Vue de fonctionnalités/Mode Contenu situé dans le bas du volet central du Gestionnaire des services Internet, ou cliquez avec le bouton droit sur un nœud de l’arborescence, puis sélectionnez « Basculer en mode Contenu ».

La seule façon de définir la configuration d’un fichier consiste à basculer en mode Contenu, à sélectionner le fichier, puis à cliquer sur « Basculer vers la vue de fonctionnalités » dans le menu contextuel ou dans le volet des tâches.

Capture d’écran montrant les options d’affichage des fonctionnalités et d’affichage de contenu.

Figure 6 : Basculer vers la vue de fonctionnalités

Délégation des fonctionnalités

La délégation des fonctionnalités peut vous intéresser si vous êtes administrateur de serveur et que vous n’êtes pas la personne principale qui fournit du contenu sur votre serveur, ou si vous êtes développeur et que vous souhaitez plus de contrôle sur la configuration IIS pour votre application.

La délégation des fonctionnalités IIS signifie la gestion des éléments suivants :

  • le verrouillage de section de configuration pour contrôler quelle configuration peut être définie dans web.config (généralement, une section de configuration IIS équivaut à un module IIS)
  • l’ensemble d’utilisateurs de site et d’application autorisés à utiliser le Gestionnaire des services Internet pour afficher la configuration et définir la configuration pour les fonctionnalités avec des sections de configuration déverrouillées.

Vous trouverez ci-dessous une explication superficielle de la délégation des fonctionnalités dans le Gestionnaire des services Internet. Pour obtenir une procédure pas à pas détaillée, consultez l’article Comment gérer la délégation des fonctionnalités.

Verrouillage de la configuration

Si une section de configuration est « verrouillée » par défaut, elle ne peut être configurée que dans applicationHost.config. Le Gestionnaire des services Internet permet aux administrateurs de serveur de « déverrouiller » les sections de configuration IIS. Une fois qu’une section de configuration est déverrouillée, elle peut être définie dans des fichiers web.config par des utilisateurs non-administrateurs.

Par exemple, la fonctionnalité « Pages d’erreur personnalisées » du Gestionnaire des services Internet interagit avec la configuration dans la section « system.webServer/httpErrors ». Si l’administrateur du serveur utilise le Gestionnaire des services Internet ou appcmd pour déverrouiller la section de configuration system.web/httpErrors, la section httpErrors s’affiche dans une balise d’emplacement avec overrideMode="allow" dans applicationHost.config :

<location path="" overrideMode="Allow">
    <system.webServer>
        <httpErrors/>
    </system.webServer>
</location>

OverrideMode="allow" signifie qu’il est autorisé de définir la configuration de httpErrors dans un fichier web.config :

<configuration>
   <system.webServer>
      <httpErrors>
         <remove statusCode="404" subStatusCode="-1" />
         <error statusCode="404" path="/errors/404.aspx" responseMode="Redirect" />
      </httpErrors>
   </system.webServer>
</configuration>

Consultez la section « Connexions de serveur, de site et d’application » ci-dessous pour apprendre comment le verrouillage de la configuration affecte les connexions. Pour obtenir des informations approfondies sur les verrouillages de configuration, consultez l’article Comment utiliser le verrouillage de configuration.

Administrateurs de site et d’application

En outre, les administrateurs du serveur peuvent permettre aux utilisateurs non-administrateurs d’utiliser le Gestionnaire des services Internet pour se connecter à un site ou à une application. Les utilisateurs non-administrateurs qui peuvent se connecter à des sites ou à des applications sont appelés « administrateurs de site » ou « administrateurs d’application ». Ils peuvent effectuer les opérations suivantes :

  • Gérer la configuration déverrouillée pour leur site ou application (les paramètres sont écrits dans des fichiers web.config)
  • Afficher les paramètres de configuration verrouillés sans pouvoir les modifier
  • Ajouter d’autres administrateurs de site ou d’application pour leur site ou application

Pour plus d’informations sur la création d’administrateurs de site et d’application, consultez la documentation en ligne Créer des administrateurs de site et d’application pour la délégation.

Connexions de serveur, de site et d’application

Seuls les administrateurs d’ordinateur peuvent utiliser le Gestionnaire des services Internet pour se connecter à un serveur web. Les connexions de serveur peuvent écrire dans les fichiers de configuration racine, applicationHost.config et web.config racine, ainsi que dans tous les fichiers web.config distribués. Si une section de configuration est verrouillée dans applicationHost.config, la fonctionnalité correspondante est en lecture/écriture dans une connexion de serveur, car les modifications de configuration sont écrites dans applicationHost.config dans une balise d’emplacement.

Les administrateurs d’ordinateur et les administrateurs de site désignés peuvent se connecter aux sites web. Les connexions de site peuvent uniquement écrire dans des fichiers web.config sous le dossier racine du site. Si une section de configuration est verrouillée dans applicationHost.config, la fonctionnalité correspondante s’affiche en lecture seule dans les connexions de site, car les connexions de site ne peuvent pas écrire de configuration dans applicationHost.config (même dans une balise d’emplacement). Cela concerne les administrateurs d’ordinateur et les administrateurs de site.

Figure 7 : Hiérarchie de configuration dans le Gestionnaire des services Internet

Les administrateurs d’ordinateur, les administrateurs d’application désignés et les administrateurs de site pour le site parent de l’application peuvent se connecter à une application. Les connexions d’application peuvent uniquement écrire dans des fichiers web.config sous le dossier racine de l’application. Si une section de configuration est verrouillée dans applicationHost.config ou dans le fichier web.config du site, la fonctionnalité correspondante apparaît en lecture seule dans les connexions d’application.

Pour plus d’informations sur la connexion à un serveur, à un site ou à une application, consultez la documentation en ligne sur la gestion des connexions dans IIS 7.0.

Configuration

Même si vous ne modifiez jamais le verrouillage de la configuration et n’utilisez jamais la délégation des fonctionnalités, à un moment donné, vous vous demanderez comment le Gestionnaire des services Internet décide où écrire la configuration. Il existe deux règles qui définissent ce comportement :

  • ApplicationHost.config et fichier Web.config racine : si la fonctionnalité est répertoriée sous la zone ASP.NET dans le Gestionnaire des services Internet, la configuration au niveau du serveur est écrite dans le fichier web.config racine pour .NET Framework v2.0. Si la fonctionnalité est répertoriée sous la zone IIS dans le Gestionnaire des services Internet, la configuration au niveau du serveur est écrite dans applicationHost.config. La seule exception à cette règle est l’authentification par formulaire, qui se trouve dans la fonctionnalité Authentification sous la zone IIS.
  • Configuration verrouillée et déverrouillée : toutes les sections de configuration ASP.NET et quelques sections de configuration IIS sont déverrouillées par défaut. Pour les sections déverrouillées, le Gestionnaire des services Internet écrit dans le fichier web.config du site si la configuration est modifiée pour le site, ou la configuration d’une application si la configuration est modifiée pour une application. La plupart des sections de configuration IIS sont verrouillées par défaut. Pour les sections verrouillées, le Gestionnaire des services Internet écrit toujours dans applicationHost.config, même en cas de modification de la configuration pour des sites et des applications.

Barre d’état

La barre d’état indique où le Gestionnaire des services Internet écrit la configuration :

Configuration : '<chemin_objet_fichier_configuration>' <nom_fichier_configuration>, <location path="<chemin>">

L’élément <config\_file\_object\_path> correspond au chemin d’accès à l’objet de fichier de configuration. Par exemple :

  • « localhost » : configuration au niveau du serveur, applicationHost.config pour les fonctionnalités IIS, fichier web.config racine pour les fonctionnalités ASP.NET.
  • « localhost/Default Web Site » : fichier web.config dans le dossier physique du site web par défaut
  • « localhost/Default Web Site/careers/technical » : fichier web.config dans le dossier physique mappé à l’URL « /careers/technical » sous le site web par défaut

L’élément <config\_file\_name> correspond au nom du fichier de configuration cible. Par exemple :

  • « applicationHost.config ou fichier Web.config racine » : applicationHost.config pour les fonctionnalités IIS, fichier web.config racine pour les fonctionnalités ASP.NET
  • « web.config » : fichier web.config dans l’espace de noms web

L’élément <location\_path> correspond au chemin d’accès à l’emplacement de l’objet en cours de configuration (pour plus d’informations sur les chemins d’accès d’emplacement, consultez l’article Vue d’ensemble de la configuration). Cette partie du texte apparaît uniquement si la section de configuration de la fonctionnalité est verrouillée à un niveau supérieur.

Capture d’écran montrant l’affichage Basculer vers les fonctionnalités sélectionné et le volet Actions.

Exemple : Écriture dans applicationHost.config et fichier web.config racine

La compression est une fonctionnalité IIS qui apparaît sous IIS si vous regroupez/filtrez la liste des fonctionnalités de la page d’accueil par zone. Si vous avez accédé à la page de compression au niveau du serveur et que vous désactivez la compression statique, le Gestionnaire des services Internet écrit cette configuration dans %windir%\Windows\system32\inetsrv\applicationHost.config :

<urlCompression doStaticCompression="false" />

La compilation .NET est une configuration .NET Framework qui apparaît sous ASP.NET si vous regroupez/filtrez la liste des fonctionnalités de la page d’accueil par zone. Si vous avez accédé à la page de compilation .NET au niveau du serveur et que vous définissez le langage par défaut sur C#, le Gestionnaire des services Internet ajoute l’attribut defaultLanguage à la section de compilation du fichier web.config racine, %windir%\Windows\\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.config :

<compilation defaultLanguage="C#">

Dans ces deux situations, la barre d’état indique : Configuration : « localhost » applicationHost.config ou web.config racine

Exemple : Écriture dans une configuration verrouillée ou déverrouillée

La section de configuration IIS « defaultDocument » est déverrouillée par défaut. Si vous configurez le document par défaut pour le site web par défaut, le Gestionnaire des services Internet écrit cette configuration dans %windir%\inetpub\wwwroot\web.config :

<configuration>
   <system.webServer>
      <defaultDocument>
         <files>
            <clear />
            <add value="default.aspx" />
      </defaultDocument>
   </system.webServer>
</configuration>

La barre d’état indique : Configuration : « Site web par défaut » web.config

La section de configuration IIS « httpErrors » est déverrouillée par défaut. Si vous personnalisez la réponse HTTP 404 pour le site web par défaut, le Gestionnaire des services Internet écrit cette configuration dans %windir%\Windows\system32\inetsrv\applicationHost.config :

<location path="Default Web Site" overrideMode="Allow">
  <system.webServer>
     <httpErrors>
        <remove statusCode="404" subStatusCode="-1" />
        <error statusCode="404" path="/err/404.aspx" responseMode="Redirect" />
     </httpErrors>
  </system.webServer>
</location>

La barre d’état indique : « localhost » applicationHost.config ou web.config racine, <location path="Default Web Site">

La communication à distance du Gestionnaire des services Internet pour IIS 6.0 et les versions antérieures se faisait via MMC et était toujours activée. Avec IIS 7.0 et versions ultérieures, la communication à distance du Gestionnaire des services Internet doit être activée explicitement. Toutes les tâches d’administration à distance sont effectuées via HTTPS et sont gérées par un composant IIS appelé Service de gestion web (WMSVC). Si vous souhaitez activer la gestion à distance d’IIS 7.0 et versions ultérieures via le Gestionnaire des services Internet, consultez l’article Comment activer la communication à distance du Gestionnaire des services Internet.

Service de gestion Web (WMSVC)

Le Service de gestion web (WMSVC) est un serveur web autonome (Hostable Web Core, HWC) hébergé dans un service NT. Une fois WMSVC installé et démarré, il écoute le port 8172 sur toutes les adresses IP non attribuées. Il s’attend à recevoir seulement 4 types de requêtes, et chacun est traité par son propre gestionnaire :

  • Requêtes de connexion vers login.axd
  • Requêtes de téléchargement de code vers download.axd
  • Requêtes de service de gestion vers service.axd
  • Requêtes ping vers ping.axd

Requêtes de connexion

Le Gestionnaire des services Internet envoie une requête de connexion sur le réseau à WMSVC pour initier une connexion. L’authentification est NTLM ou de base, selon l’option sélectionnée par l’utilisateur lorsqu’il a été invité à fournir des informations d’identification dans la boîte de dialogue de connexion.

Capture d’écran de la boîte de dialogue de connexion montrant les sections N T L M et De base.

Figure 9 : Spécification des informations d’identification

Requêtes de téléchargement de code

Si la connexion réussit, WMSVC retourne une liste de modules d’interface utilisateur pour la connexion. Par exemple, chaque page du Gestionnaire des services Internet telle que « Pages d’erreur personnalisées » correspond à un module. S’il existe un module dont le Gestionnaire des services Internet ne dispose pas, il demande de télécharger les fichiers binaires du module (par exemple, cela se produit si un administrateur de serveur a installé un nouveau produit de sécurité RSA sur son serveur de production, sans installer ce produit sur l’ordinateur de bureau qu’il utilise pour se connecter au serveur).

Requêtes de service de gestion

Une fois la connexion établie, l’utilisateur final interagit avec le Gestionnaire des services Internet à l’origine des requêtes de service de gestion. Les requêtes de service de gestion demandent aux services de module dans WMSVC de lire/écrire la configuration, l’état d’exécution et les fournisseurs sur le serveur.

Requêtes ping

Les requêtes ping sont effectuées à partir du service WMSVC vers le serveur web (HWC) qu’il héberge. Les requêtes ping sont un mécanisme simple qui garantit que le serveur HWC (Hostable Web Core) continue d’être réactif.

Configuration de service
WMSVC dispose d’un très petit ensemble de configurations modifiables stocké dans le Registre. Chaque fois que le service est démarré, les fichiers de configuration web sont régénérés dans %windir%\ServiceProfiles\LocalService\AppData\Local\Temp\WMSvc<GUID>\. Les fichiers de configuration web ne peuvent pas être modifiés, même par les administrateurs.

Capture d’écran montrant les fichiers de configuration web.

Figure 10 : Modification de la configuration dans le Registre

Sécurité

La communication à distance du Gestionnaire des services Internet et du Service de gestion web (WMSVC) a fait l’objet d’une série de révisions pour garantir que la fonctionnalité est simple et sécurisée. Voici quelques-unes des mesures de sécurité prises :

  • NécessiteSSL (HTTPS) pour toutes les connexions afin de sécuriser les données transmises entre le client distant du Gestionnaire des services Internet et WMSVC
  • S’exécute en tant que service local avec un jeu d’autorisations réduit

Configuration HWC (Hostable Web Core) verrouillée, y compris un ensemble minimal de modules requis et des règles de filtrage des requêtes soigneusement conçues.