Настройка отображения реальных IP в логах Tomcat
Постановка задачи
Есть связка apache/tomcat или nginx/tomcat Необходимо настроить отображение реальных IP клиентов в access логе tomcat.
Решение
На nginx/apache включаем передачу заголовка X-Forwarded-For.
Директива для apache: ProxyPreserveHost On
Директива для nginx: proxy_set_header X-Forwarded-For $remote_addr;
В настройках tomcat в server.xml
указываем следующее:
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" remoteIpHeader="X-Forwarded-For" requestAttributesEnabled="true" internalProxies="127\.0\.0\.1" pattern=" %{X-Forwarded-For}i %l %u %t "%r" %s %b" />
Готово!