Как определить из веб-приложения, что клиент использует http-прокси - почему отсутствует заголовок XFF? - PullRequest
0 голосов
/ 30 сентября 2010

Я пытаюсь выяснить из веб-приложения, использует ли клиент прозрачный прокси.В теории все должно быть просто: просто проверьте наличие заголовка XFF (x-forwarder-for).Но по неизвестным причинам это не работает вообще.
Я работаю в офисе, который подключен к интернету через корпоративный прозрачный прокси.Если я перехожу на любую страницу «ip-proxy-check», например, http://www.my -proxy.com / show-what-ip # anonymity , то она показывает заголовок X-forwarded-for нашего прокси.Итак, я понимаю, наш корпоративный прокси-сервер правильно устанавливает этот заголовок.Но затем, когда я подключаюсь к нашему веб-приложению (работающему на Tomcat, на каком-то общедоступном внешнем сервере) и в своем веб-приложении я перечисляю все заголовки HTTP, отсутствует заголовок X-forwarded-for, x-via и т. Д. * 1005Я думал, что это ошибка сервера, поэтому я запустил это веб-приложение на совершенно другом веб-сервере, размещенном у другого провайдера: но результат тот же, никакие заголовки, связанные с прокси-сервером, недоступны.Поэтому я подумал, что, возможно, Tomcat блокирует такие заголовки, но когда я подключаюсь с помощью какого-либо инструмента, который позволяет мне настраивать пользовательские заголовки вручную, и отправляю запрос с заголовком XFF, мое веб-приложение правильно видит этот заголовок.Так что он не заблокирован веб-сервером.
Итак - кто-нибудь может мне помочь понять, как это работает?Почему, когда я перемещаюсь из того же браузера и того же компьютера на страницы, подобные my-proxy.com, чем на тех страницах, на которых утверждается, что для прокси-сервера установлены заголовки http для конкретного прокси, но когда я перехожу к своему приложению, приложение не видит такогозаголовки?

1 Ответ

0 голосов
/ 01 октября 2010

Чтобы закрыть этот вопрос: оказалось, что я использовал нестандартный порт HTTP (8080) на своем сервере веб-приложений для тестирования - и прокси не добавляет свои заголовки, когда порт отличается от 80. С другой стороны, когда используется https, очевидно, что прокси-сервер не добавляет никаких заголовков, потому что передача закодирована.

...