技术教程 技术教程 关注:135 内容:39

Cloudflare如何获取访客的真实IP地址(cdn上的ip地址怎么获取)

  • 查看作者
  • 打赏作者
  • 拉黑名单
  • 当前位置: 萌次元 > 技术教程 > 正文
    • 技术教程
    • 首先,这个教程不是教你如何在Cloudflare的保护下找到别人真正的源IP。而是当你的网站使用了Cloudflare的CDN。教会源服务器如何显示访问者的真实IP地址。

      Cloudflare 作为可靠性及高,又成本最低的CDN和防护方案,深受各大中小站长的喜爱。包括著名的域名注册商 Namesilo 在内的很多网站,都选择了Cloudflare 作为CDN。

      相信当你看到本文的时候,也已经使用上Cloudflare 的服务。因为Cloudflare 提供了免费的订阅,足够个人小站使用了。

      一、Cloudflare 的CDN 常规使用

      当你的网站接入Cloudflare 的CDN,并在Cloudflare的后台点开小云朵(代理状态 改为 已代理)生效之后。

      Cloudflare如何获取访客的真实IP地址(cdn上的ip地址怎么获取)

      这个时候你会发现,通过站长工具(ping.chinaz.com)Ping 你的网址。响应的IP地址为Cloudflare的IP地址。

      Cloudflare如何获取访客的真实IP地址(cdn上的ip地址怎么获取)

      也就是说访客通过浏览器访问您的网址,会首先到达Cloudflare的CDN服务器,再经过 Cloudflare 的中转抵达你的源站。如下图所示:

      Cloudflare如何获取访客的真实IP地址(cdn上的ip地址怎么获取)

      在没有进行额外设置的情况下,访客的IP地址是不会正确的体现在你的真实源服务器上的。

      尝试用你自己的浏览器访问你自己的网址,然后查看宝塔面板的 【站点设置】–【响应日志】

      Cloudflare如何获取访客的真实IP地址(cdn上的ip地址怎么获取)

      可以通过【响应日志】看到,你源服务器得到的访客IP并不是你真实的IP,通过查询此IP可以得知。这个IP地址是Cloudflare的CDN服务器IP地址。

      简单总结一下就是,当你启用了Cloudflare的CDN之后。你源站收到的请求全部都是Cloudflare的CDN地址。

      虽然,这并不会影响客户的正常访问。但在以下这种情况下是会出现问题的。

      例:源服务器开启了防CC或者WAF策略

      也不知道为什么,互联网上总有隐藏在背后。不断对你站点进行攻击的人。尽管小站流量不大,也没有影响任何人的利益。却总是有人没日没夜的对你的网址、服务器进行扫描、嗅探、攻击。

      在你开启Cloudflare 的CDN之后,如果设置得当。针对服务器的DDos攻击可能会因为隐藏掉原始IP使得攻击者无法下手。但攻击者的手段多到你无法想象。比方说攻击者使用 CC 的手段对你的网站地址进行攻击的时候。往往会采用大量的代理IP,模拟正常访问。让你的源服务器超过其负载能力导致宕机。比方说大量的请求导致CPU、内存超载。或者源服务器宽带超载。

      往往网站运营者,会采用在源站配置防CC策略。来屏蔽攻击者的IP。

      但如果你已经开启了Cloudflare的CDN,那么你的源服务器屏蔽的并不是真实的访客IP。反而屏蔽的是Cloudflare的CDN服务器节点IP,那么这个时候就会导致大量的Cloudflare服务器无法正常访问到你的源服务器。即使针对Cloudflare CC攻击的量并没有超过服务器的负载。那么正常的访客也会无法访问你的网站。

      所以如何让源服务器获取到访客真实的访问IP就显得尤为重要了。

      二、设置源服务器的Nginx使源服务器获取访客真实IP

      这里示例中,我们采用宝塔面板,Web服务采用Nginx。

      点击宝塔面板中并在Nginx 后面点击【设置】

      插入两段代码

          set_real_ip_from 0.0.0.0/0;
          real_ip_header X-Forwarded-For;

      Cloudflare如何获取访客的真实IP地址(cdn上的ip地址怎么获取)

      经过上述修改后,我们的宝塔源服务器可以获得访问者的真实IP。

      请登录之后再进行评论

      登录
    • 返回顶部
    • 实时动态
    • 偏好设置
    • 到底部
    • 帖子间隔 侧栏位置: