Haproxy Incoming X-Forwarded-For Header进入Outgoing X-Forwarded-For

有没有什么办法可以使用Haproxy修改头文件的能力,如果传入的连接有一个X-Forwarded-For头文件,例如我可以把这个文件的内容join到Haproxy的X-Forwarded-Forlogging中?

我目前的情况是客户端设置了以下内容:

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

除非你的最终服务器真的想知道什么是cloudflare的IP地址,如果没有人直接连接到haproxy,那么只要删除option forwardfor所以它停止改变X-Forwarded-For头。

如果某些连接没有经过cloudflare,则可以使用option forwardfor except cloudflareipaddress ,仅设置X-Forwarded-For直接连接。