Partager via


Ajout d’une liaison de <liaison> par défaut

Vue d’ensemble

L’élément <binding> de l’élément <bindings> vous permet de configurer les informations requises pour que les demandes communiquent avec un site Web.

Vous pouvez configurer des informations de liaison lorsque vous créez un site Web ou modifier les informations de liaison après avoir créé le site. Les informations de liaison incluent le protocole que les clients utilisent pour communiquer avec le site, l’adresse IP du site, le numéro de port et un en-tête d’hôte.

L’élément <binding> contient deux attributs pour configurer les informations de liaison : bindingInformation et protocole. L’attribut bindingInformation contient l’adresse IP, le numéro de port et, éventuellement, l’en-tête hôte du site. L’attribut de protocole définit le protocole à utiliser pour communiquer avec le site.

Compatibilité

Version Notes
IIS 10.0 L’élément <binding> n’a pas été modifié dans IIS 10.0.
IIS 8.5 L’élément <binding> n’a fait l’objet d’aucune modification dans IIS 8.5.
IIS 8.0 L’attribut sslFlags a été ajouté pour spécifier la liaison utilisée pour les certificats Secure Sockets Layer.
IIS 7.5 L’élément <binding> n’a pas été modifié dans IIS 7.5.
IIS 7.0 L’élément <binding> de la collection <bindings> a été introduit dans IIS 7.0.
IIS 6.0 La collection <bindings> remplace les sections de la propriété ServerBindings sur l’objet de la métabase IIS 6.0 IIsWebServer.

Programme d’installation

L’élément <binding> est inclus dans l’installation par défaut d’IIS 7.

Procédure

Comment ajouter des informations de liaison par défaut à un serveur

  1. Ouvrez le Gestionnaire des services Internet (IIS) :

    • Si vous utilisez Windows Server 2012 ou Windows Server 2012 R2 :

      • Dans la barre des tâches, cliquez sur Gestionnaire de serveur, cliquez sur Outils, puis sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows 8 ou Windows 8.1 :

      • Maintenez la touche Windows enfoncée, appuyez sur la lettre X, puis cliquez sur Panneau de configuration.
      • Cliquez sur Outils d’administration, puis double-cliquez sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows Server 2008 ou Windows Server 2008 R2 :

      • Cliquez sur Démarrer, placez le curseur sur Outils d’administration, puis cliquez sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows Vista ou Windows 7 :

      • Dans la barre des tâches, cliquez sur Démarrer, puis sur Panneau de configuration.
      • Double-cliquez sur Outils d'administration, puis double-cliquez sur Gestionnaire des services Internet (IIS).
  2. Dans le volet Connexions, sélectionnez le nœud du serveur.

  3. Dans le volet Accueil, double-cliquez sur Éditeur de configuration.

  4. Accédez à system.applicationHost/sites dans Section.

  5. Dans la boîte de dialogue Liaisons de site Web, cliquez sur Ajouter....

  6. Développez siteDefaults.

  7. Sélectionnez des liaisons, puis cliquez sur les points de suspension à droite pour ouvrir l’éditeur de collection.

    Capture d’écran de la boîte de dialogue Liaisons de site affichant le nœud Par défaut du site développé et les liaisons sélectionnées.

  8. Cliquez sur Ajouter, puis entrez des valeurs pour bindingInformation, protocolet sslFlags.

  9. Fermez l’Éditeur de collection et, dans le volet Actions, cliquez sur Appliquer.

Configuration

Vous pouvez ajouter des éléments par défaut <binding> dans l’élément <bindings> dans la <siteDefaults> section du fichier ApplicationHost.config.

Attribut Description
bindingInformation Attribut de chaîne requis.

Spécifie les informations à communiquer avec un site. Par exemple, une liaison de site Web inclut l’adresse IP (ou les adresses IP non spécifiées), le numéro de port et un en-tête hôte facultatif utilisé pour communiquer avec le site.
protocol Attribut de chaîne requis.

