首页 > 代码库 > 夺命雷公狗---linux NO:40 linux下nginx的反向代理的日志修正

夺命雷公狗---linux NO:40 linux下nginx的反向代理的日志修正

我们如果只是纯粹使用了反向代理,那么服务器B的日志则会出现了问题:

技术分享

我们服务器A是192.168.155  去访问了服务器B的/logo.png  ,这当然也没错,原理图如下所示:

技术分享

但是我们往往都是需要知道是从客户端的真实IP,而不是服务器A发送来的IP,因为这样会更加方便运维和推广人员统计数据等。。。

首先我们改一下服务器A的配置文件:

        location ~ \.(jpg|jpeg|png|gif)$ {
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_pass http://192.168.8.166:80;
        }

 

技术分享

然后去重置一下配置:

技术分享

然后再到服务器B下进行修改他的配置文件:

技术分享

然后到  sbin  目录下 使用 命令  ./nginx -s reload  重置下服务器B的配置。。

技术分享

然后在去刷新一下页面。。

技术分享

然后再看看服务器B的日志:

技术分享

成功完成。。。

这也是业界的小小的一个约定而已,当有客户通过代理服务器的时候,防止服务器B(后端服务器)丢失了真正的IP,那就要让服务器A多发一个头信息给后端服务器,X-Forwarded-For ,如果后端服务器见到了X-Forwarded-For 那么他就认为  X-Forwarded-For  的 ip  他就是用户的IP。。

夺命雷公狗---linux NO:40 linux下nginx的反向代理的日志修正