HaProxy将源IP转发给后端服务器
HaProxy forward the source IP to the backend server
我有以下 HaProxy 配置:
frontend smtp
bind :25 accept-proxy
default_backend smtp_backend
backend smtp_backend
mode tcp
timeout server 1m
timeout connect 5s
server srv1 127.0.0.1:2500 send-proxy check maxconn 500
那是负载均衡器 (AWS)。我需要知道负载均衡器的 IP。
查看 HaProxy 上的日志,我有以下几行:
Jul 1 16:00:03 ip-172-31-1-100 haproxy[10350]: Connect from 172.31.1.5:35040 to 172.31.1.100:25 (smtp/TCP)
因此 HaProxy 获得了负载均衡器的正确源 IP(我不是在寻找该级别的客户端)。
但是在目标服务器上显示 IP/Port 时,我得到本地 IP:127.0.0.1
.
我怀疑这是因为 server srv1 127.0.0.1:2525 send-proxy check maxconn 500
行,但是我怎样才能在我的终端服务器上获得负载均衡器的 IP?
提前致谢!
(注意:建立连接后,AWS Target Group 向我发送一个代理 v2 命令,允许我获取客户端 IP 地址,这有效,但我首先需要从负载平衡器)。
遗憾的是,Haproxy 将仅通过一些headers.
支持 HTTP 模式下的 ip 转发
在您的情况下,您需要使用专门编译的 HAproxy - TProxy。
即使在 TCP 模式下,这也将支持转发客户端 ip(在您的情况下为 AWS 负载均衡器 IP)。
我有以下 HaProxy 配置:
frontend smtp
bind :25 accept-proxy
default_backend smtp_backend
backend smtp_backend
mode tcp
timeout server 1m
timeout connect 5s
server srv1 127.0.0.1:2500 send-proxy check maxconn 500
那是负载均衡器 (AWS)。我需要知道负载均衡器的 IP。
查看 HaProxy 上的日志,我有以下几行:
Jul 1 16:00:03 ip-172-31-1-100 haproxy[10350]: Connect from 172.31.1.5:35040 to 172.31.1.100:25 (smtp/TCP)
因此 HaProxy 获得了负载均衡器的正确源 IP(我不是在寻找该级别的客户端)。
但是在目标服务器上显示 IP/Port 时,我得到本地 IP:127.0.0.1
.
我怀疑这是因为 server srv1 127.0.0.1:2525 send-proxy check maxconn 500
行,但是我怎样才能在我的终端服务器上获得负载均衡器的 IP?
提前致谢!
(注意:建立连接后,AWS Target Group 向我发送一个代理 v2 命令,允许我获取客户端 IP 地址,这有效,但我首先需要从负载平衡器)。
遗憾的是,Haproxy 将仅通过一些headers.
支持 HTTP 模式下的 ip 转发在您的情况下,您需要使用专门编译的 HAproxy - TProxy。
即使在 TCP 模式下,这也将支持转发客户端 ip(在您的情况下为 AWS 负载均衡器 IP)。