我相信有很多站长使用百度云加速的同时使也用宝塔的防火墙,不过如何设置不对就会导致结果是无法正常拦截CC攻击,甚至宝塔防火墙拦截百度节点,出现502,520错误的情况,所以正确实配置很重要。
在打开网站防火墙同时使用百度云加速CDN后可能无法获取到用户的真实IP,那么就无法防御,造成服务器防火墙误封CDN IP的情况。
解决办法是获取真实用户IP
一种方法是获取 header中的 X-FORWARDED-FOR 来判断用户IP,但是众所周知这个字段是可以伪造的.
可靠的方法是获取百度云加速中的 CF-CONNECTING-IP 字段,实测这个字段无法伪造,是百度服务器直接发送到用户服务器,那么我们获取这个字段就可以获取到用户的真实IP
开启cdn后,nginx获取真实IP的方法:
原理:使用Nginx自带的Realip模块获取用户真实IP
修改nginx配置:http{}中添加如下:
然后在网站记录的日志定义使用main这个日志格式
比如:access_log /www/wwwlogs/www.cnzzzj.com.log main;

2、PHP获取使用CloudFlare CDN环境下的访客真实IP
以上就是获取百度云加速环境下真实IP功能教程
最后我们再进入宝塔防火墙设置
步骤:
打开网站防火墙->使用cdn->添加HEADER,把cf-connecting-ip加进去,原来的x-forwarded-for 和x-real-ip都删掉
完工,这样宝塔的防火墙就能利用百度云加速传递过来的真实访客IP对攻击者进行封禁

最后我们还是需要把百度云加速的各个IP段加到宝塔防火墙白名单里,以防止被防火墙误杀。