美文网首页
Linux_333_Nginx捕捉客户端真实ip

Linux_333_Nginx捕捉客户端真实ip

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

    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"

    相关文章

      网友评论

          本文标题:Linux_333_Nginx捕捉客户端真实ip

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