9元阿里云服务器 限时优惠

香港阿里云服务器 288元/年

wordpress 使用BT面板+百度云加速后,如何获取真实IP地址

问题描述:

某客户反应使用BT面板和百度云加速创建个人博客后,Wordpress在后台无法获取到真实的用户IP地址,只能获取百度云加速节点的地址,在BT面板的Nginx防火墙内开启CDN选项也无法获取。

问题分析:

  • 网站使用百度云加速等CDN产品,如果直接通过$remote_addr来获取地址,只能取到节点地址,无法获取真实地址。对于使用nginx服务端的云服务器来讲,百度云加速需要通过X-Forwarded-For来获取真实地址。
  • 在BT面板的Nginx防火墙内开启CDN选项只是让Nginx防火墙能获取到真实地址,wordpress依然无法获取到。

解决方案:

要让Wordpress获取到真实地址有两个思路:

  1. 修改Wordpress代码,让程序从X-Forwarded-For获取真实地址
  2. 修改nginx配置,让nginx直接获取到真实地址

方案一只能解决单一站点的问题,而方案二则一劳永逸,以后创建任何站点都不会再出现获取不到真实地址的情况。和客户沟通后,决定实施方案二。

实施步骤:

第一步:确定Nginx有没有安装Real ip模块
宝塔面板安装Nginx时已默认加载了Realip模块
1616752333-kehfer
第二步:修改Nginx配置文件
在Nginx中添加如下配置:
1616752494-sjehdle
第三步:重新加载并重启Nginx
重载配置和重启Nginx,使配置生效
1616752601-mendhr
第四步:Wordpress后台已能正确获取真实IP地址
验证获取真实IP地址,已经不再是百度云加速节点地址了
1616752777-kejrf

发表评论

Scroll to Top