haproxy 4层协议下实现ip透传功能

本文介绍了如何在haproxy的4层TCP协议模式下实现IP透传功能,以满足后端服务记录客户端来源IP的需求。关键配置在于后端服务的`check send-proxy`选项。同时,对于使用Go语言的客户端,文章提供了一个通过github.com/pires/go-proxyproto库来读取并获取前端真实IP的方法。
摘要由CSDN通过智能技术生成

公司有业务场景,利用了haproxy功能,后端服务需要记录应用端的来源,以便审计等用处。

haproxy分为4层与7层,我们的业务场景是使用4层tcp协议。

经过一番折腾,终于搞定了,下面记录下。

1.haproxy配置
下面是harpoxy的相关配置,重点是后端服务处的check send-proxy 选项,才实现了ip透传功能。

global

        daemon

        nbproc 2

        user root

        group root

        maxconn 60000

        tune.maxaccept -1

        spread-checks 5

        stats bind-process 1

        stats socket 127.0.0.1:13 mode 0666 level admin

defaults

        log global

        option dontlognull

        option  forwardfor

        option accept-invalid-http-response

        mode http

        retries 3

        option redispatch

        timeout connect 5s

        timeout client 0s

        timeout server 0s

        timeout http-keep-alive 100s

        option http-keep-alive

        option http-server-close

listen status

        mode http

        bind *:1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值