In RemoteIpFilter class, there is code that publishes the new request attributes to AccessLog (see below). 821 if (requestAttributesEnabled) { 822 request.setAttribute(AccessLog.REMOTE_ADDR_ATTRIBUTE, 823 request.getRemoteAddr()); 824 request.setAttribute(AccessLog.REMOTE_HOST_ATTRIBUTE, 825 request.getRemoteHost()); 826 request.setAttribute(AccessLog.PROTOCOL_ATTRIBUTE, 827 request.getProtocol()); 828 request.setAttribute(AccessLog.SERVER_PORT_ATTRIBUTE, 829 Integer.valueOf(request.getServerPort())); 830 } The problem is that the source values should come from xRequest, e.g. xRequest.getRemoteAddr() and xRequest.getRemoteHost(), etc. As it is written above, RemoteIpFilter simply republishes the current values, and AccessLog therefore does not display the correct values.
Created attachment 29820 [details] patch proposal
Created attachment 29821 [details] test case
+1 Please find a patch proposal and a test case. RemoteIpValve sets the correct request attributes, only RequestIpFilter need correction. Regards Violeta
Thanks for the patch and test cases. This has been applied to trunk and 7.0.x and will be included in 7.0.35 onwards.