美文网首页
Linux_332_Nginx反向代理与日志记录ip

Linux_332_Nginx反向代理与日志记录ip

作者: 为宇绸缪 | 来源:发表于2022-12-11 11:42 被阅读0次

反向代理实验
环境准备
准备3台linux机器,分布式安装好nginx服务,nginx支持web服务器以及反向代理
lb01 192.168.178.123 nginx负载均衡
web01 192.168.178.125 提供静态页面的nginx
web02 192.168.178.126 提供静态页面的nginx

1、修改第一个nginx web服务器的配置,定义好日志记录功能以及日志格式
配置nginx的access.log查看代理ip走向

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';

server {
        listen       80;
        server_name  mp3.yu.com;
        charset utf-8;
        access_log logs/access.log.mp3 main;
        location / {
            root   html/mp3;
            index  index.html index.htm;
        }
    }

修改第二个web服务器的配置同上

分别的实时监测日志的内容,查看用户请求的信息
使用tail -f access.log.mp3,然后分别给web服务器发出请求即可

通过负载均衡发出请求,查看反向代理过程
对lb01的配置文件进行修改

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;
        }
    }

反向代理:nginx的负载均衡器的ip负载接收请求,然后发送给后面的真实服务器来工作。负载均衡器得到请求之后,给真实的服务器再发送请求。用户不需要知道是哪个服务器给你提供工作

测试访问查看结果

通过本地机器访问 lb01,查看请求的反向代理与分发,并且观察日志
此时在web服务器上,发现nginx抓到的是 lb01 代理机器的地址信息,那么如果我想抓到真实的客户端ip该怎么办?
curl 192.168.178.123

lb01
192.168.178.1 - - [07/Mar/2022:19:09:01 +0800] "GET / HTTP/1.1" 200 17 "-" "curl/7.80.0" "-"

web01
192.168.178.123 - - [07/Mar/2022:19:09:02 +0800] "GET / HTTP/1.0" 200 17 "-" "curl/7.80.0" "-"

相关文章

网友评论

      本文标题:Linux_332_Nginx反向代理与日志记录ip

      本文链接:https://www.haomeiwen.com/subject/pwatqdtx.html