Nginx 负载均衡 之 客户端访问日志优化

  • ​​前言​​

前言

本环境是基于 Centos 7.8 系统构建Nginx学习环境
具体构建,请参考 ​​Nginx-1.18.0 环境部署​​

Nginx 在做反向代理负载均衡时,客户端请求web服务时,请求先到达前端负载均衡调度器,调度器根据预先设定的算法,选择将请求分发到后面Real Server。但是默认情况下Real Server的访问日志,记录访问用户的IP总是前端负载均衡调度器的IP,这就给不能更好地追踪、统计,客户端访问的具体信息。接下来,我们将介绍这一解决办法


本次实验环境来自,Web集群案例实战 – Nginx 负载均衡,具体请参考:​​Nginx 负载均衡​​

node03 访问web服务

Web集群案例实战 -- Nginx 负载均衡 之 客户端访问日志优化_Nginx客户端访问日志优化


查看node01、node02 日志追踪情况node01

Web集群案例实战 -- Nginx 负载均衡 之 客户端访问日志优化_Nginx客户端访问日志优化_02

node01

Web集群案例实战 -- Nginx 负载均衡 之 客户端访问日志优化_Nginx客户端访问日志优化_03


追踪日志得知,Real Server访问日志记录,客户端访问IP均是调度器的IP!

解决办法–修改配置文件

[root@node01 ~]# vim /etc/nginx/conf.d/vhost.conf
upstream www_web_server_pools {
server web1.wan.org:81 weight=1;
server web2.wan.org:82 weight=1;
server web3.wan.org:83 weight=1;
}

server {
listen 192.168.5.11:80;
server_name www.wan.org;

location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://www_web_server_pools;
}
}
[root@node01 ~]# systemctl restart nginx

再次追踪访问日志

node01

Web集群案例实战 -- Nginx 负载均衡 之 客户端访问日志优化_运维_04


node02

Web集群案例实战 -- Nginx 负载均衡 之 客户端访问日志优化_Nginx客户端访问日志优化_05