我们如果只是纯粹使用了反向代理,那么服务器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。。
时间: 2024-11-08 03:04:17