Apache Http интегрирует безопасный механизм для обработки заголовка X-Forwarded-For с помощью mod_remoteip (1).
Вот клапан Tomcat RemoteIpValve (2) и фильтр сервлетов XForwardedFilter (3) для интеграции заголовков X-Forwarded-For и X-Forwarded-Proto соответственно на уровнях Tomcat и WAR с тем же механизмом защиты, что и mod_remoteip ,
Благодаря этому request.getRemoteAddr()
, request.getRemoteHost()
, request.isSecure()
, request.getScheme()
и request.getServerPort()
будут выставлять значения, передаваемые X-Forwarded-For и X-Forwarded-Proto, а не значения предыдущего прокси / балансировщик нагрузки.
Надеюсь, это поможет,
Сирил
cleclerc@xebia.fr
(1) http: // httpd.apache.org/docs/trunk/mod/mod_remoteip.html
(2) http: / / code.google.com/p/xebia-france/wiki/RemoteIpValve
(3) http://code.google.com/p/xebia-france/wiki/XForwardedFilter