Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Совместимость
| Версия | Примечания |
|---|---|
| IIS 8.0 | В IIS 8.0 появилась указание имени сервера. |
| IIS 7.5 | Указание имени сервера не поддерживается в IIS 7.5. |
| IIS 7.0 | Указание имени сервера не поддерживается в IIS 7.0. |
Проблема.
По мере того как более электронные коммерческие сайты приходят на линию и больше предприятий хранят конфиденциальные документы в Интернете, возможность размещения и масштабирования безопасных сайтов все более важнее. До Windows Server 2012 было несколько проблем, когда речь идет о размещении безопасных сайтов:
- Масштабируемость SSL: в мультитенантной среде, например в общей среде размещения, существует ограничение на то, сколько безопасных сайтов можно размещать на Windows Server, что приводит к низкой плотности сайта.
- Нехватка IPv4: поскольку конечная точка сети может быть идентифицирована только с привязкой IP:Port, где клиенты запрашивают использование стандартного SSL-порта, 443, размещение защищенного сайта часто означает предложение выделенного IP-адреса для каждого клиента.
Решение
В Windows Server 2012 IIS поддерживает указание имени сервера (SNI), которое является расширением TLS для включения виртуального домена в рамках согласования SSL. Это означает, что имя виртуального домена или имя узла теперь можно использовать для идентификации конечной точки сети. Кроме того, было создано высокомасштабируемое хранилище WebHosting для дополнения SNI. Результатом является то, что плотность безопасного сайта гораздо выше в Windows Server 2012, и она достигается только с одним IP-адресом.
Следует отметить, что для использования этой функции клиентские браузеры должны поддерживать SNI. Большинство современных браузеров поддерживают SNI; Однако Internet Explorer (любой версии) в Windows XP не поддерживает SNI.
Пошаговые инструкции
Prerequisites:
IIS 8.0 устанавливается в Windows Server 2012.
- Хранилище сертификатов WebHosting и SNI являются частью установки IIS по умолчанию. Из диспетчера серверов не требуется установить определенную функцию IIS.
Примеры сертификатов.
\windows\system32\drivers\etc\hosts был изменён для использования в качестве примера для сайта и сертификата. Например, если имя CN сертификата — TAPTesting, файл узлов должен содержать:
127.0.0.1 TAPTesting
Обходные пути для известных ошибок:
В некоторых случаях диспетчер IIS может удалить непреднамеренные SSL-привязки, если на том же компьютере настроены традиционные привязки SSL (IP:Port) и SNI (Hostname:Port). Чтобы обойти эту проблему и (или) подтвердить фактические привязки SSL, используйте средство командной строки:
netsh http show sslcert
Импорт сертификатов в хостинг-платформу:
- Откройте MMC.
- В разделе «Файл» выберите «Добавить/Удалить оснастку»:
- Выберите Сертификаты. Нажмите кнопку "Добавить":
- Выберите учетную запись компьютера:
- Выберите локальный компьютер и нажмите кнопку Готово:
- Нажмите кнопку "ОК":
- В области навигации найдите магазин веб-хостинга :
Хранилище веб-размещения работает так же, как личное хранилище, поэтому все существующие средства для импорта и экспорта сертификатов работают одинаково. Ключевое различие между хранилищем веб-хостинга и личным хранилищем заключается в том, что хранилище веб-хостинга предназначено для масштабирования до большего числа сертификатов. - Импортируйте примеры сертификатов в хранилище веб-хостинга.
Создайте безопасный веб-сайт:
Откройте диспетчер служб IIS.
Выберите сайты в левом окне навигации:
Щелкните правой кнопкой мыши сайты и выберите "Добавить веб-сайт":
Заполните информацию так же, как вы делаете это для любого сайта.
Имя сайта: проверка
Физический путь:
c:\inetpub\wwwrootТип: https
Имя узла: TAPTesting
- Это новое для Windows Server 8, поскольку можно указать имя узла для SSL.
- Чтобы избежать ошибки несоответствия имени сертификата, убедитесь, что имя узла, указанное здесь, соответствует имени CN сертификата.
- Фактическое значение этой конфигурации зависит от используемого примера сертификата.
Использование указания имени сервера: выбрано
SSL-сертификат: Выберите имя вашего сертификата, например: TAPTesting.
- Обратите внимание, что сертификаты представлены как из личных , так и из магазинов веб-хостинга .
Убедитесь, что сайт создан:
Вот и все. Безопасный сайт был создан с помощью SNI. Интерфейс управления очень похож на традиционную привязку SSL. Единственными различиями являются:
- Имя узла можно указать для SSL-сайта.
- Сертификат хранится в хранилище веб-хостинга в целях масштабируемости.
Тестирование защищенного сайта:
Откройте веб-браузер и перейдите по адресу https://TAPTesting/. Обратите внимание, что в рамках предварительных требований файл узлов должен быть изменен для маршрутизации этого запроса в localhost:
Кроме того, чтобы просмотреть новый тип привязки SSL, введите следующее в окне командной строки с повышенными привилегиями:
netsh http show sslcert
Обратите внимание, что привязка SSL — имя узла:порт со значением TAPTesting:443.
Сценарии
Попробуйте развернуть следующие сценарии:
- SNI предназначен для масштабирования в мультитенантной среде. Попробуйте настроить тысячи безопасных сайтов с помощью SNI.
- В отличие от предыдущих версий Windows Server, сертификаты в Windows Server 2012 загружаются в память по запросу. После настройки тысяч безопасных сайтов с помощью SNI отправьте запрос GET на один из безопасных сайтов и просмотрите использование памяти. Это незначительно. В предыдущих версиях Windows Server, если настроены сотни безопасных сайтов, отправка только одного запроса GET приведет к загрузке всех сертификатов Windows Server, что приведет к высокой загрузке памяти и дальнейшему ограничению масштабируемости.
- Настройте Windows Server 2012 как с SNI, так и с традиционными безопасными сайтами. Они предназначены для совместного существования.
Сводка
Вы успешно изучили функцию указания имени сервера (SNI) в Windows Server 2012.