我经历了很多与此问题相关的帖子,但我找不到合适的答案。这是我的问题:
我正在尝试使用AccessLogValve&amp ;;在Tomcat中启用请求记录。 RemoteIpValve用于获取发起请求的IP地址,而不是来自Loadbalancer的IP。
我已将我的Tomacat设置如下:
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b %D"
resolveHosts="false"/>
<Valve className="org.apache.catalina.valves.RemoteIpValve"
internalProxies="127\.0\.0\.1| +IP adress from the loadbalancer"
trustedProxies="127\.0\.0\.1| +IP adress from the loadbalancer"
remoteIpHeader="x-forwarded-for"
remoteIpProxiesHeader="x-forwarded-by"
protocolHeader="x-forwarded-proto"/>
当我使用Apache将请求代理到Tomcat时,我将以下内容添加到我的httpd-vhosts.conf
<VirtualHost *:80>
...
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !http
RewriteRule !/status http://%{SERVER_NAME}%{REQUEST_URI} [L,R]
但我的日志文件仍然只显示我的Loadbalancer中的IP。
所以我想我在这里丢东西,并会非常感激一点帮助。 非常感谢