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

  • 2
  • 7,104 views
  • A+
所属分类:工具资源

有时我们为了网站的访问速度和安全性会给网站加一层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
我的微信公众号
我的微信公众号扫一扫

发表评论

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

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

    • WZTBQ WZTBQ 1

      Warning: Use of undefined constant auto - assumed 'auto' (this will throw an Error in a future version of PHP) in /www/wwwroot/past.cmsky.org/wp-content/themes/begin5.2/inc/inc.php on line 911

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

        • 厘米 厘米 9

          Warning: Use of undefined constant auto - assumed 'auto' (this will throw an Error in a future version of PHP) in /www/wwwroot/past.cmsky.org/wp-content/themes/begin5.2/inc/inc.php on line 911

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