环境
服务器ip | 用途 |
---|---|
192.168.233.17 | haproxy服务器 |
192.168.233.196 | 后端web服务主机 |
192.168.233.195 | 客户机 |
目标
后端web服务可以记录客户端的真实IP地址
四层透传
haproxy配置
listen test
bind 0.0.0.0:80
log global
mode tcp #因为是4层,所以填的tcp
server web1 192.168.233.196:80 send-proxy weight 1 check #加上send-proxy
nginx配置
在访问日志中通过访问变量$proxy_protocol_addr记录透传过来的客户端IP
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" "$proxy_protocol_addr"';
access_log /var/log/nginx/access.log main;
server {
listen 80 proxy_protocol; #启用此项,将无法直接访问此网站,只能通过四层代理访问
...
}
....
}