sep.cc 如涉及侵权内容,请联系 [email protected]

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://sep.cc/go/nginx/

最后编辑:2021年10月12日 20:29:35「本站部分内容具有时效性,如遇失效请留言反馈」

转载声明:本站所有内容采用 CC BY-NC-SA 国际许可协议,转载请注明来源:Sep blog,谢谢!

版权声明:如文章内容涉及侵权,请联系 [email protected],待查证属实之后会立刻删除侵权内容。

评论 (8)
  1. avatar
    沙发
    小神仙 2018-05-20 15:54

    大佬厉害!学习学习

  2. avatar
    板凳
    菜鸟 2018-05-15 16:47

    博主 麻烦发我邮件,你买的国外服务器 和 域名地址给我一下。我也去弄个。不用备案