Установка и настройка IIS

Internet Information Services (IIS) — это одна из серверных ролей ОС Microsof Windows Server. IIS может быть установлен через графический интерфейс с помощью "Диспетчера серверов" (Server Manager).

Диспетчер серверов представляет собой средство для установки (удаления) ролей и устройств сервера, а также предоставляет информацию обо всех установленных ролях и устройствах.

Установка IIS

Чтобы установить IIS, выполните следующие действия:

  1. В меню "Пуск" выберите "Диспетчер серверов".
  2. На панели мониторинга выберите "Добавить роли и компоненты".

  3. В окне выбора ролей сервера установите флажок "Веб-сервер (IIS)".

  4. При настройке работы Tomcat через протокол AJP в окне с компонентами выберите "Фильтры ISAPI".
  5. Продолжите установку далее с настройками по умолчанию.

Настройка работы Tomcat через IIS с помощью расширения Application Request Routing (ARR)

Протокол AJP не поддерживает веб-сокеты. Для работы веб-сокетов рекомендуется использовать сервер IIS с помощью расширения Application Request Routing (ARR)

Установка Application Request Routing Module

Для установки Application Request Routing (ARR) используйте "Установщик веб-платформы" или дистрибутив ARR.

Ссылка для скачивания "Установщика веб-платформы" и дистрибутив ARR для необходимой архитектуры

Для "Установщика веб-платформы" необходим доступ в Интернет. Если доступ в Интернет отсутствует, скачайте дистрибутив ARR заранее.

После скачивания "Установщика веб-платформы" запустите его установку. Примите лицензионное соглашение, чтобы продолжить установку.

После завершения установки на экране откроется окно.

Настройка Internet Information Services (IIS >= 7.0)

Для настройки Internet Information Services (IIS), выполните следующие действия:

  1. Откройте "Диспетчер служб ISS" (IIS Manager).
  2. В IIS Manager перейдите в настройку сервера "Application Request Routing Cache".

  3. На панели "Действия" (справа) в блоке "Proxy" нажмите Server Proxy Settings.

  4. В настройках Server Proxy Settings установите флажок "Enable Proxy", остальные настройки оставьте без изменений.

    Нажмите Применить на панели "Действия" (справа).

  5. В IIS Manager перейдите в настройку "Переопределение URL-адресов" сайта, на котором будет работать Tomcat.

  6. На панели "Действия" (справа) нажмите Добавить правила.

  7. В окне добавления правила выберите "Пустое правило" для входящего трафика.

  8. В окне изменения правила для входящего трафика заполните поля:

    • "Имя" — укажите новое правило, например, "Tomcat";
    • "Шаблон" — укажите (.*);

    • "URL-адрес переопределения" — укажите строку http://hostname:8080/{R:0}, где hostname — имя хоста, на котором работает Tomcat или его IP-адрес;

    Нажмите Применить на панели "Действия" (справа).

  9. Настройте корректные сообщения об ошибках:

    • выберите сайт, на котором работает приложение;
    • перейдите в настройку "Страницы ошибок";

    • нажмите Изменить параметры.

    • в открывшемся окне (блок "Сообщения об ошибках") выберите вариант "Подробные сообщения об ошибках" и нажмите кнопку ОК.

  10. Перезапустите IIS.

    Проверьте работоспособность приложения через IIS (в примере настройки используется 80 порт).

Настройка работы Tomcat через IIS через протокол AJP

AJP (Apache JServ Protocol) — бинарный протокол взаимодействия между веб-сервером, выступающим в качестве фронтенда, и сервером приложений.

Чтобы настроить проксирование запросов от IIS к Tomcat по протоколу AJP, выполните следующие настройки.

