Compartilhar via


Adicionar uma associação de <associação> padrão

Visão geral

O elemento de <binding> do elemento de <bindings> permite configurar as informações necessárias para que as solicitações se comuniquem com um site.

Configure as informações de associação ao criar um site ou editar as informações de associação depois de criar o site. As informações de associação incluem o protocolo que os clientes usam para se comunicar com o site, o endereço IP do site, o número da porta e um cabeçalho de host.

O elemento <binding> contém dois atributos para configurar as informações de associação: bindingInformation e protocolo. O atributo bindingInformation contém o endereço IP, o número da porta e, opcionalmente, o cabeçalho do host do site. O atributo de protocolo define o protocolo a ser usado para se comunicar com o site.

Compatibilidade

Versão Observações
IIS 10.0 O elemento <binding> não foi modificado no IIS 10.0.
IIS 8.5 O elemento <binding> não foi modificado no IIS 8.5.
IIS 8.0 O atributo sslFlags foi adicionado para especificar a associação usada para certificados de protocolo SSL.
IIS 7.5 O elemento <binding> não foi modificado nos IIS 7.5.
IIS 7.0 O elemento <binding> da coleção <bindings> foi introduzido no IIS 7.0.
IIS 6,0 A coleção <bindings> substitui seções da propriedade ServerBindings no objeto de metabase IIsWebServer do IIS 6.0.

Instalação

O elemento <binding> está incluído na instalação padrão do IIS 7 e versões posteriores.

Instruções

Como adicionar informações de associação padrão a um servidor

  1. Abra o Gerenciador do IIS (Serviços de Informações da Internet):

    • Caso você esteja usando o Windows Server 2012 ou o Windows Server 2012 R2:

      • Na barra de tarefas, clique em Gerenciador do Servidor, em Ferramentas e em Gerenciador do IIS (Serviços de Informações da Internet).
    • Se você estiver usando o Windows 8 ou Windows 8.1:

      • Mantenha pressionada a tecla Windows, pressione a letra X e clique em Painel de Controle.
      • Clique em Ferramentas Administrativas e clique duas vezes em Gerenciador do IIS (Serviços de Informações da Internet).
    • Caso você esteja usando o Windows Server 2008 ou o Windows Server 2008 R2:

      • Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador do IIS (Serviços de Informações da Internet).
    • Se você estiver usando o Windows Vista ou Windows 7:

      • Na barra de tarefas, selecione Iniciar e selecione Painel de Controle.
      • Clique duas vezes em Ferramentas Administrativas e clique duas vezes em Gerenciador do IIS (Serviços de Informações da Internet).
  2. No painel Conexões, selecione o nome do servidor.

  3. No painel Página Inicial, clique duas vezes no Editor de Configuração.

  4. Mover para system.applicationHost/sites na Seção.

  5. Na caixa de diálogo Ligações do Site, selecione Adicionar....

  6. Expanda siteDefaults.

  7. Selecione associações e selecione as reticências à direita para abrir o Editor de Coleção.

    Captura de tela da caixa de diálogo Vinculações do Site exibindo o nó Padrões do Site expandido e Vinculações selecionadas.

  8. Selecione Adicionar e insira valores para bindingInformation, protocolo e sslFlags.

  9. Feche o Editor de Coleção e, no painel Ações, selecione Aplicar.

Configuração

Adicione elementos <binding> padrão dentro do elemento <bindings> na seção <siteDefaults> do arquivo ApplicationHost.config.

Atributo Descrição
bindingInformation Atributo de cadeia de caracteres obrigatório.

Especifica informações para se comunicar com um site. Por exemplo, uma associação de site inclui o endereço IP (ou endereços IP não especificados), o número da porta e um cabeçalho de host opcional usado para se comunicar com o site.
protocol Atributo de cadeia de caracteres obrigatório.

Especifica o protocolo para se comunicar com um site.
sslFlags Atributo opcional uint que funciona como o tipo de sinalizadores, com os seguintes sinalizadores possíveis:
Valor Descrição
0 A conexão segura feita usando uma combinação IP/Porta. Apenas um certificado pode ser associado a uma combinação de endereço IP e a porta.
1 A conexão segura feita usando o número da porta e o nome do host obtido usando a Indicação de Nome do Servidor (SNI).
2 A conexão segura deve ser feita usando o repositório de certificados SSL centralizado.
4 Desative o HTTP/2.
8 Desative o grampeamento OCSP.
16 Desative o QUIC.
32 Desative o TLS 1.3 sobre TCP.
64 Desative o TLS herdado.
O suporte centralizado ao certificado SSL permite a criação de um repositório de certificados centralizado que pode conter vários arquivos de certificado. Os arquivos de certificado podem ser nomeados para corresponder aos nomes de host que eles contêm. Isso permite criar uma associação que requer apenas uma porta, em vez de uma combinação de IP/porta ou nome de host/porta. Quando uma solicitação entra, o IIS corresponde à porta, determina o nome do host da solicitação e pesquisa no repositório de certificados centralizado um arquivo de certificado com um nome correspondente. Ele usa esse certificado.

Com uma SNI (Indicação de Nome de Servidor), o nome do host é trocado como parte do handshake SSL. O SNI é habilitado na caixa de diálogo Adicionar Associação de Site ao adicionar uma associação com um tipo de HTTPS. Isso é útil para conexões SSL que hospedam vários servidores em um único endereço de rede.

Valores maiores que 4 só têm suporte no IIS 10 versão 1809 e superior. O valor padrão é 0.

Elementos filho

Nenhum.

Exemplo de configuração

O exemplo de configuração a seguir especifica as opções de bindings padrão para o IIS 7.

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

Exemplo de código

Os exemplos de código a seguir configuram as opções de bindings padrão para o 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

Observação

Defina o parâmetro commit para apphost quando usar AppCmd.exe para definir essas configurações. Isso confirma os conjuntos de configurações para a seção de local apropriado no arquivo 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()