我运行的系统在 Squid 加速器前面有一个 Pound 反向代理,反过来在 Apache2 前面为一些基于 PHP 的 Web 应用程序提供支持。
Pound 守护进程配置为将 X-Forwarded-For 标头发送到 Apache,以便上述应用程序可以确定消息的真实来源(squid 配置为透明地传递 X-Forwarded-For 标头而不进行修改)。但是,Pound 在 XFF 标头中将 IPv4 地址表示为::ffff:1.2.3.4
而不是1.2.3.4
,这会使应用程序无法正常工作。
除了修改每个应用程序以正确处理::ffff:1.2.3.4
情况之外,是否有办法阻止 Pound 使用 IPv6 表示法或在 Apache 中预先将 IPv6 表示法转换回 IPv4 表示法?
答案1
你应该能够使用mod_headers
X-Forwarded-For
在 php 应用程序看到它之前重写标头:
RequestHeader edit X-Forwarded-For "^::ffff:" ""