У меня есть F5 Big-IP, которым управляет наш хостинг-провайдер. Он предназначен для нашей частной VLAN и т.д. Отлично работает :)
Мы попросили их добавить поле X-Forwarded-For HTTP-Header. Они сделали это, и теперь мы можем получить доступ к этому в коде. Потрясающие :)
Но ... для наших журналов IIS это все еще IP-адрес машины F5. Я думаю, мне сказали, что нам нужно применить фильтр ISAPI (передергивание!) К серверу (-ам) IIS.
Я опубликовал фильтр ISAPI для работы с нашими BIG-IP и только что обновил его, добавив полную поддержку x86 и x64. Прочтите сообщение в блоге, которое я написал об этом некоторое время назад. Просто скопируйте прилагаемый F5XForwardedFor.dll на свой сервер и укажите его в разделе ISAPI вашего виртуального сайта.
http://devcentral.f5.com/weblogs/joe/archive/2005/09/23/1492.aspx
Это обсуждается в эта тема сообщества IIS Microsoft. Кажется, есть помощник чтобы сделать это для IIS (в частности, указано, что он работает с Microsoft ARR, но он должен работать для любого обратного прокси-сервера или балансировщика нагрузки).
Хотя вопрос помечен тегом iis-7, это лучший результат при поиске в X-Forwarded-For, поэтому я подумал, что продолжу и предоставлю эту информацию для IIS 8.5.
IIS 8.5 и новее IIS 8.5 представил Расширенное ведение журнала функция, которая позволяет администратору легко регистрировать заголовки HTTP-запросов, такие как X-Forwarded-For. Этот ответ адаптирован из связанной страницы.
открыто Диспетчер IIS.
Выберите сайт или сервер в Подключения панель, а затем дважды щелкните логирование. Обратите внимание, что расширенное ведение журнала доступно только для ведения журнала на уровне сайта - если вы выберете сервер в Подключения панель, затем Настраиваемые поля раздел Поля журнала W3C диалог отключен.
в Формат поле под Лог-файл, Выбрать W3C а затем щелкните Выбрать поля ....
в Поля журнала W3C диалоговое окно, щелкните Добавить поле .... Обратите внимание, что расширенное ведение журнала доступно только для ведения журнала на уровне сайта - если вы выбрали сервер в Подключения панель, затем Добавить поле ... выключен.
в Добавить настраиваемое поле диалоговом окне введите Имя поля Такие как c-ip-original
для идентификации настраиваемого поля в файле журнала. Обратите внимание, что имя поля не может содержать пробелов.
Выбрать Заголовок запроса в Тип источника список.
Войти X-FORWARDED-FOR
в Источник.
Нажмите хорошо.
Нажмите хорошо.
Нажмите Подать заявление в Действия панель, чтобы применить новую конфигурацию.
После настройки настраиваемых полей IIS создаст новые текстовые файлы журналов с добавлением «_x» к имени файла, чтобы указать, что файл содержит настраиваемые поля.
Обратите внимание, что общий размер данных, собранных из всех настраиваемых полей, не может превышать 65 536 байт. Если общее количество превышает 65 536 байт, IIS усекает данные.