網頁

2014年2月21日 星期五

How to get ip address in java servlet

一般都是用下列的方式來取得客戶端的 ip 位址
String ipAddress = request.getRemoteAddr();
可是當客戶端是經過 proxy server 或是 load balancer server 來連接,這樣就取不到原始的 ip 位址,此時要透過 http request Header 中的 X-FORWARDED-FOR 來取得 ip 位址
String ipAddress = request.getHeader("X-FORWARDED-FOR"); if (ipAddress == null || "".equals(ipAddress)) { ipAddress = request.getRemoteAddr(); }

沒有留言:

張貼留言