LNMP安装Nginx Realip模块获取访客真实IP

有时我们为了网站的访问速度和安全性会给网站加一层CDN,可这样一来网站获取到的访客IP地址就是CDN的节点IP而不是用户的真实IP了。不过Nginx下有个叫ngx_realip的模块可以帮助我们来解决这个问题,默认这个模块是没有添加的,所以你需要编译Nginx。这里我的环境是军哥的LNMP,添加参数很方便,在lnmp安装目录下找到lnmp.conf编辑它,在Nginx_Modules_Options里加上realip,如下所示:

Nginx_Modules_Options='--with-http_realip_module'

LNMP安装Nginx Realip模块获取访客真实IP

保存后执行./upgrade.sh nginx来升级下Nginx就可以了。

然后我们给网站的配置文件里加上这个功能,在任意一个location里加入:

set_real_ip_from  162.158.6.0/24;
set_real_ip_from  172.68.132.0/22;
set_real_ip_from  172.68.140.0/22;
set_real_ip_from  157.119.232.0/24;
real_ip_header    X-Forwarded-For;
real_ip_recursive on;

以上的IP地址换成你使用的CDN的IP地址段,这里我添加的是CloudFlare的几个IP段。/24就是一个C,相当于0-255都包括了。

weinxin
我的微信公众号
我的微信公众号扫一扫
广告也精彩
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  2   博主  0

    • avatar WZTBQ 1

      们给网站的配置文件里加上这个功能,在任意一个location里加入:是加载nginx.conf里的server 任意一个location里吗?

        • avatar 厘米 9

          @WZTBQ 加在虚拟主机的.conf里就行了,重启开一个location也可。