로드밸런서 이용시 서버에서 클라이언트IP 확인하기

Parent Previous Next

로드밸런서 이용시 서버에서 클라이언트IP 확인하기


로드밸런서 이용 시 웹서버에서 X-forwarded-for(XFF) 등 클라이언트 IP(source ip)를 확인할 수 있습니다. XFF는 HTTP 헤더 중 하나로 Client IP를 식별하기 위한 표준 정보입니다. 로드밸런서 사용할 경우  클라이언트 IP 변경되기 때문에 XFF 필요합니다. 단, HTTP 프로토콜을 사용할 경우에만 XFF를 확인할 수 있습니다.



*순 서


    1. 로그에서 XFF 확인 하기 (아파치)

       * 참고. 웹 소스에서 XFF 활용 예시


1. 로그에서 XFF 확인하기(아파치)


1) httpd.conf의 LogFormat의 빨간 박스 부분을 다음과 같이 수정합니다.



LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined



2) 아래 명령어를 입력해 아파치를 재가동합니다. 재가동 후 로그에서 소스 IP를 확인할 수 있습니다.


Service httpd restart


*참고. 웹 소스에서 XFF 활용 예시


1) PHP

$headers = apache_request_headers();

$real_client_ip = $headers["X-Forwarded-For"];


2) JSP


<%= request.getHeader("X-FORWARDED-FOR") %>


3) Spring


HttpServletRequest req

=((ServletRequestAttributes)RequestContextHolder.currentRequestAttributes()).getRequest();

String client_ip = req.getHeader("X-FORWARDED-FOR");.






(주) 케이아이엔엑스

서울특별시 서초구 서초대로 396 21층 (서초동, 강남빌딩)

서비스 문의 : 02-526-0900(1번) / 24시간 기술상담 : 02-526-0900(2번)