【问题标题】:Unable to retrieve X-Forwarded-For in Tomcat 8.0 access log无法在 Tomcat 8.0 访问日志中检索 X-Forwarded-For
【发布时间】:2016-05-11 18:33:01
【问题描述】:

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

我在 server.xml 中有以下配置,但我无法使用 %a 或 %h 看到远程 IP/X-Forwarded-For(我看到负载平衡器 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"/>

日志 ::

[11/May/2016:11:29:39 -0700] 10.202.13.198 10.202.13.198 https:///index.action - 04B3ADCF82A212C6ECD9679BF260732D Mozilla/5.0(Macintosh;英特尔 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)

【问题讨论】:

    标签: tomcat


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2018-06-14
      • 2020-01-17
      • 1970-01-01
      • 1970-01-01
      • 2018-01-14
      • 2012-01-15
      • 2018-05-24
      • 2020-02-23
      • 2015-04-09
      相关资源
      最近更新 更多