Как настроить/включить помощник маршрутизатора запросов для IIS 8.5

У нас есть веб-фильтр/балансировщик нагрузки, который направляет трафик на наши серверы IIS 8.5 (Windows 2012 R2). Проблема заключается в том, что в журналах IIS IP-адрес (поле c-ip) регистрируется как локальный адрес нашего балансировщика нагрузки (Sophos UTM, а не Microsoft ARR), в то время как нам нужно регистрировать фактический исходный IP-адрес клиента (который указана в «пользовательском» X-Forwarded-For заголовке). Я не могу использовать функции «Расширенного ведения журнала» IIS, чтобы просто создать еще один столбец, поскольку наше программное обеспечение для мониторинга журнала не может работать с этим настраиваемым полем и не может работать с «_x», добавленным к имени файла журнала.

Поэтому я потратил несколько часов, пытаясь заставить Microsoft Request Router Helper автоматически преобразовывать значение поля X-Forwarded-For в поле c-ip (что, как мне кажется, оно и должно делать). Основываясь на справочных сайтах, которые я перечислил ниже, я сделал следующее:

  1. Установил requestrouterhelper_x64.msi из установки ARR v3 на наш сервер IIS 8.5.
  2. Я убедился, что вижу файл (но ничего не изменил) по адресу: C:\Windows\System32\inetsrv\config\schema\arr_helper_schema.xml
  3. Я не вижу никаких дополнительных модулей или функций в диспетчере IIS (нужно ли?)
  4. Просмотрел файлы журнала (после IISRESET и даже перезагрузки) и значение c-ip по-прежнему записывается как 127.0.0.1, а не IP-адрес клиента

Есть ли какие-либо другие вещи, которые мне нужно сделать, чтобы включить/настроить помощника маршрутизатора запросов из ARR для автоматического переноса IP-адреса клиента в поле c-ip?

Использованная литература:

IIS7/ 8. Регистрация реального IP-адреса клиента в журналах обращений IIS

Клиент-IP не вошел в систему сервер приложений при использовании ARR (исходная версия для IIS 7)

Помощник ARR (для IIS8 - см. принятый ответ )


person bigmac    schedule 15.12.2016    source источник


Ответы (3)


Спустя много часов мы узнали, как включить это в IIS 8.5. Вот шаги:

  1. Загрузите 64-разрядную версию инструмента с сайта этот сайт. НЕ устанавливайте версию, полученную путем установки установщика веб-платформы ARR v3 (это была самая большая проблема, когда он не работал).
  2. Разархивируйте и запустите MSI из командной строки администратора.
  3. Откройте C:\Windows\System32\inetsrv\config\applicationHost.config и проверьте регистрацию его модуля в разделе globalModules (должно быть следующим)

‹ add name="ARRHelper" image="%ProgramFiles%\IIS\ARR Helper\requestRouterHelper.dll" />

  1. В том же файле отметьте или добавьте следующую запись в разделе location path="" / modules

‹ добавить имя="ARRHelper" />

Я надеюсь, что это поможет другим, у которых было такое же разочарование.

person bigmac    schedule 16.12.2016
comment
В качестве обновления для Windows Server 2016+ (IIS 10.0) необходимо ВРЕМЕННО изменить ключ реестра в разделе HKLM > ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ > Microsoft > InetStp > MajorVersion с a на 9, затем выполнить установку, после чего можно изменить его обратно на a. - person bigmac; 12.11.2019

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

  1. Запустите .MSI от имени администратора через командную строку (как сказал bigmac). Однако я заметил, что после этого программа фактически не устанавливается (проверьте программы в панели управления).
  2. Щелкните правой кнопкой мыши и установите .MSI еще раз (не из командной строки).
  3. Убедитесь, что ApplicationHost.config был изменен во время установки. Это подтвердит успешность установки.

    Я попробовал несколько попыток и заметил, что это сработает только после выполнения этих шагов в этом порядке. Если вы сначала запустите установщик (не как администратор), он установится, но не будет работать.

person Spanner    schedule 22.12.2016

Для тех, у кого есть IIS 10 с Windows 2019, работает ссылка, предоставленная bigmac. Кроме того, после долгих исследований, проб и ошибок я обнаружил, что наличие настраиваемых полей в журнале не позволяет ARR регистрировать заголовок X-Forwarded-For. Мне пришлось удалить настраиваемые поля логирования, после чего ARR заработал корректно.

person Duane Shippy    schedule 02.09.2019