Как лучше всего настроить ведение журнала IIS7 для захвата заголовка "HTTP_X_FORWARDED_FOR"
У нас есть серверы IIS7, которые работают за обратным прокси-сервером nginx.
Обратный прокси-сервер отправляет стандартный заголовок "HTTP_X_FORWARDED_FOR" с IP-адресом посетителя, но при ведении журнала IIS7 регистрируется только IP-адрес сервера nginx (что имеет смысл, но это не то, что мне нужно).
Как я могу сказать IIS7 вместо этого регистрировать заголовок "HTTP_X_FORWARDED_FOR" (или дополнительно регистрировать его)?
(примечание: я администратор Linux, а не администратор Windows, поэтому искренние инструкции и ссылки приветствуются)
3 ответа
Это не встроено в IIS, но есть модуль, который вы можете установить, который будет выполнять эту функцию. Он называется ARR helper, но он будет работать для любого прокси-сервера перед IIS:
Теперь есть модуль IIS7, который позволит вам регистрировать пользовательские заголовки.
Как: http://learn.iis.net/page.aspx/579/advanced-logging-for-iis-70---custom-logging/
Несмотря на то, что вопрос помечен с помощью iis-7, это лучший результат при поиске в X-Forwarded-For и IIS, поэтому я решил продолжить и предоставить эту информацию для IIS 8.5.
IIS 8.5 и более поздние версии
В IIS 8.5 появилась функция расширенного ведения журнала, которая позволяет администратору легко регистрировать заголовки HTTP-запросов, например X-Forwarded-For. Этот ответ адаптирован со связанной страницы.
Откройте диспетчер IIS.
Выберите сайт или сервер на панели " Подключения", а затем дважды щелкните " Ведение журнала". Обратите внимание, что расширенное ведение журнала доступно только для ведения журнала на уровне сайта - если вы выберете сервер на панели " Подключения", раздел " Пользовательские поля " диалогового окна " Поля ведения журнала W3C " будет отключен.
В поле " Формат" в разделе " Файл журнала" выберите W3C, а затем нажмите " Выбрать поля...".
В диалоговом окне W3C Logging Fields нажмите Add Field.... Обратите внимание, что расширенное ведение журнала доступно только для ведения журнала на уровне сайта - если вы выбрали сервер на панели " Подключения", то Добавить поле... будет отключено.
В диалоговом окне Добавить настраиваемое поле введите имя поля, например
c-ip-original
чтобы определить настраиваемое поле в файле журнала. Обратите внимание, что имя поля не может содержать пробелы.Выберите заголовок запроса в списке Тип источника.
Войти
X-FORWARDED-FOR
в источнике.Нажмите ОК.
Нажмите ОК.
Нажмите " Применить" на панели " Действия", чтобы применить новую конфигурацию.
Как только настраиваемые поля будут настроены, IIS создаст новые файлы текстового журнала с добавлением "_x" к имени файла, чтобы указать, что файл содержит настраиваемые поля.
Обратите внимание, что общий размер данных, собранных из всех пользовательских полей, не может превышать 65 536 байт. Если общий объем превышает 65 536 байт, IIS будет усекать данные.