request.getRemoteAddr() ;
그러나 프록시나 Load Balancer 같은것을 겨쳐 오게 되는 경우 위의 방법으로는 정확한 아이피를 가져 오지 못하게 된다.
그래서 다음과 같이 메소드를 구현해서 사용 하는 것이 편리하다.
public String getClientIP(HttpServletRequest request) {
ip = request.getHeader("Proxy-Client-IP");
}
ip = request.getHeader("WL-Proxy-Client-IP"); // 웹로직
}
ip = request.getRemoteAddr() ;
}
}
** localhost에서 테스트 하는 경우 0:0:0:0:0:0:0:1 값으로 넘어 오는 경우가 있다.
이 값은 IPv6 에서 IPv4의 127.0.0.1 과 같은 값이다.
Tomcat으로 개발시 이게 문제가 되는 경우 vm arguments에 -Djava.net.preferIPv4Stack=true 값을 넣어 주면 된다.