Назад | Перейти на главную страницу

Как лучше всего настроить ведение журнала IIS7 для захвата заголовка «HTTP_X_FORWARDED_FOR»

У нас есть серверы IIS7, расположенные за обратным прокси-сервером nginx.

Обратный прокси-сервер отправляет стандартный заголовок «HTTP_X_FORWARDED_FOR» с IP-адресом посетителя, но ведение журнала IIS7 регистрирует только IP-адрес сервера nginx (что имеет смысл, но это не то, что я хочу).

Как я могу сказать IIS7, чтобы вместо этого регистрировал заголовок «HTTP_X_FORWARDED_FOR» (или дополнительно регистрировал его)?

(примечание: я администратор Linux, а не Windows, поэтому я искренне благодарен за подробные инструкции и ссылки)

Это не встроено в IIS, но вы можете установить модуль, который будет выполнять эту функцию. Это называется помощником ARR, но он будет работать для любого прокси перед IIS:

http://blogs.iis.net/anilr/archive/2009/03/03/client-ip-not-logged-on-content-server-when-using-arr.aspx

Теперь есть модуль 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. Этот ответ адаптирован из связанной страницы.

  1. открыто Диспетчер IIS.

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

  3. в Формат поле под Лог-файл, Выбрать W3C а затем щелкните Выбрать поля ....

  4. в Поля журнала W3C диалоговое окно, щелкните Добавить поле .... Обратите внимание, что расширенное ведение журнала доступно только для ведения журнала на уровне сайта - если вы выбрали сервер в Подключения панель, затем Добавить поле ... выключен.

  5. в Добавить настраиваемое поле диалоговом окне введите Имя поля Такие как c-ip-original для идентификации настраиваемого поля в файле журнала. Обратите внимание, что имя поля не может содержать пробелов.

  6. Выбрать Заголовок запроса в Тип источника список.

  7. Войти X-FORWARDED-FOR в Источник.

  8. Нажмите хорошо.

  9. Нажмите хорошо.

  10. Нажмите Подать заявление в Действия панель, чтобы применить новую конфигурацию.

После настройки настраиваемых полей IIS создаст новые текстовые файлы журналов с добавлением «_x» к имени файла, чтобы указать, что файл содержит настраиваемые поля.

Обратите внимание, что общий размер данных, собранных из всех настраиваемых полей, не может превышать 65 536 байт. Если общее количество превышает 65 536 байт, IIS усекает данные.