公司有业务场景,利用了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