Condividi tramite


Aggiunta di un'associazione di associazione <predefinita>

Panoramica

L'elemento <binding> dell'elemento <bindings> consente di configurare le informazioni necessarie per le richieste di comunicazione con un sito Web.

È possibile configurare le informazioni di associazione quando si crea un sito Web oppure è possibile modificare le informazioni di associazione dopo aver creato il sito. Le informazioni di associazione includono il protocollo usato dai client per comunicare con il sito, l'indirizzo IP del sito, il numero di porta e un'intestazione host.

L'elemento <binding> contiene due attributi per configurare le informazioni di associazione: bindingInformation e protocollo. L'attributo bindingInformation contiene l'indirizzo IP, il numero di porta e, facoltativamente, l'intestazione host per il sito. L'attributo del protocollo definisce il protocollo da usare per comunicare con il sito.

Compatibilità

Versione Note
IIS 10.0 L'elemento <binding> non è stato modificato in IIS 10.0.
IIS 8.5 L'elemento <binding> non è stato modificato in IIS 8.5.
IIS 8.0 L'attributo sslFlags è stato aggiunto per specificare l'associazione usata per i certificati Secure Sockets Layer.
IIS 7.5 L'elemento <binding> non è stato modificato in IIS 7.5.
IIS 7.0 L'elemento <binding> <bindings> della raccolta è stato introdotto in IIS 7.0.
IIS 6.0 L'insieme <bindings> sostituisce le sezioni della proprietà ServerBindings nell'oggetto metabase IIS 6.0 IIsWebServer .

Attrezzaggio

L'elemento <binding> è incluso nell'installazione predefinita di IIS 7 e versioni successive.

Procedure

Come aggiungere informazioni di associazione predefinite a un server

  1. Aprire Gestione Internet Information Services (IIS):

    • Se si usa Windows Server 2012 o Windows Server 2012 R2:

      • Sulla barra delle applicazioni fare clic su Server Manager, su Strumentie quindi su Gestione Internet Information Services (IIS).
    • Se usi Windows 8 o Windows 8.1:

      • Tenere premuto il tasto Windows, premere la lettera X e quindi fare clic su Pannello di controllo.
      • Fare clic su Strumenti di amministrazione, quindi fare doppio clic su Gestione Internet Information Services (IIS).
    • Se si usa Windows Server 2008 o Windows Server 2008 R2:

      • Sulla barra delle applicazioni fare clic su Start, scegliere Strumenti di amministrazione, quindi fare clic su Gestione Internet Information Services (IIS).
    • Se si usa Windows Vista o Windows 7:

      • Sulla barra delle applicazioni fare clic su Start e quindi su Pannello di controllo.
      • Fare doppio clic su Strumenti di amministrazione, quindi fare doppio clic su Gestione Internet Information Services (IIS).
  2. Nel riquadro Connessioni selezionare il nome del server.

  3. Nel riquadro Home fare doppio clic su Editor di configurazione.

  4. Passare a system.applicationHost/sites nella sezione .

  5. Nella finestra di dialogo Associazioni sito fare clic su Aggiungi....

  6. Espandere siteDefaults.

  7. Selezionare le associazioni e quindi fare clic sui puntini di sospensione a destra per aprire l'Editor raccolta.

    Screenshot della finestra di dialogo Associazioni sito che mostra il nodo Impostazioni predefinite sito espanso e Associazioni selezionato.

  8. Fare clic su Aggiungi e immettere i valori per bindingInformation, protocol e sslFlags.

  9. Chiudere Editor raccolta e nel riquadro Azioni fare clic su Applica.

Impostazione

È possibile aggiungere elementi predefiniti <binding> all'interno dell'elemento <bindings> nella <siteDefaults> sezione del file ApplicationHost.config.

Attributo Descrizione
bindingInformation Attributo stringa obbligatorio.

Specifica le informazioni da comunicare con un sito. Ad esempio, un'associazione di siti Web include l'indirizzo IP (o gli indirizzi IP non specificati), il numero di porta e un'intestazione host facoltativa usata per comunicare con il sito.
protocol Attributo stringa obbligatorio.

Specifica il protocollo per la comunicazione con un sito.
sslFlags Attributo facoltativo uint che funziona come il tipo di flag, con i flag possibili seguenti:
valore Descrizione
0 Connessione sicura effettuata usando una combinazione ip/porta. È possibile associare un solo certificato a una combinazione di indirizzo IP e porta.
1 La connessione sicura effettuata usando il numero di porta e il nome host ottenuti usando l'indicazione del nome del server (SNI).
2 La connessione sicura viene stabilita usando l'archivio certificati SSL centralizzato.
4 Disabilitare HTTP/2.
8 Disabilitare l'associazione OCSP.
16 Disabilitare QUIC.
32 Disabilitare TLS 1.3 su TCP.
64 Disabilitare TLS legacy.
Il supporto centralizzato dei certificati SSL consente di creare un archivio certificati centralizzato che può contenere più file di certificato. I file di certificato possono essere denominati per corrispondere ai nomi host che contengono. Ciò consente di creare un'associazione che richiede solo una porta, anziché una combinazione di ip/porta o nome host/porta. Quando arriva una richiesta, IIS corrisponde alla porta, determina il nome host della richiesta e cerca un file di certificato centralizzato con un nome corrispondente. Usa tale certificato.

Con un indicatore del nome server (SNI), il nome host viene scambiato come parte dell'handshake SSL. SNI è abilitato nella finestra di dialogo Aggiungi associazione sito quando si aggiunge un'associazione con un tipo di HTTPS. Ciò è utile per le connessioni SSL che ospitano più server in un singolo indirizzo di rete.

I valori maggiori di 4 sono supportati solo in IIS 10 versione 1809 e successive. Il valore predefinito è 0.

Elementi figlio

Nessuno.

Esempio di configurazione

Nell'esempio di configurazione seguente vengono specificate le opzioni predefinite bindings per IIS 7.

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

Codice di esempio

Gli esempi di codice seguenti configurano le opzioni predefinite bindings per 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

Nota

È necessario assicurarsi di impostare il parametro commit su apphost quando si usa AppCmd.exe per configurare queste impostazioni. In questo modo le impostazioni di configurazione vengono confermate nella sezione relativa al percorso appropriato nel file 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()