问题描述
客户端 Client 访问对外开放的 HAProxy 服务,然后由 HAProxy 负责负载均衡,来向后端的 Nginx 服务转发流量。如图:
但是,从 Nginx 获取到的 IP 地址为 HAProxy 的IP地址,而不是客户端 Client 的真实 IP 地址。
该笔记将记录:在 HAProxy + Nginx 中,如何获取客户端的真实网络地址(Real IP Address)
系统环境
CentOS 7.0,三台机器:172.31.255.112(Clint);172.31.255.13(HAProxy);172.31.255.125(Nginx-00);
Nginx 1.14.0
HAProxy 1.5.18,在TCP模式下的负载均衡。当然也可以使用HTTP模式,但是效率低啊,我们要用TCP模式。(“使用HTTP效率低”完全是基于“TCP是四层的,而HTTP是七层的”进行的推断)
解决方案
官方已经给出解决方案,参考
在HAProxy和Nginx中实现客户端真实IP地址传递

最低0.47元/天 解锁文章

1734

被折叠的 条评论
为什么被折叠?



