티스토리 뷰
HttpServletRequest 의 getRemoteAddr() 를 호출하면 되므로 RequestContextHolder 를 통해 HttpServletRequest 획득
- WAS 는 보통 2차 방화벽 안에 있고 Web Server 를 통해 client 에서 호출되거나 cluster로 구성되어 load balancer 에서 호출되는데 이럴 경우에서 getRemoteAddr() 을 호출하면 웹서버나 load balancer의 IP 가 나옴
- 위와 같은 문제를 해결하기 위해 사용되는 HTTP Header 인 X-Forwarded-For 값을 확인해서 있으면 이걸 사용하고 없으면 getRemoteAddr() 사용
WebLogic 의 web server 연계 모듈인 weblogic connector 는 위 헤더를 사용하지 않고 Proxy-Client-IP 나 WL-Proxy-Client-IP 를 사용하므로 weblogic 에서 도는 application 작성시 수정이 필요함
'program' 카테고리의 다른 글
Java에서 User-Agent 파써 사용하기 (0) | 2019.03.20 |
---|---|
사용자 브라우저 정보와 IP 정보 얻어오기 (0) | 2019.03.19 |
Connect to Oracle DB via JDBC driver (0) | 2019.01.17 |
echarts line chart append (0) | 2018.10.05 |
[jQuery] 라디오(radio) 버튼, 체크박스(checkbox) 선택/해제 하는 방법 (0) | 2018.09.30 |