Как запустить нескольких веб сайтов на одном IP и порту на веб сервере IIS

23 сентябрь 2024, Понедельник
15
0
0 0
Для запуска нескольких веб-сайтов на одном IP-адресе и порту в IIS (Internet Information Services) используется механизм привязки по имени хоста (Host Header). Это позволяет серверу определять, какой сайт показывать, на основе доменного имени в HTTP-запросе. Чтобы назначить разные SSL-сертификаты для каждого сайта на одном IP и порту (443) в IIS, используется технология SNI (Server Name Indication). Это позволяет веб-серверу выбирать правильный сертификат на основе имени хоста (домена) в HTTPS-запросе.  

Шаг 1. Добавление сайтов в IIS

Откройте Диспетчер IIS (inetmgr), в дереве слева выберите "Сайты" и правой кнопкой → "Добавить веб-сайт".
Укажите:
Имя сайта (например, Site1).
Физический путь (папку с файлами сайта).
Привязка:
  • Тип: http или https (если нужен SSL).
  • IP-адрес: Все непривязанные или конкретный IP.
  • Порт: 80 (HTTP) или 443 (HTTPS).
  • Имя узла: доменное имя (например, site1.example.com).
Повторите для других сайтов, указывая разные имена хостов.

Шаг 2. Добавление SSL-сертификатов

- У вас должны быть SSL-сертификаты для каждого домена (например, от Let's Encrypt, Comodo, или самоподписанные).  
- Сертификаты должны быть импортированы в хранилище сервера (лучше в Local Computer → Personal).  

Шаг 3. Настройка привязки HTTPS с SNI

1. Откройте Диспетчер IIS (inetmgr).  
2. Выберите сайт, для которого нужно настроить SSL.  
3. В правой панели нажмите Привязки (Bindings).  
4. В открывшемся окне:  
   - Если HTTPS-привязки нет → нажмите Добавить.
   - Если есть → выберите её и нажмите Изменить.
5. Задайте параметры:  
   - Тип: `https`  
   - IP-адрес: `Все непривязанные` или конкретный IP.  
   - Порт: `443`  
   - Имя узла: домен сайта (например, `site1.example.com`).  
   - SSL-сертификат: выберите нужный сертификат из списка.  
   - Поставьте галочку `Требуется Server Name Indication (SNI)`.  
6. Нажмите OK и повторите для других сайтов.  


Шаг 4. Проверка работы SNI

- Откройте браузер и перейдите по адресу `https://site1.example.com`.  
- Убедитесь, что:  
  - Сайт открывается без ошибок SSL.  
  - В браузере отображается правильный сертификат (можно проверить, кликнув на ? в адресной строке).  


Важные моменты:
  • SNI обязательно – без этой галочки IIS попытается использовать один сертификат для всех сайтов на `0.0.0.0:443`, что вызовет ошибку.  
  • Поддержка старых клиентов – SNI не поддерживают очень старые браузеры (например, IE на Windows XP). Если нужна обратная совместимость, придётся использовать **отдельные IP-адреса**.  
  • Wildcard-сертификат – если у вас много поддоменов, можно использовать один `*.example.com` сертификат вместо отдельных.  

Используя SNI в IIS, вы можете разместить много HTTPS-сайтов на одном IP и порту 443, каждый со своим SSL-сертификатом. Это стандартный и безопасный подход для современных веб-серверов.
Комментарии:
Прокомментировать
При использовании материалов ссылка на сайт UserMan.ru обязательна.
Политика конфиденциальности
Пользовательское соглашение
UserMan.ru © 2017-2025
Соцсети: VK