Apache2 mod_proxy:后端服务器将前端服务器logging为所有请求的来源

我有五台运行Ubuntu(LAMP)的服务器。 其中一个(称为Server1)接收来自Internet的所有发送请求,并使用VirtualHosts和mod_proxy将正确的请求发送到LAN上正确的服务器。

我的问题是,在我的后端服务器上的所有日志中,所有请求都logging为从Server1的IP中传入。

这是为什么,我该如何解决?

这就是为什么Squid的好人们发明了X-Forwarded-For

在您的代理服务器上,标题应该已经添加到请求中; mod_proxy照顾这个。

在后端服务器上,修改现有日志loggingconfiguration以删除远程主机( %h )并添加该标头的内容( %{X-Forwarded-For}i )。 例如:

 LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b" common_forwarded CustomLog logs/access_log common_forwarded