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

宝塔面板26字数 854阅读模式

如果宝塔面板建站之后,给站点挂上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
我的微信
微信公众号
关注大鸟博客公众号
 
大鸟
评论  26  访客  25  作者  1
    • hubayi
      hubayi 0

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

        • 大鸟
          大鸟

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

        • 缙哥哥
          缙哥哥 7

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

          • 馒头
            馒头 1

            不仅限于cloudflare吧? 鸟叔!

            • sj329059
              sj329059 1

              非常感谢 学习下

              • sj329059
                sj329059 1

                评论了 怎么还看不到

                • moe
                  moe 2

                  果然是大佬!

                  • moe
                    moe 2

                    大佬牛?!

                    • 戴维斯
                      戴维斯 1

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

                        • xixi
                          xixi 0

                          @ 戴维斯 反代的好像用防火墙不行

                          • 姜叔
                            姜叔 0

                            @ 戴维斯 其实免费防火墙开启获取真实IP就行。

                          •  
                              0

                            感谢分享

                              • casperteng
                                casperteng 0

                                @   学习一下,谢谢

                              • 哈哈
                                哈哈 3

                                我擦,这么好的文章居然刚发现

                                • glisten
                                  glisten 0

                                  感谢楼主,试试看!

                                  • NiubiPlus
                                    NiubiPlus 0

                                    文章横有用 :razz:

                                    • 545040
                                      545040 3

                                      为啥免费版WAF开了CDN还是不行啊,仍然全是CF的IP,难道是我在CF开了FULL SSL的缘故?

                                      • 雨沐晨枫
                                        雨沐晨枫 1

                                        其他适用吗

                                        • 好先生
                                          好先生 4

                                          感谢分享!

                                          • hqt
                                            hqt 0

                                            php如何处理

                                            • 柒柒blog
                                              柒柒blog 0

                                              6666,借鉴学习一下

                                              • shalou
                                                shalou 2

                                                学习一下

                                                • 匿名网友
                                                  匿名网友 0

                                                  学习学习

                                                  • 董蜀黍
                                                    董蜀黍 0

                                                    学习一下

                                                    • 郭德
                                                      郭德 0

                                                      前排支持

                                                    匿名

                                                    发表评论

                                                    匿名网友

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

                                                    确定