如何实现 X-Forwarded-For 查看网页中的 header

如何实现 X-Forwarded-For 查看网页中的 header

我想实现 X-Forwarded-For,这样当用户访问网站时,实际 IP 就会被注册。到目前为止,我已将以下内容添加到负载均衡器上的 apache.conf 文件中:

LogFormat "%h %l %u %t \"%r\" %>s %b %{X-Forwarded-For}i" common
CustomLog /var/log/custom.log common

这导致在 /var/logs 中创建了客户日志。这只是开始,但我希望能够在用户访问网站时获取 IP 并将其记录到数据库中。这将在 ruby​​ 端完成,但我曾期望当您检查网站上的元素(例如 chrome 检查)时,您可以在标头部分看到 x-forwarded-for。目前我有许多响应和请求标头,但没有 x-forwarded-for。

欢迎提出任何建议或指点。

答案1

x-forward-for 是一个入站 http 标头(如 HTTP HOST),由反向代理和负载平衡使用,为您提供服务器列表,类似于 SMTP 中的接收标头,每一跳都会添加一个 IP。

CloudFlare、Akamai、Incapsula 等第三方将使用自己的变体,例如,客户端 IP 作为前提系统(如负载平衡器)将使用 x-forward-for。上述许多系统还提供插件,为应用程序(如 wordpress)提供真实的 ip 地址。

你的问题似乎更倾向于如何编写 ruby​​ 程序来读取这些信息,这是一个堆栈溢出问题。

相关内容