【发布时间】:2017-06-07 23:18:28
【问题描述】:
因此,我将 AWS ELB 放在 haproxy 前面,而我们的应用服务器放在后面(我知道这有点疯狂)。请求被记录在我们的 haproxy 服务器和应用程序服务器中,因为它们来自 ELB 的 ip,而没有显示真实的客户端 IP。当我们仅使用 HAproxy 和我们的应用程序服务器进行此设置时,客户端 IP 的传递没有问题,但似乎没有很多配置选项允许 ELB 中的 x forwarded for 标头。它可能是默认设置的,但很难找到是否属实。
提前感谢您的帮助!
【问题讨论】:
-
如果您在负载均衡器上使用 http/https 监听器,那么负载均衡器应该将 x-forwarded-for 标头添加到请求中。
-
完全合理的配置,但正如@MarkB 指出的那样,经典ELB 必须处于HTTP(S) 模式才能添加标头。如果您在 TCP 模式下运行它(对于 HAProxy 上的 SNI),那么您需要在 ELB 和 HAProxy 上启用代理协议。请说明您的配置。
标签: amazon-web-services load-balancing haproxy amazon-elb