X-Forwarded-For参数
在反向代理请求后端节点服务器中,在请求头中添加获取客户端ip的字段信息,然后在后端节点上可以再次通过程序接收X-Forwarded-For参数传来的用户真实的ip信息
修改lb01的主配置文件
1、修改lb01 反向代理机器的配置,添加如下参数,在请求转发的时候,添加头部信息,添加用户客户端ip信息
server {
listen 80;
server_name lb.yu.com;
access_log logs/access.log.lb01 main;
location / {
proxy_pass http://my_web;
proxy_set_header Host $host;
# 添加如下这行即可
proxy_set_header X-Forwarded-For $remote_addr;
}
}
2、其他的两个服务器日志做如下修改
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
添加 "$http_x_forwarded_for"
如果想在web服务器中记录该客户端真实ip信息,就得像上面那样修改日志格式
注意access_log 后面一定要加上 main
curl 192.168.178.123
lb01当中
192.168.178.1 - - [07/Mar/2022:19:25:01 +0800] "GET / HTTP/1.1" 200 17 "-" "curl/7.80.0" "-"
web02当中
192.168.178.123 - - [07/Mar/2022:19:25:01 +0800] "GET / HTTP/1.0" 200 17 "-" "curl/7.80.0" "192.168.178.1"
网友评论