ISA and IIS как вытащить клиентский IP

ranet

на сервере стоит ISA и IIS. IIS работает только на внутреннем интерфейсе, на ISA сделана публикация web сервера. На IIS крутится net-приложение позволяющее работать с БД. Захотелось писать в лог ClientIP, да не все так просто, ISA IP клиента веб серверу не передает, на клиентской стороне скрипт делать ненадежно. Какие могут варианты решение данной проблеммы? ISA ведь прекрасно знает кто к нему подключился, как его заставить передать эту информацию?

CapitanJack

у иса разве нет никакого апи ?

ranet

есть, если стандартными средствами смотреть ClientIP (Request.UserHostAddress) то кто бы не заходил на web там будет всегда адрес ISA сервера. Так и в принципе и должно быть.

abrek

Некоторые другие прокси указывают адрес клиента в специальной строчке в заголовке HTTP-запроса, может и здесь так?

ranet

на работе есть тестовый asp'шник при заходе на который
вываливаются все мыслимие и немыслимые переменные окружения и т.п. фигня, я там ничего не нашел
а в заголовках ip пакетов копаться не умею, подскажи если это несложно
в принципе при работе нескольких офисов с сайтом, можно ограничиться определением офиса, путем настройки правил на фаерволе и перенаправлением на разные порты IIS'а, но это имхо извращение и при увеличении кол-ва офисов будет труба

abrek

он показывает полностью заголовок HTTP-запроса? (то, что он показывает много чего другого, ещё ничего не означает, естественно)
тут всё зависит от того, выступает ли ISA как HTTP-прокси, или как NAT
в первом случае заголовок запроса - естественное место для этой информации (возможно, нужно включить что-то в настройках)
во втором - нужно искать другие методы
почему бы не прочитать документацию?

ranet

из главы Правила публикации серверов (MCSA/MCSE 70-227):
Опубликованный сервер - это клиент протокола безопасного преобразования сетевых адресов (SecureNAT)
Оставить комментарий
Имя или ник:
Комментарий: