记录一下nginx代理引起的ip失真问题

问题场景

做了一个客服的项目,需要根据访客的ip进行定位,在后台进行展示,项目前期测试的时候地址都是对的,后来因为客户要求,进行了nginx的代理和负载均衡的配置,此后所有用户进来都是显示服务器的地址,清一色的“浙江杭州”。

问题分析

由于nginx代理后,nginx会代替用户的请求,自身转发一个新的请求到项目所在的服务器,相当于把客户的请求给偷偷替换掉了,而服务器只知道请求来自于nginx所在的服务器,只能拿到服务器的ip,却不知到用户的真实ip,我们公司买的服务器是杭州的,所以所有的用户请求进来都变成了服务器的ip地址,也就导致了后台清一色的“浙江杭州”

问题解决方案

1.比较粗暴,不用nginx代理

2.改用手机号,根据手机号去分析客户位置,当然也存在失真的可能性

3.让用户自己填地址,对于一个客服项目来说,显然这个方案很影响用户体验

暂时没有更好的解决方案,希望大佬们赐教

你可能感兴趣的:(Nginx,nginx,tcp/ip,服务器)