Установка и настройка AJP коннектора

  1. Скачайте файлы Tomcat ISAPI Filter по ссылке с официального сайта Apache скачать
  2. Распакуйте скачанный файл в каталог C:\naumen\nausd4\iis
  3. Создайте файл конфигурации C:\naumen\nausd4\iis\uriworkermap.properties

    # uriworkermap.properties - IIS
    #
    # This file provides mappings for the workers
    # defined in workermap.properties.minimal.
    # The general syntax for this file is:
    # [URL]=[Worker name]
    
    /*=naumen
  4. Создайте файл конфигурации C:\naumen\nausd4\iis\workers.properties.

    В файле укажите адрес и порт Tomcat, на котором работает приложение.

    Протокол AJP не предполагает шифрования, поэтому соединение необходимо устанавливать только через локальный интерфейс.

    worker.list=naumen
    worker.naumen.type=ajp13
    worker.naumen.host=127.0.0.1
    worker.naumen.port=8009
  5. Создайте файл конфигурации C:\naumen\nausd4\iis\isapi_redirect.properties.

    extension_uri=/jakarta/isapi_redirect.dll
    log_file=C:\naumen\nausd4\iis\isapi_redirect.log
    log_level=error
    worker_file=C:\naumen\nausd4\iis\workers.properties
    worker_mount_file=C:\naumen\nausd4\iis\uriworkermap.properties

Добавление ISAPI фильтр в IIS

  1. Установите роли веб-сервера IIS:

    • "Фильтрация запросов" ("Request Filtering");
    • "Расширения ISAPI" ("ISAPI Extensions");
    • "Фильтры ISAPI" ("ISAPI Filters").
  2. Добавьте ISAPI Filter через диспетчер служб IIS:

    • Перейдите на страницу сайта и перейдите в настройку "Фильтры ISAPI" ("ISAPI Filters").

    • Нажмите Добавить на панели "Действия".

    • Заполните поля на форме добавления фильтра ISAPI и нажмите кнопку ОК.

      Поля на форме:

      • Имя фильтра: "Tomcat";
      • Исполняемый файл: "C:\naumen\nausd4\iis\isapi_redirect.dll";

      Новая фильтр отобразится в списке фильтров.

  3. Создайте виртуальный каталог.

    • В левой панели "Подключения" ("Connections") разверните контекстное меню для сайта, на котором настраивается проксирование, и выберите "Добавить виртуальный каталог" ("Add Virtual Directory").

    • Заполните поля на форме добавления виртуального каталога и нажмите кнопку ОК.

      Поля на форме:

      • Псевдоним: "Jakarta";
      • Физический путь: "C:\naumen\nausd4\iis".

  4. Выберите созданный виртуальный каталог.

    • Перейдите в настройку "Сопоставления обработчиков" ("Handler Mappings").

    • На панели "Действия" выберите "Изменения разрешений функции" ("Edit Handler Permissions").

    • В открывшемся окне изменения разрешений функции установите флажок "Выполнение" ("Execution") и нажмите кнопку ОК.

  5. В левой панели соединений выберите свой сервер IIS.

    • Перейдите в настройку "Ограничения ISAPI и CGI".

    • Нажмите Добавить на панели "Действия".
    • Заполните параметры на форме изменения ограничений ISAPI или CGI и нажмите кнопку ОК.

      Поля на форме:

      • Путь ISAPI или CGI: "C:\naumen\nausd4\iis\isapi_redirect.dll";
      • Описание: "tomcat".
      • флажок "Разрешить выполнение пути расширения" - установлен.

  6. В левой панели "Подключения" ("Connections") выберите пулы приложений.

    • В панели "Действия" выберите "Дополнительные параметры" ("Advanced Settings").

    • На форме со значениями по умолчанию убедитесь, что в поле "Разрешены 32-разрядные приложения" значение "false" (выключено) и нажмите кнопку ОК.

  7. В левой панели "Подключения" ("Connections") выберите сайт, который необходимо проксировать.

    • Перейдите в настройку "Фильтрация запросов" ("Request Filtering").

    • В панели "Действия" выберите "Изменить параметры" ("Change Settings").

    • На форме изменения параметров фильтрации запросов установите флажок в пункте "Разрешить двойное преобразование" ("Allow double escaping") и нажмите кнопку ОК.

Настройка коннектора Tomcat на работу по протоколу AJP

  1. В конфигурационном файле tomcat/conf/server.xml отредактируйте строку, отвечающую за настройку AJP коннектора:

    <Connector port="8009" address="127.0.0.1" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" URIEncoding="UTF-8" />

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

  2. В том же файле добавьте в основной HTTP коннектор Tomcat (на порту 8080) параметр address="127.0.0.1" или закомментируйте коннектор целиком.
  3. После изменения конфигурации Tomcat перезапустите службу.

Проверка доступность приложения через IIS

После произведенных настроек запросы в IIS должны проксироваться на Tomcat по протоколу AJP.

Настройка работы через SSL

Для разрешения работы через SSL (по протоколу https), выполните следующие действия:

  1. Создайте или проимпортируйте сертификат: в разделе Server → Сертификаты сервера.
  2. Настройте SSL binding в окне "Web Site".

    • На панели "Действия" выберите "Изменение веб-сайта" → "Привязки".
    • Нажмите Добавить в окне привязки сайта.
    • На форме добавления привязки заполните поля и нажмите кнопку ОК.

      Поля на форме:

      • Тип: "https";
      • SSL-сертификат: "tomcat".

  3. Настройте обязательность SSL: в окне Web Site → Параметры SSL установите флажок "Требовать SSL".

Перенаправление с HTTP на HTTPS

Для реализация автоматического перенаправления с http на https, выполните следующие действия:

  1. Отключите "Требовать SSL" в параметрах SSL для сайта.
  2. Создайте новое пустое правило для входящего трафика.

  3. Добавьте условие для правила, для этого нажмите кнопку Добавить в блоке "Условия", на форме изменения условия заполните поля и нажмите кнопку ОК.

    Поля на форме:

    • Ввод условия: "{HTTPS}";
    • Шаблон: "˄OFF$".

  4. Добавьте действие для правила, для этого заполните поля:

    • Тип действия: "Перенаправление";
    • URL-адрес перенаправления: "https://{HTTP_HOST}/{R:1}";

    • Тип перенаправления: "См. другое (303)".

  5. После создания правила, переместите его над остальными правилами.

  6. Проверьте работу автоматического перенаправления с http на https.