我们的应用程序中存在一个问题,即客户端IP未通过以下设置传递给应用服务器。
USER ———> AWS ELB ———–> HAPROXY ———–>应用程序服务器(apache)
我们的ELB使用TCP监听器,并且启用了代理协议头。 在HA代理中,我们在haproxy.cfg中添加了“forwardfor”选项
我们可以通过“x-forwarded-for”标题获取http请求的客户端IP,但不能用于https。
感谢帮助确定我们设置中缺less的部分。
谢谢
用作TCP侦听器时,Amazon ELB重置TCP参数。 您可以在ELB上启用代理协议以保留这些参数:
http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-proxy-protocol.html
完成后,您可以修改haproxy以了解代理协议: https ://cbonte.github.io/haproxy-dconv/1.8/configuration.html#5.2-send-proxy