-
<Apache-Tomcat>아파치 톰캣 기술지원 전문기업 (주)제스트정보기술 - LB + tomcat 환경에서 실제 client IP 로깅하기WEBWAS/Apache,Tomcat 2024. 5. 30. 18:11
안녕하세요
제스트정보기술 입니다.
이번시간에는 LB + Tomcat 구성 환경에서 실제 client IP를 로깅하는 방법에 대해 알아보겠습니다.
클라이언트 -> 톰캣으로 바로 요청이 들어오는 환경이라면 실제 사용자 IP를 바로 확인을 할 수 있지만
톰캣 앞 단에 로드 밸런서나 프록시가 존재할 경우 해당 LB 및 프록시의 IP가 출력이 되어
실제 사용자의 IP를 확인할 수 없게 됩니다.
이 경우에 X-Forwarded-For 헤더를 이용하면 실제 IP를 확인할 수 있습니다.
1.Tomcat 로그 포맷에 X-Forwarded-For 헤더 설정
-> 단순히 로그에 출력하고자 한다면 server.xml에서 로그 포맷 설정에 x-forwarded-for 를 추가하여
X-forwarded-for 헤더를 읽어 실제 사용자 IP를 남길 수 있게 설정할 수 있습니다.
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%{X-Forwarded-For}i %h %l %u %t "%r" %s %b"/>
-> 단 위의 설정은 로그상으로만 표시를 해줄 뿐, 실제 request header의 경우 원래 상태
그대로 어플리케이션으로 넘겨주게 됩니다.
2. Remotevalve 설정에 x-forwarded-for 헤더 설정
-> 실제 request 헤더에 LB가 아닌 클라이언트의 IP를 담고 싶다면 아래 설정을 추가하여 설정이 가능합니다
<Valve className="org.apache.catalina.valves.RemoteIpValve"
internalProxies="\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}"
remoteIpHeader="x-forwarded-for"
proxiesHeader="x-forwarded-by"
protocolHeader="x-forwarded-proto" />
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%{org.apache.catalina.AccessLog.RemoteAddr}r %h %l %u %t "%r" %s %b"/>
*실제 적용 Test
jmeter를 통해 X-forwarded-for 헤더를 담은 요청을 보낼 경우 실제 IP가 찍히는 것을 확인할 수 있습니다.
이상으로 LB + Tomcat 구성 환경에서 실제 client IP를 로깅하는 방법에 대해 알아보았습니다.
다음에도 더 유익한 정보로 찾아뵙겠습니다.
감사합니다.
<제스트정보기술 기술지원>
(주)제스트정보기술은 전산시스템 구축에 오픈소스 SW로 구성
요구사항 분석과/공개 소프트웨어 설치 및 기술지원/서비스 연동/교육 및 컨설팅을 수행 하고 있습니다.
-. 공개 소프트웨어 기술 지원체계 수립
-. 공개 SW 교육 지원
-. 수요기관의 SW 구조/기능을 분석하고, 공개 SW 도입을 위한 분석, 솔루션을 검토함.
-. 오픈소스 SW 구축을 위한 최근 개발경향 분석
-. 해당 기능/역할에 대한 공개 소프트웨어 기술데이터 분석
-. 개방형 OS 도입 및 인프라 기반 WEB/WAS, 오픈 DB 기술지원 체계 수립
-. Apache, Jboss(Wildfly) was, Linux OS, 오픈 DBMS 구축, 기술지원
제스트정보기술은 20년 이상의 WEB/WAS 기술지원 경험과 노하우를 바탕으로
고객의 인프라 상용소프트웨어(Jeus, weblogic,JBoss EAP, Oracle DB등)에 소요되는 제반비용
(도입, 운영, 유지보수 비용등)을 획기적으로 절감하도록 계획과 방법을 제안하고 있으며
시스템 서비스의 성능을 전반적으로 개선하여 기술지원, 컨설팅을 제공하고 있습니다.
시스템 구축 이후에도 서비스 안정화를 위해 지속적인 서비스 모니터링 지원하고 있으며 ,
고객의 시스템을 안정적으로 운영하기 위해 최선의 노력을 다하고 있습니다.
<오픈소스 기술지원 문의>
영업지원 : sales@xest.kr
전화번호 : 02-558-5918
팩스번호 : 02-558-5913
홈페이지 : http://www.xest.kr
'WEBWAS > Apache,Tomcat' 카테고리의 다른 글