HAProxy 的 IP 透传是指在使用 HAProxy 作为代理服务器时,能够将客户端的真实 IP 地址传递到后端服务器,以便后端服务器能够获取到客户端的原始 IP 信息。
web服务器中需要记录客户端的真实IP地址,用于做访问统计、安全防护、行为分析、区域排行等场景。
一、四层IP透传
1、修改 /etc/haproxy/haproxy.cfg配置文件
haproxy:
vim /etc/haproxy/haproxy.cfg
重启服务:
systemctl restart haproxy.service
2、修改nginx.conf配置文件
nginx 配置:在访问日志中通过变量$proxy_protocol_addr 记录透传过来的客户端IP
RS1:
vim /etc/nginx/nginx.conf
重启服务:
systemctl restart nginx.conf
3、测试结果
没修改之前:
修改之后:
二、七层IP透传
当haproxy工作在七层的时候,也可以透传客户端真实IP至后端服务器
1、haproxy配置
vim /etc/haproxy/haproxy.cfg
重启服务:
systemctl restart haproxy.cfg
2、web服务器日志格式配置
RS1修改nginx.conf配置文件:
vim /etc/nginx/nginx.conf
重启服务:
systemctl restart nginx.service
3、测试结果