宝塔面板使用CDN(又拍云)之后日志显示用户真实的IP

前几天闲鱼打开网站发现网站明显变得很卡,这很不正常,排查了各种原因,而且期间闲鱼也没进行其他修改,就想着是不是被攻击了,然后查看日志,发现几个IP疯狂访问,果断禁用,结果网站挂了,多方资讯百度,才知道这些ip不是真实的访问ip,需要获取真实IP,然后禁用之。

宝塔面板使用CDN(又拍云)之后日志显示用户真实的IP
        闲鱼博客CDN用的又拍云,想必大家都知道又拍云的后台下载日志一般都有延迟一两个小时,像闲鱼这样突然被攻击了,要想马上查阅日志找到攻击IP是不可能的。又拍云有两种查看访问ip的功能,如下:

1.后台-日志-日志分析-热门IP
2.后台-日志-下载日志 {日志里面的第一个字段就是客户访问的IP}
        这两种方式在时效性上都不可取。再者闲鱼有安装懒人必备良品——宝塔面板,所以闲鱼一般都是在宝塔上查看日志,但是这里就遇到坑了。因为在使用CDN之后宝塔日志显示不是用户真实的IP,全是又拍云中转IP的访问日志,中转ip在又拍云的IP检测里会不显示又拍云ip。这也是前面闲鱼禁用这些IP之后网站挂了的原因,把CDN的IP都禁了能不挂吗?自己断了自己的路......
宝塔面板使用CDN(又拍云)之后日志显示用户真实的IP

中转IP

中转IP只将客户端访问转回服务器源站。类似于 nginx 的反代地址, 用户将 CDN 访问的请求转发到源站。中转地址是内部中转地址,控制台只能查询 CDN 的边缘访问地址。

        归根到底还是要获取用户的真实ip,让宝塔日志显示为用户真实的IP,这样也不用傻等着又拍云的日志更新了。对于使用CDN情况下获取真实IP的问题,闲鱼以前也遇到过,也分享了方法,在Wordpress根目录下wp-config.php文件的最顶部添加下列代码。

  1. if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {    
  2.   $list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);    
  3.   $_SERVER['REMOTE_ADDR'] = $list[0];    
  4. }    

        详情见以下文章。

WordPress在使用百度云情况下获取真实IP

闲鱼在评论处有添加显示评论者IP的功能,细心的朋友一定发现IP一直都是错的,就一个摆设玩意儿,这不是闲鱼想要的。一开始以为是因为闲鱼使用的本地方法获取的IP更新不及时的缘故,但是换成在线获取还是不行,...

        但是这个方法对于宝塔面板使用CDN(又拍云)之后的日志显示真实IP没有效果,这里就需要使用新的方法来解决,在宝塔面板上修改nginx.conf文件获取正确用户IP,百度给的答案。

修改方法

        在宝塔上打开Nginx(一般在软件管理里)的配置修改,在http{后加入如下两行代码,再重启nginx即可。操作前请务必先备份!!

  1. set_real_ip_from 0.0.0.0/0;  
  2. real_ip_header X-Forwarded-For;  

宝塔面板使用CDN(又拍云)之后日志显示用户真实的IP
        完成这个之后,再返回宝塔日志就可以看到日志显示的不再是什么中转IP 119.188.116.14、119.188.116.16等的访问,显示了用户真实的IP。
 
        本文的重点其实也就后面的修改方法,前面啰嗦一大堆也只是闲鱼的一个学习过程,简单做一个记录,没兴趣的无视就好。

历史上的今天:

  • 博客公众号
  • 关注本博客公众号
  • weinxin
  • 博客小程序
  • 关注本博客小程序
  • weinxin

墙裂推荐本站使用的阿里云服务器  去试试>>

1核2G,100%CPU性能,114/年  丨  1核2G,100%CPU性能,118/年

发表评论

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

目前评论:16   其中:访客  9   博主  7

    • 明月登楼

      不错,我的真实IP都直接记录在日志里了!

      • 西枫里博客

        REMOTE_ADDR可以伪造。HTTP_X_FORWARDED_FOR经过多层代理,拿到的并不一定是真的。所以这个获取的真实ip也不一定是真的。

          • 闲鱼 【博主】

            @西枫里博客 测试了几个ip地址都是真的,再经过多层代理伪造的话,技术渣的我搞不定了,自生自灭 :mad:

          • Action

            一直认为CDN可以隐藏自己的真实IP,更加安全。看来也是一把双刃剑呀。

              • 闲鱼 【博主】

                @Action 好处还是更多的。这里这个也好解决,能套个CDN还是要弄一个,虽然别人想搞到你的真实IP手段有很多……

              • MAY的SEO博客

                我也有同博主一样遇到同样的问题,不过我使用的是阿里云CDN,看不到真实的IP;昨天刚换成百度云CDN,其中有一项设置就能直接显示真实IP。

                  • 闲鱼 【博主】

                    @MAY的SEO博客 百度云CDN能后台设置那真是不错,以前用过阿里云和百度云,现在都不用了

                  • boke112导航

                    使用CDN之后确实需要折腾一下显示真实IP,要不然想分析日志都分析不出问题来。

                      • 闲鱼 【博主】

                        @boke112导航 是的,以前日志没问题,不知道是不是升级的原因,怪只怪没这方面的经验,当做学习了

                      • 青山

                        以前你博客是飞快飞快的,现在稍稍有点卡了

                          • 闲鱼 【博主】

                            @青山 CDN不一样了,而且加了不少百度广告

                              • 也许吧

                                @闲鱼 其实像你的博客最适合谷歌广告或者文字AD了。

                                  • 闲鱼 【博主】

                                    @也许吧 谷歌申请了几次没过就没管它了。 文字广告可以考虑,随后折腾一下看看,主要是现在人都很精明,不会怎么点广告

                              • 码酷博客

                                前天早上你的博客打不开!是啥原因啊!显示一段json

                                  • 闲鱼 【博主】

                                    @码酷博客 可能那时候刚好就是我禁用又拍云IP后导致网站挂了,你们运气都很好 :cool: