AiHaoZ知识库

全网最全的知识库

Nginx环境下获取CDN真正请求IP

服务器使用 Nginx环境,网站和嵌入CDN,不可避免地会出现一个问题:请求日志中的记录基本上是 CDN IP,IP不是具体要求 。所以大家都分不清是百度搜索引擎蜘蛛抓取,还是用户访问,还是收集。

本文还专门解决了以下问题:

只需在 Nginx “Http段”加上以下设备即可,宝塔面板如下图所示:

Nginx环境下获取CDN真正请求IP,cdn获取真实ip,获取用户请求的真实ip,服务器,CDN,云服务器,第1张

编码:

set_real_ip_from 0.0.0.0/0;
real_ip_header X-Forwarded-For;

这两段编码的解释:

1、“set_real_ip_from指上下游代理商共享云服务器 IP 换句话说,详细地址 IP 段。可以理解为这样 IP 所有来的请求都是真的 IP 获取解决方案,类似于授权管理,这个实例教程加入 0.0.0.0/0 是指所有的请求 IP;

2、”real_ip_header“ 是指在那个请求头里获得真实的东西 IP,在大多数情况下,上下游 CDN 都是会推送 HTTP_X_FORWARDED_FOR 请求头,这个头包含的是指归路 IP 串,如 “127.0.0.1,127.0.0.2,127.0.0.3” 一般来说,获得第一个不是空的 IP 真实存在;

3、本实例教程以宝塔面板为例,宝塔面板环境下安装的 Nginx 内置了 ngx_http_realip_module 这个应用程序是真实的 IP 默认设置编译程序安装的控制模块 Nginx 很有可能没有,只有自己安装打开,才能配备起效。本文没有对安装此模块的方法进行过多解释。


Copyright Your WebSite.Some Rights Reserved.