小编Sys*_*tem的帖子

haproxy 并将客户端 IP 地址转发到服务器

我有 HAproxy 的问题。

我使用 HAproxy 作为负载均衡器,它将传入的 http 请求分发到 5 个 Web 服务器。通常,客户端请求会通过负载均衡器的 IP 转发到 Web 服务器。但是我需要从 Web 服务器请求某些内容的客户端 IP 或真实 IP。因为我们需要记录真实客户端的 IP。

我尝试在 Web 服务器上获取客户端的 IP,但到目前为止我无法成功。我总是看到负载均衡器的 IP。

我使用 x-forward-for 选项,但没有解决问题。之后,我找到了另一个选项“ source 0.0.0.0:80 usesrc clientip ”,但在尝试运行 HAproxy 时出错,这是关于使用 HAproxy 的 USE_TPROXY 选项的编译需求。我做到了,我用 USE_TPROXY 选项重新编译了 HAproxy,但没有改变任何东西。我该怎么做才能了解真实客户的 IP。

我的 linux 内核版本是 2.6.32-34 我的意思是内核支持透明代理。我使用 UBUNTU 10.4 LTS

我的配置文件在这里

global
    maxconn 100000
    uid 99
    gid 99
    daemon

defaults
    option forwardfor except 127.0.0.1
    mode    http
    (1)source 0.0.0.0:80 interface hdr_ip(x-forwarded-for,-1)
        (2)source 0.0.0.0:80 usesrc clientip
    contimeout  5000
    clitimeout …
Run Code Online (Sandbox Code Playgroud)

haproxy

18
推荐指数
1
解决办法
9万
查看次数

标签 统计

haproxy ×1