У нас есть веб-фильтр/балансировщик нагрузки, который направляет трафик на наши серверы 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
(что, как мне кажется, оно и должно делать). Основываясь на справочных сайтах, которые я перечислил ниже, я сделал следующее:
- Установил requestrouterhelper_x64.msi из установки ARR v3 на наш сервер IIS 8.5.
- Я убедился, что вижу файл (но ничего не изменил) по адресу: C:\Windows\System32\inetsrv\config\schema\arr_helper_schema.xml
- Я не вижу никаких дополнительных модулей или функций в диспетчере IIS (нужно ли?)
- Просмотрел файлы журнала (после IISRESET и даже перезагрузки) и значение c-ip по-прежнему записывается как 127.0.0.1, а не IP-адрес клиента
Есть ли какие-либо другие вещи, которые мне нужно сделать, чтобы включить/настроить помощника маршрутизатора запросов из ARR для автоматического переноса IP-адреса клиента в поле c-ip?
Использованная литература:
IIS7/ 8. Регистрация реального IP-адреса клиента в журналах обращений IIS
Клиент-IP не вошел в систему сервер приложений при использовании ARR (исходная версия для IIS 7)