我有五台运行 Ubuntu (LAMP) 的服务器。其中一台 (称为 Server1) 接收来自互联网的所有传入请求,并使用 VirtualHosts 和 mod_proxy 将正确的请求发送到 LAN 上的正确服务器。
我的问题是,在我的后端服务器上的所有日志中,所有请求都被记录为来自 Server1 的 IP 的传入请求。
为什么会这样?我该如何解决?
答案1
这就是 Squid 的优秀员工发明的原因X-Forwarded-For
。
在您的代理服务器上,标头应该已经添加到请求中;mod_proxy
处理这个问题。
在后端服务器上,修改现有的日志配置以删除远程主机(%h
)并添加该标头的内容(%{X-Forwarded-For}i
)。例如:
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b" common_forwarded
CustomLog logs/access_log common_forwarded