Spécifie le protocole de communication avec un site.
sslFlags Attribut facultatif uint qui fonctionne comme le type d’indicateurs, avec les indicateurs possibles suivants :
Valeur Description
0 Connexion sécurisée établie à l’aide d’une combinaison IP/Port. Un seul certificat peut être lié à une combinaison d’adresses IP et du port.
1 Connexion sécurisée établie à l’aide du numéro de port et du nom d’hôte obtenu à l’aide de l’indication de nom de serveur (SNI).
2 La connexion sécurisée doit être établie à l’aide du magasin de certificats SSL centralisé.
4 Désactivez HTTP/2.
8 Désactivez l’enregistrement OCSP.
16 Désactivez QUIC.
32 Désactivez TLS 1.3 sur TCP.
64 Désactivez le protocole TLS hérité.
La prise en charge des certificats SSL centralisés permet de créer un magasin de certificats centralisé qui peut contenir plusieurs fichiers de certificat. Les fichiers de certificat peuvent être nommés pour correspondre aux noms d’hôte qu’ils contiennent. Cela permet de créer une liaison qui nécessite uniquement un port, plutôt qu’une combinaison d’adresses IP/port ou d’un nom d’hôte/port. Lorsqu’une demande est envoyée, IIS correspond au port, détermine le nom d’hôte de la requête et recherche dans le magasin de certificats centralisé un fichier de certificat portant un nom correspondant. Il utilise ce certificat.

Avec un indicateur de nom de serveur (SNI), le nom d’hôte est échangé dans le cadre de l’établissement d’une liaison SSL. SNI est activé dans la boîte de dialogue Ajouter une liaison de site lors de l’ajout d’une liaison avec un type https. Cela est utile pour les connexions SSL qui hébergent plusieurs serveurs sur une seule adresse réseau.

Les valeurs supérieures à 4 ne sont prises en charge que dans IIS 10 version 1809 et ultérieures. La valeur par défaut est 0.

Éléments enfants

Aucune.

Exemple Configuration

L’exemple de configuration suivant spécifie les options bindings par défaut pour IIS 7.

<system.applicationHost>
   <sites>
      <siteDefaults>
         <bindings>
            <binding protocol="http" bindingInformation="127.0.0.1:8080:" />
         </bindings>
      </siteDefaults>
   </sites>
</system.applicationHost>

Exemple de code

Les exemples de code suivants configurent les options bindings par défaut pour IIS 7.

AppCmd.exe

appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.bindings.[protocol='http',bindingInformation='*:8080:contoso.com'].bindingInformation:"127.0.0.1:8080:" /commit:apphost

Remarque

Vous devez veiller à définir le paramètre commit sur apphost quand vous utilisez AppCmd.exe pour configurer ces paramètres. Cela valide les paramètres de configuration dans la section d’emplacement appropriée dans le fichier ApplicationHost.config.

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();
         ConfigurationSection sitesSection = config.GetSection("system.applicationHost/sites");
         ConfigurationElement siteDefaultsElement = sitesSection.GetChildElement("siteDefaults");

         ConfigurationElementCollection bindingsCollection = siteDefaultsElement.GetCollection("bindings");
         ConfigurationElement bindingElement = bindingsCollection.CreateElement("binding");
         bindingElement["protocol"] = @"http";
         bindingElement["bindingInformation"] = @"127.0.0.1:8080:";
         bindingsCollection.Add(bindingElement);

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample

   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim sitesSection As ConfigurationSection = config.GetSection("system.applicationHost/sites")
      Dim siteDefaultsElement As ConfigurationElement = sitesSection.GetChildElement("siteDefaults")

      Dim bindingsCollection As ConfigurationElementCollection = siteDefaultsElement.GetCollection("bindings")
      Dim bindingElement As ConfigurationElement = bindingsCollection.CreateElement("binding")
      bindingElement("protocol") = "http"
      bindingElement("bindingInformation") = "127.0.0.1:8080:"
      bindingsCollection.Add(bindingElement)

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST");
var siteDefaultsElement = sitesSection.ChildElements.Item("siteDefaults");

var bindingsCollection = siteDefaultsElement.ChildElements.Item("bindings").Collection;
var bindingElement = bindingsCollection.CreateNewElement("binding");
bindingElement.Properties.Item("protocol").Value = "http";
bindingElement.Properties.Item("bindingInformation").Value = "127.0.0.1:8080:";
bindingsCollection.AddElement(bindingElement);

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST")
Set siteDefaultsElement = sitesSection.ChildElements.Item("siteDefaults")

Set bindingsCollection = siteDefaultsElement.ChildElements.Item("bindings").Collection
Set bindingElement = bindingsCollection.CreateNewElement("binding")
bindingElement.Properties.Item("protocol").Value = "http"
bindingElement.Properties.Item("bindingInformation").Value = "127.0.0.1:8080:"
bindingsCollection.AddElement(bindingElement)

adminManager.CommitChanges()