宝塔面板建站使用CDN之后 – 如何获取真实的用户IP

2020年3月3日 9 1,285 854字阅读2分50秒

如果宝塔面板建站之后,给站点挂上cf cdn,那么日志中获取的IP都是cloudflare的代理IP。如何获取真实的用户IP呢,本文提供两种方法。

1、代码

可以在nginx设置中添加2行代码来获得用户的真实访问IP,代码如下:

此处为隐藏的内容!
发表评论并刷新,方可查看

1.1如何放置呢?

如何放置代码,我们如果使用的是宝塔nginx版本,那么可以在“软件管理”→“运行环境”→“Nginx”打开配置文件在http{ }后加入上述代码即可,如图:

宝塔面板建站使用CDN之后 - 如何获取真实的用户IP

1.2注意:

这里介绍的是宝塔面板的nginx设置,如果是其他lnmp的环境,可以根据自己的环境找到nginx.conf。

  • 宝塔Nginx的配置文件位置:/www/server/nginx/conf/nginx.conf
  • 一般lnmp的Nginx的配置文件位置:/usr/local/nginx/conf/nginx.conf

2、防火墙设置

用代码的方法,可能兼容性不太好,所以,我们还可以轻松愉快的用宝塔面板自带的免费防火墙来设置以获取真实的用户IP。

2.1安装免费版本防火墙

这个以前讲过的,可以看文章“宝塔面板第三方应用 – Nginx免费防火墙的试用教程”。安装好之后,还需要简单的设置,看下面。

2.2开启使用CDN

开启的步骤,打开防火墙之后:“站点配置”→“设置”→“使用CDN”点击使用即可。如图:

宝塔面板建站使用CDN之后 - 如何获取真实的用户IP

这样启用之后,即可获取用户真实的访问IP。

3、效果测试

查看自己的网站日志,宝塔面板的网站日志路径:“/www/wwwlogs”。

3.1没使用任何手段之前

宝塔面板建站使用CDN之后 - 如何获取真实的用户IP

3.2使用代码或者防火前开启cdn之后

宝塔面板建站使用CDN之后 - 如何获取真实的用户IP

已经可以获得真实的用户IP了。

4、最后

如果你是专业版的用户,那么可以安装专业版防火墙也是有同样的功能的,如图:

宝塔面板建站使用CDN之后 - 如何获取真实的用户IP

其实免费版用用也足够了。以上方法不仅使用于cloudflare,也适用其他任何cdn商家。比如说,七牛、又拍云、百度云加速等等。

  • 我的微信
  • 分享宝塔面板建站技术交流等!
  • weinxin
  • 微信公众号
  • 关注本博公众号
  • weinxin
匿名

发表评论

匿名网友

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

评论:9   其中:访客  8   博主  1
    • avatar hubayi 0

      宝塔用nginx反代后怎样获取真实IP呢?

        • avatar 大鸟

          回复 hubayi 如果用的 是wordpress可以用这段代码,只需要将下面一段代码加入到wp-config.php文件中即可:
          if (isset($_SERVER[‘HTTP_X_REAL_IP’])) {
          $_SERVER[‘REMOTE_ADDR’] = $_SERVER[‘HTTP_X_REAL_IP’];
          }

        • avatar 缙哥哥 6

          “以上方法不仅使用于cloudflare”,其中使用应改为适用吧?

          • avatar 馒头 1

            不仅限于cloudflare吧? 鸟叔!

            • avatar sj329059 1

              非常感谢 学习下

              • avatar sj329059 1

                评论了 怎么还看不到

                • avatar moe 1

                  果然是大佬!

                  • avatar moe 1

                    大佬牛🐮!

                    • avatar 戴维斯 0

                      看完反代自建CDN无法看真实IP,刚好转过来看这个,很有用