X-Forwarded-For не отображается в журнале доступа tomcat7
Я пытаюсь распечатать IP-адрес удаленного клиента на томате, работающем за ELB, и по какой-то причине он не распечатывается в журнале доступа. моя конфигурация elb: 80 -> 8080 443 -> 8080 Запуск tomcat7 и моя конфигурация хоста на server.xml:
<Host name="localhost"  appBase="webapps"
        unpackWARs="true" autoDeploy="true">
    <!-- SingleSignOn valve, share authentication between web applications
         Documentation at: /docs/config/valve.html -->
    <!--
    <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
    -->
    <!-- Remote IP Valve -->
 <Valve className="org.apache.catalina.valves.RemoteIpValve" />
    <!-- Access log processes all example.
         Documentation at: /docs/config/valve.html
         Note: The pattern used is equivalent to using pattern="common" -->
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix="localhost_access_log." suffix=".txt"
           pattern="%{X-Forwarded-For}i %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"" />
  </Host>
Я пробовал также с шаблоном "в сочетании" .
образец строки журнала доступа:
- - - [18/Feb/2013:19:12:33 +0000] "GET URL HTTP/1.1" 200 1704 "remote URL" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17"
Был бы признателен за помощь здесь, ребята. Спасибо
2 ответа
Я обнаружил, что это наиболее точный эквивалент "обычного" формата журнала с поддержкой RemoteIpValve:
"%{org.apache.catalina.AccessLog.RemoteAddr}r %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i""
                                        
                                    
                                Попробуйте следующее:
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix="localhost_access_log." suffix=".txt"
           pattern="combined"
           resolveHosts="false"/>
Похоже, что по умолчанию игнорируются частные адреса, в моем случае я получаю IP-адреса с внешними ELB, но внутренние ELBS (которые имеют адреса 10.xxx с обеих сторон) просто показывают - для адреса, использующего ту же конфигурацию.