美文网首页
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