• 欢迎访问南思工作室官方站点.
  • 文章内容如有失效请文章下留言,我们看到后会第一时间处理。
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏南思工作室吧。
  • 图片服务器和主服务器都挂了CDN,如有异常,请留言,我们会尽快处理。

Cloudflare下Nginx获取用户真实IP地址

服务器 nansi 2周前 (08-01) 65次浏览 0个评论

由于 Cloudflare 充当反向代理的角色,因此在配置好 CDN 之后,我们会发现记录到的所有 IP 地址都来自于 Cloudflare,这对于我们实现一些基于访客 IP 的功能是很不方便的。因此,我们就要想办法还原出真实的访客的 IP 地址。

第一步,安装 http_realip_module 模块:

重新编译 Nginx,在执行 ./configure 的时候加上 –with-http_realip_module 参数

第二步,打开 Nginx 的配置文件,在 http 块或者 server 块中引入以下代码:

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;

这些 CDN 服务器的 IP 地址段通常不会发生变化,但还是建议你打开 Cloudflare’s IP addresses 核对一下,以确保所有 IP 地址都是最新的。

第三步,重新加载 Nginx 配置文件:

nginx -s reload

好了,现在看一下服务器日志,记录到的 IP 地址已经变成了访客的真实 IP。


南思工作室 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Cloudflare 下 Nginx 获取用户真实 IP 地址
免责声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!
喜欢 (10)
关于作者:
南思工作室管理员
发表我的评论
取消评论
表情 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址