공식문서 URL : https://tomcat.apache.org/tomcat-8.5-doc/api/org/apache/catalina/valves/RemoteIpValve.html
참고 문서 : https://confluence.atlassian.com/jirakb/how-to-log-the-client-source-ip-in-access-logs-for-jira-data-center-978196913.html
서버에서 request.getRemoteAddr();를 하게되면
Cilent의 IP를 가져오는 것이 아닌 Web(Nginx)나 방화벽의 IP를 가져옴
1. requestAttributesEnabled="true" 옵션 추가
해당 옵션은 기본적으로 추가되어 있지 않으므로 아래의 부분을 찾아서 추가
==================================================================================================================================================
<Valve className="org.apache.catalina.valves.AccessLogValve"
requestAttributesEnabled="true"
pattern="%a %{jira.request.id}r %{jira.request.username}r %t "%m %U%q %H" %s %b %D "%{Referer}i" "%{User-Agent}i" "%{jira.request.assession.id}r""/>
==================================================================================================================================================
2. 톰캣의 server.xml 파일에 아래의 내용 추가
==================================================================================================================================================
<Valve className="org.apache.catalina.valves.RemoteIpValve" remoteIpHeader="x-forwarded-for" remoteIpProxiesHeader="x-forwarded-by"/>
==================================================================================================================================================
Nginx 에서 x-forwarded-for 에 사용자의 IP를 추가