获取X_Fowarded_For IP

获取X_Fowarded_For IP

配置设置:

192.168.18.130 :Ubuntu 12.04 上的 Squid3 代理服务器
192.168.18.131 :正在运行的 Web 服务器
192.168.18.132 :用户

我希望使用 IP 在 Web 服务器中运行的 PHP 页面中可见。

目前我没有得到 X_Forwarded_For

答案1

标题通常是连字符而不是下划线。所以是这样的X-Forwarded-For。我相信 Squid 应该默认启用这个。

验证 squid 是否发送此标头的最佳方法是查看数据包捕获,例如wireshark。然后您就可以确定问题出在 squid 还是 PHP 上,而不必尝试同时解决两者的问题。

答案2

确定转发未设置为除“开启”之外的任何值(默认)

答案3

mod_extract_forwardedapache 模块将从 squid 发出的 HTTP 标头中提取 x-forwarded-for 并将其正常传递远程地址到 apache/php 的其余部分。

确保您在 squid.conf 中正确设置了 x-forwarded-for 选项,并且您没有删除/限制此 HTTP 标头,默认情况下它是开启的,并且还会添加“via”标头。

我在生产中用它,有效,很好。

相关内容