Haproxy 将传入的 X-Forwarded-For 标头转换为传出的 X-Forwarded-For

Haproxy 将传入的 X-Forwarded-For 标头转换为传出的 X-Forwarded-For

有没有什么方法可以使用 Haproxy 修改标头的功能,以便如果传入连接具有 X-Forwarded-For 标头,那么我可以获取其内容并将其添加到 Haproxy 的 X-Forwarded-For 记录中?

我当前的情况是客户已设置以下内容:

  • CloudFlare 建立连接,设置 X-Forwarded-For 并连接到 Haproxy 前端
  • 然后,Haproxy 处理此连接并根据收到的连接的真实 IP(CloudFlares IP 地址)设置 X-Forwarded-For
  • 服务器接收此请求,并且 X-Forwarded-For 条目包含 CloudFlare 代理的 IP,而不是真正的客户端 IP。

答案1

除非您的最终服务器真的想知道 cloudflare 的 IP 地址是什么,否则如果没有人直接连接到 haproxy,那么只需删除option forwardfor它即可停止更改 X-Forwarded-For 标头。

如果某些连接不经过 cloudflare,您可以option forwardfor except cloudflareipaddress仅为直接连接设置 X-Forwarded-For。

相关内容