X-Forwarded-For, не обнаруживающийся в tomcat7 журнале доступа

Я пытаюсь распечатать удаленный клиентский IP на коте, работающем позади ELB, и по некоторым причинам он не распечатывается к журналу доступа. моя elb конфигурация: 80-> 8080 443-> 8 080 Выполнений 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 &quot;%r&quot; %s %b &quot;%{Referer}i&quot; &quot;%{User-Agent}i&quot;" />

  </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
задан 18 February 2013 в 23:42
2 ответа

Попробуйте следующее:

    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix="localhost_access_log." suffix=".txt"
           pattern="combined"
           resolveHosts="false"/>

Похоже, что по умолчанию частные адреса игнорируются, в моем случае я получаю IP-адреса с моими внешние ELB, но внутренние ELBS (которые имеют адреса 10.xxx с обеих сторон) просто отображаются - для адреса, использующего ту же конфигурацию.

0
ответ дан 3 December 2019 в 10:51

Я нашел это наиболее точным эквивалентом "общего" формата журнала с поддержкой RemoteIpValve:

"%{org.apache.catalina.AccessLog.RemoteAddr}r %l %u %t &quot;%r&quot; %s %b &quot;%{Referer}i&quot; &quot;%{User-Agent}i&quot;"
3
ответ дан 3 December 2019 в 10:51

Теги

Похожие вопросы