Свойства метабазы DisableSocketPooling не оказывает влияния

Симптомы

При запуске служб (IIS) 6.0 на Microsoft Windows Server 2003 связывает все IP-адреса на сервере, не только IP-адреса, назначенные веб-узлов IIS. Это может быть верным, даже если свойство метабазы DisableSocketPooling установлен в значение True.

Причина

Чтобы успешно разрешить приложениям использовать тот же порт на различные IP-адреса, необходимо использовать новую программу Httpcfg.exe. HttpCfg.exe находится на Компакт-Windows Server 2003 в каталоге Support\Tools как часть файла Support.cab.

Решение

Чтобы установить средства поддержки Microsoft Windows

  1. Вставьте компакт-ДИСК Windows Server 2003 в дисковод компакт-дисков или DVD-ДИСКОВ.
  2. При открытии компакт-диска, нажмите кнопку Выполнение иных задач.
  3. Нажмите кнопку Обзор этого компакт-диска.
  4. Дважды щелкните Поддержка.
  5. Дважды щелкните Сервис.
  6. Дважды щелкните значок SUPTOOLS. MSI.
  7. Нажмите кнопку Далее, введите информацию в
    Нажмите кнопку поля имя и название организации ,
    Далееи на следующем экране нажмите кнопку Далее .
  8. Нажмите кнопку Далее для начала установки.
  9. Нажмите кнопку Готово.

Чтобы добавить IP-адрес в список включения IP

  1. Нажмите кнопку Пуски выберите команду
    Запуск.
  2. Введите cmdи нажмите кнопку
    ОК , чтобы открыть командную строку.
  3. Введите следующую команду, где
    xxx.xxx.x.x — IP-адрес, который вы хотите добавить:
    httpcfg set iplisten -i xxx.xxx.x.x
    Если эта операция пройдет успешно, Httpcfg возвращает следующее:
    HttpSetServiceConfiguration завершено с 0

    Чтобы просмотреть дополнительные коды состояния, обратитесь к справке Httpcfg.
  4. После добавления IP-адреса, выполните следующую команду для получения списка его:
    iplisten запроса HTTPCFG
    HTTPCFG возвращает следующее:
    IP: xxx.xxx.x.x
  5. Из командной строки остановите службу HTTP и зависимых служб. Чтобы сделать это, введите в командной строке следующую строку:
    net stop http /y
  6. Из командной строки перезапустите службу HTTP и ее зависимые службы. Чтобы сделать это, введите в командной строке следующую строку:
    net start w3svc
    Примечание. При запуске w3svc, будет запустить все службы, остановленные в момент остановки HTTP.

Статус

Данное поведение является особенностью.

Дополнительные сведения

Свойство метабазы DisableSocketPooling используется IIS 5.0 для приложений доступа к тому же порту через различные IP-адреса. Значение True разрешает эти приложения на той же копии Microsoft Windows 2000 существует.

Так как DisableSocketPooling определен как допустимое свойство в схеме метабазы IIS 6.0 (MBSchema.xml), по-прежнему можно установить это свойство с помощью Adsutil.vbs, но это никак не влияет. Функциональные возможности служб IIS 6.0 входит драйвер уровня ядра HTTP.sys. Для настройки HTTP.sys необходимо использовать Httpcfg.exe.

В IIS 5.0 прослушиватель TCP является Winsock. Winsock использует сокеты и IIS привязан к производительности и масштабируемости Winsock API. Группирование сокетов была введена для устранения ошибок в Internet Information Server (IIS) 4.0 где использование ресурсов был высокий, многие веб-узлы, используя отдельные IP-адреса.

Для решения этой проблемы масштабируемости, IIS 5.0 использует группирование сокетов для разрешения ресурсов для совместного использования. Группирование сокетов разрешает двойное или Тройное количество узлов для выполнения на конкретном сервере с уникальных IP-адресов. Свойства DisableSocketPooling также введено в IIS 5.0 и используется при другой установке приложения, необходимо использовать порт, который прослушивает IIS по умолчанию (порт 80).

В IIS 6.0 HTTP.sys является прослушиватель TCP и HTTP.sys не использует API-Интерфейс Winsock. Сокеты не настраиваемые свойства. HTTP.sys используется список включения IP. По умолчанию этот список пуст, и IIS прослушивает все IP-адреса. Можно указать IP-адреса, которую IIS будет прослушивать, добавив их в список исключений IP.

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

Примечание. Службы HTTP и HTTP SSL являются различными службами. Служба HTTP не отображается в списке служб и должен быть перезапущен в командной строке. Чтобы сделать это, выполните следующие действия.
  1. Нажмите кнопку Пуск, выберите команду выполнитьи введите команду cmd , чтобы открыть командную строку. В командной строке введите net stop http/y и нажмите клавишу ВВОД. Останавливает службу HTTP Secure Sockets Layer (SSL) и публикации службы Интернета, так как они зависят от службы HTTP.
  2. Чтобы запустить службу HTTP, введите в командной строке net start w3svc . При этом запустится службы HTTP SSL и HTTP.
После добавления IP-адреса в список включения IP, необходимо добавить каждый IP-адрес, используемый веб-узлом. Если IP-адрес, который не находится в списке привязки веб-узла, веб-узел не запускается.

Ссылки

Для получения справки по этой команде содержатся в справке Httpcfg. Чтобы получить доступ к интерактивной справке Httpcfg, введите Httpcfg /? в командной строке, или выполните следующие действия:
  1. Нажмите кнопку Пуск.
  2. Выберите Все программы.
  3. Выберите средства поддержки Windows.
  4. Нажмите кнопку Поддержка справки.
  5. Пункт H алфавитный список средств по имени файла.
  6. Дважды щелкните Httpcfg.exe (служебная программа настройки HTTP).
Дополнительные сведения о DisableSocketPooling щелкните следующий номер статьи базы знаний Майкрософт:

Как отключить группировку сокетов 238131

Свойства

Номер статьи: 813368 — последний просмотр: 23 февр. 2017 г. — редакция: 1

Отзывы и предложения