Поделиться через


Добавление привязки привязки <по умолчанию>

Обзор

Элемент <binding> элемента <bindings> позволяет настроить сведения, необходимые для обмена данными с веб-сайтом.

Вы можете настроить сведения о привязке при создании веб-сайта или изменить сведения о привязке после создания сайта. Сведения о привязке включают протокол, который клиенты используют для взаимодействия с сайтом, IP-адрес сайта, номер порта и заголовок узла.

Элемент <binding> содержит два атрибута для настройки сведений о привязке: bindingInformation и протокола. Атрибут bindingInformation содержит IP-адрес, номер порта и, при необходимости, заголовок узла для сайта. Атрибут протокола определяет протокол, используемый для взаимодействия с сайтом.

Совместимость

Версия Примечания.
IIS 10.0 Элемент <binding> не был изменен в IIS 10.0.
IIS 8.5 Элемент <binding> не был изменен в IIS 8.5.
IIS 8.0 Атрибут sslFlags был добавлен для указания привязки, используемой для сертификатов уровня Secure Sockets.
IIS 7.5 Элемент <binding> не был изменен в IIS 7.5.
IIS 7.0 Элемент <binding> <bindings> коллекции появился в IIS 7.0.
IIS 6,0 Коллекция <bindings> заменяет разделы свойства ServerBindings в объекте метабазы IIS 6.0 IIsWebServer.

Настройка

Элемент <binding> включен в установку IIS 7 и более поздних версий по умолчанию.

Инструкции

Добавление сведений о привязке по умолчанию на сервер

  1. Откройте диспетчер службы IIS (IIS):

    • Если вы используете Windows Server 2012 или Windows Server 2012 R2:

      • На панели задач щелкните диспетчер сервера, щелкните "Сервис" и щелкните диспетчер службы IIS (IIS).
    • Если вы используете Windows 8 или Windows 8.1:

      • Удерживайте клавишу Windows, нажимайте букву X и щелкните панель управления.
      • Щелкните "Администрирование" и дважды щелкните диспетчер службы IIS (IIS).
    • Если вы используете Windows Server 2008 или Windows Server 2008 R2:

      • На панели задач нажмите кнопку "Пуск", наведите указатель на администрирование и щелкните диспетчер службы IIS (IIS).
    • Если вы используете Windows Vista или Windows 7:

      • На панели задач нажмите кнопку "Пуск" и щелкните панель управления.
      • Дважды щелкните "Администрирование" и дважды щелкните диспетчер службы IIS (IIS).
  2. В области "Подключения" выберите имя сервера.

  3. В области "Главная" дважды щелкните редактор конфигурации.

  4. Перейдите к system.applicationHost/sites в разделе.

  5. В диалоговом окне "Привязки сайта" нажмите кнопку "Добавить...".

  6. Разверните siteDefaults.

  7. Выберите привязки и щелкните многоточие справа, чтобы открыть редактор коллекции.

    Снимок экрана: диалоговое окно

  8. Нажмите кнопку "Добавить" и введите значения для bindingInformation, протокола и sslFlags.

  9. Закройте редактор коллекции и в области действий нажмите кнопку "Применить".

Настройка

Элементы по умолчанию <binding> можно добавить в <bindings> элемент в <siteDefaults> разделе файла ApplicationHost.config.

Атрибут Description
bindingInformation Обязательный строковый атрибут.

Указывает сведения для взаимодействия с сайтом. Например, привязка веб-сайта включает IP-адрес (или не указанные IP-адреса), номер порта и необязательный заголовок узла, используемый для связи с сайтом.
protocol Обязательный строковый атрибут.

Задает протокол для взаимодействия с сайтом.
sslFlags Необязательный uint атрибут, который работает как тип флагов, со следующими возможными флагами:
значение Описание
0 Безопасное подключение, сделанное с помощью сочетания IP-адресов и портов. Только один сертификат можно привязать к сочетанию IP-адреса и порта.
1 Безопасное подключение, сделанное с использованием номера порта и имени узла, полученного с помощью указания имени сервера (SNI).
2 Безопасное подключение выполняется с помощью централизованного хранилища SSL-сертификатов.
4 Отключите HTTP/2.
8 Отключите скобок OCSP.
16 Отключите QUIC.
32 Отключите TLS 1.3 по протоколу TCP.
64 Отключите устаревший ПРОТОКОЛ TLS.
Централизованная поддержка SSL-сертификата позволяет создавать централизованное хранилище сертификатов, которое может содержать несколько файлов сертификатов. Файлы сертификатов можно назвать, чтобы соответствовать именам узлов, которые они содержат. Это позволяет создавать привязку, требующую только порта, а не IP-адреса или порта или сочетания имени узла или порта. Когда запрос поступает, iis соответствует порту, определяет имя узла из запроса и выполняет поиск централизованного хранилища сертификатов для файла сертификата с соответствующим именем. Он использует этот сертификат.

При использовании индикатора имени сервера (SNI) имя узла обменивается в рамках подтверждения SSL. SNI включен в диалоговом окне "Добавление привязки сайта" при добавлении привязки с типом HTTPS. Это полезно для SSL-подключений, на которых размещено несколько серверов на одном сетевом адресе.

Значения больше 4 поддерживаются только в IIS 10 версии 1809 и выше. Значение по умолчанию — 0.

Дочерние элементы

Нет.

Образец конфигурации

В следующем примере конфигурации указаны параметры по умолчанию bindings для IIS 7.

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

Пример кода

Следующие примеры кода настраивают параметры по умолчанию bindings для 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

Примечание.

При использовании AppCmd.exe для настройки этих параметров необходимо задать параметр apphost фиксации. При этом параметры конфигурации фиксируются в соответствующем разделе расположения в файле 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()