Share via


Comment : configurer la section <system.webServer> pour IIS 7.0

Mise à jour : novembre 2007

La section system.webServer du fichier Web.config spécifie des paramètres pour IIS 7.0 qui sont appliqués à l'application Web. Le system.WebServer est un enfant de la section configuration. Pour plus d'informations, consultez IIS 7.0 : system.webServer Section Group (IIS Settings Schema) (en anglais).

Des exemples de paramètres de serveur Web que vous pouvez définir dans le groupe de configuration system.WebServer sont présentés ci-dessous :

  • Document par défaut retourné par le serveur Web à un client lorsqu'une requête n'inclut pas de ressource spécifique (élément defaultDocument).

  • Paramètres de compression pour les réponses (élément httpCompression).

  • En-têtes personnalisés (élément customHeaders de la section httpProtocol).

  • Modules (élément modules).

  • Gestionnaires (élément handlers).

Certains paramètres de la section system.webServer s'appliquent uniquement au mode intégré IIS 7.0 et non au mode classique. En particulier, tout gestionnaire et module de code managé spécifié dans la section system.WebServer du fichier Web.config est ignoré si l'application s'exécute en mode classique. Au contraire, les modules de code managé et les gestionnaires doivent être définis comme dans les versions antérieures d'IIS, dans les éléments httpModules et httpHandlers de la section system.web.

Cette rubrique illustre trois tâches de configuration courantes qui requièrent des modifications de la section system.webServer :

  • Ajout d'un fichier par défaut pour que le fichier par défaut soit fourni lorsqu'une URL de requête n'inclut pas de fichier spécifique.

  • Enregistrement d'un module de code managé.

  • Ajout d'un en-tête de réponse personnalisé.

Configuration d'un fichier par défaut

IIS 7.0 fournit un fichier par défaut lorsqu'une URL de requête n'inclut pas un fichier spécifique de l'application Web.

Pour configurer un fichier par défaut

  1. Si votre application ne possède pas de fichier Web.config, créez-en un dans Visual Studio ou à l'aide d'un éditeur de texte.

    Pour plus d'informations, consultez Modification des fichiers de configuration ASP.NET.

  2. Si le fichier Web.config ne contient pas déjà une section system.webServer, créez-en une dans l'élément configuration, comme l'indique l'exemple suivant :

    <configuration>
      <system.webServer>
      </system.webServer>
    </configuration>
    
  3. Créez un élément defaultDocument dans l'élément system.webServer.

  4. Créez un élément files dans l'élément defaultDocument.

  5. Créez un élément add dans l'élément files et spécifiez dans l'attribut value le chemin d'accès et le nom du fichier par défaut.

    L'exemple suivant affiche une section system.webServer configurée pour fournir le fichier Products.aspx comme fichier par défaut.

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

Enregistrement d'un module de code managé

Un module de code managé est appelé à chaque requête et vous permet de personnaliser la requête ou la réponse.

Pour configurer un module de code managé personnalisé

  1. Si l'application ne possède pas de fichier Web.config, créez-en un dans Visual Studio ou à l'aide d'un éditeur de texte.

    Pour plus d'informations, consultez Modification des fichiers de configuration ASP.NET.

  2. Si le fichier Web.config ne contient pas déjà une section system.webServer, créez-en une dans l'élément configuration, comme l'indique l'exemple suivant :

    <configuration>
      <system.webServer>
      </system.webServer>
    </configuration>
    
  3. Créez un élément modules dans l'élément system.webServer.

  4. Créez un élément add dans l'élément modules et spécifiez le module personnalisé dans les attributs name et type.

    Le nom et le type réels dépendent du module que vous ajoutez. L'exemple suivant montre comment ajouter un module personnalisé nommé CustomModule, implémenté en tant que type Samples.CustomModule.

    <configuration>
      <system.webServer>
        <modules>      <add name="CustomModule" type="Samples.CustomModule" />    </modules>
      </system.webServer>
    </configuration>
    
  5. Ajoutez un attribut precondition à l'inscription du module et affectez-lui la valeur managedHandler.

    La condition préalable entraîne l'appel du module uniquement pour les requêtes envoyées aux ressources d'application ASP.NET, telles que les fichiers .aspx ou les gestionnaires managés. Cela exclut les fichiers statiques tels que les fichiers .htm.

    La section de configuration se présentera comme suit.

    <configuration>
      <system.webServer>
        <modules>
          <add name="CustomModule" type="Samples.CustomModule" 
               precondition="managedHandler" />
        </modules>
        <defaultDocument>
          <files>
            <add value="Products.aspx" />
          </files>
        </defaultDocument>
      </system.webServer>
    </configuration>
    

Configuration d'un en-tête de réponse personnalisé

Un en-tête de réponse personnalisé vous permet d'envoyer au navigateur des informations spécifiques à l'application. Par exemple, vous pouvez ajouter un en-tête Content-Language pour décrire la langue utilisée dans le corps de la page Web. Pour cela, fournissez une ou plusieurs valeurs de langue et de pays/régions tel qu'en-USA (anglais américain) ou en-GB (anglais britannique).

Pour configurer un en-tête de réponse personnalisé

  1. Si votre application ne possède pas de fichier Web.config, créez-en un dans Visual Studio ou à l'aide d'un éditeur de texte.

    Pour plus d'informations, consultez Modification des fichiers de configuration ASP.NET.

  2. Si le fichier Web.config ne contient pas déjà une section system.webServer, créez-en une dans l'élément configuration, comme l'indique l'exemple suivant :

    <configuration>
      <system.webServer>
      </system.webServer>
    </configuration>
    
  3. Créez un élément httpProtocol dans l'élément system.webServer.

  4. Créez un élément customHeaders dans l'élément httpProtocol.

  5. Créez une balise add dans l'élément customHeaders et spécifiez dans les attributs name et value la définition de l'en-tête personnalisé.

    Le nom et la valeur réels dépendent de la fonction de l'en-tête dans l'application. L'exemple suivant montre comment ajouter un en-tête personnalisé nommé CustomHeader dont la valeur est CustomHeader.

    <configuration>
      <system.webServer>
        <httpProtocol>      <customHeaders>        <add name="CustomHeader" value="CustomHeader" />      <customHeaders>    </httpProtocol>
      </system.webServer>
    </configuration>
    

Voir aussi

Tâches

Procédure pas à pas : configuration d'applications ASP.NET dans IIS 7.0

Concepts

Déplacement d'une application ASP.NET d'IIS 6.0 vers IIS 7.0

Référence

configuration, élément (Schéma des paramètres généraux)