Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
par l’équipe IIS, Tobin Titus
Compatibilité
| Version | Remarques |
|---|---|
| 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. |
Présentation
IIS 7.0 et versions ultérieures ont une nouvelle interface utilisateur à partir des versions précédentes d’IIS : le Gestionnaire IIS. Cet article décrit l’apparence, la délégation de fonctionnalités, l’interaction avec la configuration et l'accès à distance. Notez que certaines versions d’IIS peuvent ne pas avoir certaines fonctionnalités/fonctionnalités décrites dans ce document.
Pourquoi a-t-il dû changer ? Voici quelques principales raisons :
- IIS et ASP.NET fonctionnent ensemble : les utilisateurs IIS 6.0 cliquent avec le bouton droit sur un site web, sélectionnez « Toutes les propriétés » et obtenez une boîte de dialogue contenant plusieurs onglets pour différents paramètres. Avec IIS 7.0 et versions ultérieures, le Gestionnaire IIS a besoin d’afficher la configuration des 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 des parties ASP.NET et pertinentes du .NET Framework. La nouvelle fonctionnalité aurait exigé de nombreux nouveaux onglets, une option inacceptable.
-
Administration déléguée : le déplacement de notre configuration à partir du métabase vers le système de configuration .NET signifie que les utilisateurs peuvent, le cas échéant, définir la configuration IIS dans web.config fichiers. Par exemple, la configuration d’une application
http://www.contoso.com/salespeut être écrite dans le fichier de configuration racine applicationHost.config, dans le fichier web.config de sitehttp://www.contoso.com/ou directement dans le fichier web.config de l’application. Le nouveau Gestionnaire IIS doit : 1) autoriser un administrateur à contrôler la configuration autorisée dans les fichiers web.config, 2) afficher l’administrateur/l’utilisateur où la configuration est écrite. Le gestionnaire IIS plus ancien n’était pas à la hauteur de ces défis. - Raisons d’ingénierie : Le logiciel a une durée de conservation. Le temps apporte de nouvelles technologies, de nouvelles exigences, de nouvelles conventions, et il y a un point où la mise à jour des logiciels existants devient plus intensive et coûteuse que la reconstruction du logiciel. Le Gestionnaire IIS approchait de la fin de son cycle de vie.
Quoi que ce soit d’autre à savoir ? Une fois que nous avons décidé de réécrire le Gestionnaire IIS, nous avons profité de l’occasion pour améliorer plusieurs façons clés :
- Extensibilité : l’extension de la version IIS 6.0 du Gestionnaire d’IIS était extrêmement difficile. Le nouveau Gestionnaire d’IIS facilite considérablement l’ajout de pages de fonctionnalités, de nœuds treeview et d’éléments de menu ; tout en utilisant du code managé et WinForms. Les nouvelles extensions du Gestionnaire DES IIS sont automatiquement détectées et téléchargées par les clients du Gestionnaire IIS distants qui se connectent au serveur.
- Administration à distance : l’administration à distance est effectuée sur HTTPS, ce qui facilite la gestion du pare-feu. Le service de gestion web (WMSVC) est le composant éventuellement installable qui permet l’administration à distance.
- Nouvelle apparence : le Gestionnaire IIS a 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. Un affichage de liste peut être trié, regroupé et consulté de différentes manières, ce qui facilite la recherche de ce que vous recherchez. La navigation du Gestionnaire IIS a également pris une impression plus semblable au navigateur avec une barre d’adresses dans l’Explorateur Windows.
Note
Ce document a été écrit pour Windows Server 2008. Windows Vista® n’a peut-être pas certaines fonctionnalités/fonctionnalités décrites dans ce document.
Nouvelle apparence et sensation
Le Gestionnaire des services Internet (IIS) a fait l’objet d’une navigation de type Back/Forward dans les versions antérieures, et le nouveau Gestionnaire IIS le prend encore plus loin en ajoutant une barre d’adresses qui fonctionne comme l’Explorateur Windows.
Figure 1 : Nouveau gestionnaire IIS
Page d’accueil
La page d’accueil sera très familière dès que vous commencez à utiliser le Gestionnaire IIS. La liste des fonctionnalités au milieu peut être triée par nom ou description de fonctionnalité, regroupée par zone ou catégorie, et consultée dans différentes dispositions.
Figure 2 : Regroupement dans le Gestionnaire IIS
Étendues des fonctionnalités
Les nœuds serveur, site, application, répertoire virtuel et 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 uniquement sur la page d’accueil du serveur, car elles sont des informations, des données ou des données à l’échelle du serveur :
- Restrictions ISAPI et CGI
- Certificats (mais n’apparaissent pas du tout dans les connexions distantes)
- Service de gestion (mais n’apparaît pas du tout dans les connexions distantes)
- Processus de travail
Ces fonctionnalités apparaissent partout à l’exception de la page d’accueil du serveur , car elles sont une configuration d’application et ne sont pas logiques au niveau du serveur, ou parce qu’elles fonctionnent mieux de cette façon (SSL) :
- Membres utilisateurs
- Rôles d’appartenance
- Profil
- SSL
Les fonctionnalités associées à la délégation ont des règles spéciales pour l’emplacement où elles apparaissent :
- Délégation de fonctionnalité : apparaît toujours uniquement pour le nœud racine d’une connexion
- Administrateurs : s’affiche uniquement pour les nœuds serveur, site et application
Mises en page des fonctionnalités
Il existe trois types de pages dans IIS
La page de liste
Les pages de liste contiennent des listes. La plupart des pages de liste vous permettent de regrouper 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 dans une colonne de liste les entrées qui correspondent à une chaîne de recherche.
Figure 3 : Page liste du Gestionnaire IIS
Les options 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 à une entrée de liste, par exemple en spécifiant 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 fonctionnalité...
Figure 4 : Actions du Gestionnaire IIS
Grille de propriétés
Les pages de grille de propriétés affichent les grilles des propriétés associées. 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.
Figure 5 : Grilles de propriétés dans le Gestionnaire IIS
Dialog
Les pages de boîte de dialogue ont des cases à cocher, des zones de texte et des cases d’option, et sont généralement le type de page le plus familier. Utilisez Appliquer/Annuler dans le volet des tâches pour enregistrer les modifications.
Affichage de contenu
L’affichage de contenu est un affichage en lecture seule ; Vous ne pouvez pas créer, copier, déplacer ou supprimer des fichiers ou dossiers dans cet affichage. Vous pouvez accéder à l’affichage de contenu en cliquant sur « Affichage de contenu » dans le sélecteur d’affichage des fonctionnalités/affichage de contenu en bas du volet central du Gestionnaire IIS, ou en cliquant avec le bouton droit sur un nœud treeview et en sélectionnant « Basculer vers la vue de contenu ».
La seule façon de définir la configuration d’un fichier consiste à basculer vers l’affichage de contenu, à sélectionner le fichier, puis à cliquer sur « Basculer vers la vue fonctionnalités » dans le menu contextuel ou dans le volet Office.
Figure 6 : Basculer vers la vue Fonctionnalités
Délégation de fonctionnalités
Vous pouvez être intéressé par la délégation de fonctionnalités si vous êtes administrateur de serveur et que vous n’êtes pas la personne principale fournissant 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 de fonctionnalités IIS signifie la gestion :
- 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 est un module IIS)
- l’ensemble d’utilisateurs de site et d’application autorisés à utiliser le Gestionnaire IIS pour afficher la configuration et définir la configuration des fonctionnalités avec des sections de configuration déverrouillées
Voici une explication sommaire de la délégation de fonctionnalités dans le Gestionnaire IIS. Pour obtenir une procédure pas à pas détaillée, consultez Comment gérer la délégation de 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 IIS fournit un moyen pour les 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 web.config fichiers par des non-administrateurs.
Par exemple, la fonctionnalité « Pages d’erreur personnalisées » dans le Gestionnaire IIS interagit avec la configuration dans la section « system.webServer/httpErrors ». Si l’administrateur du serveur utilise le Gestionnaire d’IIS ou appcmd pour déverrouiller la section de configuration system.web/httpErrors, la section httpErrors apparaît à l’intérieur d’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 valide 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 voir comment le verrouillage de la configuration affecte les connexions. Pour plus d’informations sur les verrous de configuration, consultez Comment utiliser le verrouillage de configuration.
Administrateurs de site et d’application
En outre, les administrateurs de serveur peuvent permettre aux non-administrateurs d’utiliser le Gestionnaire IIS pour se connecter à un site ou à une application. Les non-administrateurs qui peuvent se connecter à des sites ou des applications sont appelés « Administrateurs de site » ou « Administrateurs d’applications », et ils peuvent :
- Gérer la configuration déverrouillée pour leur site ou leur 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 de sites et d’administrateurs d’applications, 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’ordinateurs peuvent utiliser le Gestionnaire IIS pour se connecter à un serveur web. Les connexions serveur peuvent écrire dans les fichiers de configuration racine, applicationHost.config et web.config racine, ainsi que 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 de machine et les administrateurs de site désignés peuvent se connecter aux sites web. Les connexions de site peuvent uniquement écrire dans les fichiers web.config sous le dossier racine du site. Si une section de configuration est verrouillée dans applicationHost.config, la fonctionnalité correspondante apparaît 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 affecte les administrateurs d’ordinateur et les administrateurs de site.
Figure 7 : Hiéarchary de configuration dans le Gestionnaire IIS
Les administrateurs d’ordinateurs, les administrateurs d’applications 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 les 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.
Paramétrage
Même si vous ne modifiez jamais le verrouillage de la configuration et n’utilisez jamais la délégation de fonctionnalités, à un moment donné, vous allez vous demander comment le Gestionnaire IIS décide où écrire la configuration. Il existe deux règles qui définissent ce comportement :
- ApplicationHost.config par rapport à la Web.configracine : si la fonctionnalité est répertoriée sous la zone ASP.NET dans le Gestionnaire d’IIS, la configuration au niveau du serveur est écrite dans le fichier de web.config racine pour .NET Framework v2.0. Si la fonctionnalité est répertoriée sous la zone IIS dans le Gestionnaire IIS, 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é d’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 d’IIS écrit dans l'web.config du site si la configuration est modifiée pour le site ou si la configuration d’une application 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 d’IIS écrit toujours dans applicationHost.config même lors de la modification de la configuration pour les sites et les applications.
Barre d’état
La barre d’état indique où le Gestionnaire IIS écrit la configuration :
Configuration : « <config_file_object_path> » <config_file_name>, <location path=« <path> »>
Le <config\_file\_object\_path> est le 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, les web.config racines pour les fonctionnalités de ASP.NET.
- « localhost/Default Web Site » : le fichier web.config dans le dossier physique du site web par défaut
- « localhost/Default Web Site/careers/technical » : le fichier web.config dans le dossier physique mappé à l’URL « /careers/technical » sous le site web par défaut
Il <config\_file\_name> s’agit du nom du fichier de configuration cible, par exemple :
- « applicationHost.config ou Web.config racine » : applicationHost.config pour les fonctionnalités IIS, les web.config racines pour les fonctionnalités d'ASP.NET
- «web.config« : un fichier web.config dans l’espace de noms web
Il <location\_path> s’agit du chemin d’accès d’emplacement à l’objet en cours de configuration (pour plus d’informations sur les chemins d’accès d’emplacement, consultez 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.
Exemple : écriture dans ApplicationHost.config contre Web.config racine
La compression est une fonctionnalité IIS et apparaît sous IIS si vous regroupez/filtrez la liste des fonctionnalités de page d’accueil par zone. Si vous avez accédé à la page 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 et 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 la langue par défaut sur C#, le Gestionnaire IIS ajoute l’attribut defaultLanguage à la section de compilation dans le fichier de web.config racine, c’est-à-dire %windir%\Windows\\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.config:
<compilation defaultLanguage="C#">
Dans les deux cas, la barre d'état affichera : Configuration : « localhost » applicationHost.config ou racine web.config
Exemple : Écriture dans une configuration verrouillée vs 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 IIS é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 lit : 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 IIS é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 lit : 'localhost' applicationHost.config ou root web.config, <location path="Default Web Site »>
La communication à distance du Gestionnaire IIS pour IIS 6.0 et les versions précédentes d’IIS, était via MMC et était toujours activée. Avec IIS 7.0 et versions ultérieures, la communication à distance du Gestionnaire IIS doit être activée explicitement. Toute la gestion à distance est effectuée via HTTPS et est gérée 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 IIS, lisez Comment activer la communication à distance du Gestionnaire IIS.
Service de gestion web (WMSVC)
Le service de gestion web (WMSVC) est un serveur web autonome (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 pris en service par son propre gestionnaire :
- Demandes de connexion à login.axd
- Demandes de téléchargement de code pour download.axd
- Demandes de service de gestion à service.axd
- Requêtes Ping vers ping.axd
Demandes de connexion
Le Gestionnaire IIS envoie une demande de connexion sur le réseau à WMSVC pour intiérer une connexion. L’authentification est NTLM ou de base, selon ce que l’utilisateur a sélectionné lorsqu’il a été invité à fournir des informations d’identification dans la boîte de dialogue de connexion.
Figure 9 : Spécification des informations d’identification
Demandes 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 d’IIS telle que « Pages d’erreurs personnalisées » correspond à un module. S’il existe un module dont le Gestionnaire IIS n’a pas, il demande de télécharger les fichiers binaires de module (par exemple, si un administrateur de serveur a installé un nouveau produit RSA Security sur son serveur de production, mais n’a pas installé le produit sur son ordinateur de bureau qu’il utilise pour se connecter au serveur).
Demandes de service de gestion
Une fois la connexion établie, l’utilisateur final interagit avec le Gestionnaire IIS à l’origine des demandes de service de gestion. Le service de gestion demande des services directs de modules dans WMSVC pour lire/écrire la configuration, lire l’état d’exécution et gérer les fournisseurs sur le serveur.
Requêtes de 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 pour assurer que le noyau web hébergeable continue d'être réactif.
Service Configuration
WMSVC a un très petit ensemble de configurations modifiables stockées 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.
Figure 10 : Modification de la configuration dans le Registre
Security
La communication à distance du Gestionnaire IIS 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 gestionnaire IIS distant 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.