4
大家好,感謝您的幫助,的java的HttpRequest的getRemoteAddr回百達127.0.0.1
我正在開發使用JSF和出於安全原因,我需要捕捉的時候,他確實在日誌中的用戶IP的網絡應用程序。
我使用下面的代碼:
HttpServletRequest request=(HttpServletRequest) context.getExternalContext().getRequest();
remoteAddress=request.getRemoteAddr();
的事情是,當我檢查我的應用程序日誌,以檢查它總是返回127.0.0.1的IP地址。
[INFO] 07/01/2014 11時04分22秒 - >用戶XXX從127.0.0.1連接
[INFO] 07/01/2014 11點27分43秒 - >用戶XXX連接從127.0.0.1
更多細節:
- 我使用Tomcat 7
- 我的服務器Debian的虛擬機
- 我連接到服務器從另一臺PC從一個內部工作包含虛擬機。
我已搜查在互聯網和閱讀有關使用:
request.getHeader("X-FORWARDED-FOR");
但它並沒有解決我的問題。
我現在很迷茫,任何想法爲什麼會發生這種情況?
我想如果你是從同一臺物理機器進行測試,它將始終顯示本地IP(127.0.0.1).. – Ketan
這是我沒有從同一臺物理機器上測試的東西。 –
您的虛擬機是否具有公共IP,或者您使用某種本地NAT或基於iptables的端口轉發?您是通過Apache前端訪問Tomcat還是直接調用Tomcat? – jarnbjo