解决nginx中不能获取真实ip的可能

存在题目中的问题时,我们可能有这几种情况:

1、使用了CDN服务;

2、使用了反向代理服务

目前在主流的网站部署下,很多的网站都使用了CDN这一技术,以解决某种情况下的性能压力或安全等方面的可能,那么使用了CDN后,可想而知,多了一次路径。CDN的路径会干扰到你物理服务器在获取用户数据,其中最为明显的就是用户的浏览器标识和用户的真实IP,在未使用CDN前,我们一般通过remote_addr来直接获取,但是使用了CDN后,我们需要换种思路了。

其实CDN厂商已经帮我们考虑好了,我们只要改remote_addr为$proxy_add_x_forwarded_for即可,为什么?因为CDN厂商帮我们中转了一下用户的信息。

好了,再谈第二个,使用了反向代理,这也是主流部署下的一种技术方案,简单地理解就是负载均衡。这种情况下,导致无法获取直接信息的可能,是部署人员自己的问题,为何这么说?

在nginx配置中的location节点中加入以下内容:

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

你会发现问题都已经解决了,好了,伊凡门户就祝你好运了~

标签:暂无
在日常办公中要求对文档进行双面打印是很常见的,在打印机没有自带双面打印单元的情况下,如何既节约人力成本,又能快速实现双面 […]
大家都知道win10自带.net 4,在.net3.5下开发的软件无法运行,会提示需要安装.net3.5联网更新又太麻烦 […]
很多时候我们遇到目录中大量的文件以大写来命名的,又或是遇到特殊情况导致文件名全部变成大写,有强迫症的你该如何面对? 将下 […]
将本机80端口的请求转发到8080端口 iptables -t nat -A PREROUTING -p tcp --d […]
主要特征:散装的没有散热器,质包是一年,而盒装的是带了散热器的,质包是三年 技术角度:散装和盒装CPU并没有本质的区别, […]
手机扫一扫即可带走我!