无法在Tomcat 8.0访问日志中检索X-Forwarded-For

时间:2016-05-11 18:33:02

标签: tomcat

我正在我的LB上注入一个带有重写策略的标头,以传递X-Forwarded-For标头。已验证它出现在RESPONSE标头中的所有页面上。

我在server.xml中有以下配置,但我无法看到远程IP / X-Forwarded-用于使用%a或%h(我看到Loadbalancer IP)

可能是什么问题?

            <Valve className="org.apache.catalina.valves.RemoteIpValve"
              internalProxies="10\.202\.13\.198"
              remoteIpHeader="X-Forwarded-For"
              proxiesHeader="x-forwarded-by"
              requestAttributesEnabled="true"
            />
            <Valve className="org.apache.catalina.valves.AccessLogValve"
              directory="logs"
              prefix="localhost_access_log"
              suffix=".txt"
              pattern="%t %a %h %{Referer}i %l %S %{User-Agent}i %U %s %r %q %A %v %p %b %I %D"
              requestAttributeEnabled="true"
              resolveHosts="false"/>

Log ::

[11 / May / 2016:11:29:39 -0700] 10.202.13.198 10.202.13.198 https:///index.action - 04B3ADCF82A212C6ECD9679BF260732D Mozilla / 5.0(Macintosh; Intel Mac OS X 10_11_4)AppleWebKit / 537.36( KHTML,如Gecko)Chrome / 50.0.2661.86 Safari / 537.36 / rest / mywork / latest / status / notification / count 200 GET / rest / mywork / latest / status / notification / count HTTP / 1.1 10.202.10.17 443 72 http-nio -8443-exec-17 13

如您所见:%a和%h均为:10.202.13.198 10.202.13.198(我的LB IP)

1 个答案:

答案 0 :(得分:0)

看起来正在检查REQUEST标头。在请求标头中注入X-Forwarded-For后,%a和%h都显示我的远程地址。另外,注意X-Forwarded-For不区分大小写。