从 Apache 2.4开始,我开始使用mod_remoteip而不是mod_extract_forwarded从前端服务器(varnish、squid、apache 等)提供的x-forwarded- for 重写客户端地址。
到目前为止,所有模块都可以正常工作,即 php、cgi、wsgi 等... - 客户端地址按应有的方式显示,但我无法在访问日志中写入客户端地址(%a、%h、%{c }一个)。不走运 - 我总是得到 127.0.0.1 (本地主机转发前)。
使用 mod_remoteip 时如何记录客户端的 IP 地址?
更新:IT WORKS O_O - 请参阅下面的答案
清漆配置:
apache 2.4 配置部分:
mod_remoteip:
记录(%a 完成这项工作):
+
如果前面有 nginx(例如 SSL 终止):
根据mod_remoteip 的文档,模块应该简单地替换客户端 IP 地址,但仅在
RemoteIPHeader x-forwarded-for
设置时(文档)。还要确保您的虚拟主机的日志记录使用您定义的 CustomLog。