在多个httpd代理后面运行tomcat,如何记录请求通过的代理服务器的IP

时间:2019-02-16 18:47:05

标签: apache tomcat ip reverse-proxy access-log

我的系统正在作为以下架构运行

客户端->物理LB-> httpd反向代理(多个服务器)-> tomcat(多个服务器)

我的问题是如何将请求通过的代理服务器的IP登录到tomcat访问日志中?

这是我的tomcat server.xml配置

  <Valve    className="org.apache.catalina.valves.RemoteIpValve"
            remoteIpHeader="x-forwarded-for"
            proxiesHeader="x-forwarded-by"
            protocolHeader="x-forwarded-proto"
  />
  <Valve    className="org.apache.catalina.valves.AccessLogValve"
            requestAttributesEnabled="true"
            directory="${LOG_DIR}/tomcat"
            prefix="access."
            suffix=".log"
            pattern="%h %{org.apache.tomcat.remoteAddr}r %{X-Forwarded-For}i %A %{Host}i %u %t &quot;%r&quot; %s %b &quot;%{Referer}i&quot; &quot;%{User-Agent}i&quot; %I %D &quot;%S&quot; &quot;%{COOKIE}i&quot;"
            resolveHosts="false"
            fileDateFormat="yyyy-MM-dd"
            rotatable="true"
  />

0 个答案:

没有答案