- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
드럼치는 프로그래머
[Spring] 접속된 클라이언트의 아이피 확인하는 방법 본문
접속하는 클라이언트의 아이피를 확인 하려면 HttpServletRequest 객체에서 가져와서 확인하면 된다.
request.getRemoteAddr() ;
그러나 프록시나 Load Balancer 같은것을 겨쳐 오게 되는 경우 위의 방법으로는 정확한 아이피를 가져 오지 못하게 된다.
그래서 다음과 같이 메소드를 구현해서 사용 하는 것이 편리하다.
public String getClientIP(HttpServletRequest request) {
String ip = request.getHeader("X-FORWARDED-FOR");
if (ip == null || ip.length() == 0) {
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null || ip.length() == 0) {
ip = request.getHeader("WL-Proxy-Client-IP"); // 웹로직
}
if (ip == null || ip.length() == 0) {
ip = request.getRemoteAddr() ;
}
return ip;
}
** localhost에서 테스트 하는 경우 0:0:0:0:0:0:0:1 값으로 넘어 오는 경우가 있다.
이 값은 IPv6 에서 IPv4의 127.0.0.1 과 같은 값이다.
Tomcat으로 개발시 이게 문제가 되는 경우 vm arguments에 -Djava.net.preferIPv4Stack=true 값을 넣어 주면 된다.
'★─Programing > ☆─WebProgram' 카테고리의 다른 글
[JavaScript] Null check, 빈 값 체크 (0) | 2016.05.31 |
---|---|
[jQuery] 이벤트 설정 시에 jQuery의 .on()을 사용하자. (0) | 2016.05.31 |
[JSTL] IF ~ ELSE 문 - <c:if>와 <c:choose> (0) | 2016.05.27 |
[CSS] cursor 속성 (0) | 2016.05.27 |
[Javascript] URL Redirection (웹 페이지 자동 이동) (0) | 2016.05.25 |