一般都是用下列的方式來取得客戶端的 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();

}

mark528 發表在 痞客邦 PIXNET 留言(0) 人氣()