как получить IP-адрес пользователя в Java - PullRequest
2 голосов
/ 30 апреля 2009

Хотя это может показаться простым, я пробовал обычный request.getRemoteAddr (), request.getRemoteHost (), но я продолжаю получать адрес своих серверов. Что-то о моей конфигурации, я получаю IP-адрес моего шлюза. Кто-нибудь знает, как получить IP-адрес острых пользователей?

спасибо

Ответы [ 3 ]

3 голосов
/ 30 апреля 2009

Если между вами и пользователем есть какой-то прокси, вам, возможно, придется взглянуть на заголовок X-Forwarded-For . Обратите внимание, что это тоже не гарантируется, но если вам нужно только «достаточно хорошо», то этого может быть достаточно.

2 голосов
/ 18 июля 2009

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

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

Уважаемые все, вот обновление:

[RemoteIpValve был интегрирован в Tomcat 6.0.24] [1] и [RemoteIpFilter в Tomcat 7.0.0] [2]. Вот подробная статья на французском языке: [Tomcat: адрес IP-адреса, балансировщик нагрузки, обратный прокси-сервер и заголовок H-Forwarded-For] [3] (извините, у нас не было времени перевести эту статью английский).

Сирил (Ксебия)

[1] http: // tomcat.apache.org/tomcat-7.0-doc/config/valve.html#Remote_IP_Valve

[2] http: // tomcat.apache.org/tomcat-7.0-doc/config/filter.html#Remote_IP_Filter

[3] http://blog.xebia.fr/2009/05/05/tomcat-adresse-ip-de-linternaute-load-balancer-reverse-proxy-et-header-http-x-forwarded-for/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...