Loading

Cloudflare配置Nginx http_realip_module模块

搭建好环境网站完全正式上线之后,在网站使用Cloudflare CDN时无意间发现访问者的所有IP都是Cloudflare的IP地址,无奈网站已经上线了,不可能又要重新编译安装环境,麻烦还浪费时间,去Cloudflare官网帮助文档看了看有了大概的解决思路,Nginx 需要启用http_realip_module目录,编译的时候加上 --with-http_realip_module参数.

Nginx编译 --with-http_realip_module模块:

本人所使用的环境为LNMP1.4,查看了Nginx版本之后决定不升级只在当前nginx版本中重新进行编译添加--with-http_realip_module模块。

进入lnmp1.4安装包,编辑lnmp.conf文件,在Nginx_Modules_Arguments 的''里加上--with-http_realip_module然后退出保存,执行命令upgrade.sh nginx 输入您当前nginx版本号然后自动升级。

备份下原来老的nginx文件:

mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old

测试新的nginx程序是否正确:

/usr/local/nginx/sbin/nginx -t

如果不成功或者网站访问失败,重启服务器之后执行恢复旧nginx文件命令(此命令不影响你所编译的新模块):

mv /usr/local/nginx/sbin/nginx.old /usr/local/nginx/sbin/nginx

测试nginx是否正确,如正确请重启nginx服务:/etc/init.d/nginx reload

查看ngixn版本极其编译参数:

/usr/local/nginx/sbin/nginx -V

就会出现您新添加的--with-http_realip_module模块。

添加模块成功之后还要进行下面的Nginx配置.

在Nginx配置http下方添加以下代码:

set_real_ip_from   103.21.244.0/22;
set_real_ip_from   103.22.200.0/22;
set_real_ip_from   103.31.4.0/22;
set_real_ip_from   104.16.0.0/12;
set_real_ip_from   108.162.192.0/18;
set_real_ip_from   131.0.72.0/22;
set_real_ip_from   141.101.64.0/18;
set_real_ip_from   162.158.0.0/15;
set_real_ip_from   172.64.0.0/13;
set_real_ip_from   173.245.48.0/20;
set_real_ip_from   188.114.96.0/20;
set_real_ip_from   190.93.240.0/20;
set_real_ip_from   197.234.240.0/22;
set_real_ip_from   198.41.128.0/17;

set_real_ip_from   2400:cb00::/32;
set_real_ip_from   2606:4700::/32;
set_real_ip_from   2803:f800::/32;
set_real_ip_from   2405:b500::/32;
set_real_ip_from   2405:8100::/32;
set_real_ip_from   2c0f:f248::/32;
set_real_ip_from   2a06:98c0::/29;
real_ip_header     CF-Connecting-IP;

保存退出之后测试新的nginx配置是否正确:

/usr/local/nginx/sbin/nginx -t

返回OK之后重启nginx服务:/etc/init.d/nginx reload

完成。

如果CloudFlare节点ip变更,大家可以去下面地址获取最新的节点ip.

https://www.cloudflare.com/ips

之后就可以看到访问者的真实IP地址啦,结束。

注:本方法只在军哥LNMP1.4环境配置有效,其他NGINX环境都一样,只是目录不一样而已。

如果您想重新编译安装生产环境,可参考军哥所写的方法:https://inwao.com/go/nginx/


标签: cloudflare配置nginx获取访问者真实ip地址

已有 8 条评论

  1. 欧文斯 欧文斯   Mac OS X Mac OS X   Safari  Safari

    微信加不了啊,提示不存在。

  2. 夏目贵志 夏目贵志   Android 6.0 Android 6.0   QQbrowser QQbrowser

    是无奈吧?不是无赖!

    1. inwao world站长 inwao world   Mac OS X Mac OS X   Safari Safari

      错别字在所难免,何况人生呢?

添加新评论