当前位置:论坛首页 > Linux面板 > 求助

【已完成】Nginx防火墙的访问者ip问题

发表在 Linux面板2023-10-11 23:48 [复制链接] 5 507

为了能快速了解并处理您的问题,请提供以下基础信息:
面板、插件版本:

bt面板8.0.3 Nginx防火墙 9.2.1
系统版本:

Debian12
问题描述:

情况是这样的,我服务器开了一台虚拟机安装宝塔并安装了nginx防火墙,网站设置开启了cdn那个选项然后我又开了一个虚拟机安装了一个waf软件,访问情况是这样的:用户 ->cdn节点 ->waf虚拟机 ->源站
然后我模拟了一下攻击,源站的宝塔waf防火墙获取到的访问ip是cdn节点的ip,这种情况就导致了防火墙一直封禁cdn节点
我看过http请求内容,x-forwarded-for有两个ip,第一个是用户真实ip,第二个是cdn节点ip,然后waf是用的第二个ip做访问ip,应该用第一个或者使用x-real-ip的ip才是正确的!
相关截图(日志、错误):

使用道具 举报 只看该作者 回复
发表于 2023-10-12 09:43:58 | 显示全部楼层
您好,这边具体将您的问题反馈咨询了下,您这种情况正常来说是直接开启CDN选项就好了。但是您反馈的是开启了之后也无法获取到X-real-IP的IP,CDN选项内使用获取heard头的,您那边可以尝试将双层的WAF去掉一层看看是否能正常获取到呢?

或者是在Nginx防火墙插件设置内---站点设置----开启兼容百度CDN选项试试
使用道具 举报 回复 支持 反对
发表于 2023-10-12 11:26:03 | 显示全部楼层
谢花郎 发表于 2023-10-12 09:43
您好,这边具体将您的问题反馈咨询了下,您这种情况正常来说是直接开启CDN选项就好了。但是您反馈的是开启 ...

去掉另外的waf机器,直接使用cdn确实是能正常获取到,但是这个不是最优解吧,有没有什么办法让waf插件将x-real-ip标头的ip做为访问者ip,或者x-forwarded-for的第一个ip作为访问者ip
使用道具 举报 回复 支持 反对
发表于 2023-10-12 14:16:42 | 显示全部楼层
宝塔用户_ruyydv 发表于 2023-10-12 11:26
去掉另外的waf机器,直接使用cdn确实是能正常获取到,但是这个不是最优解吧,有没有什么办法让waf插件将x ...

试试直接用兼容百度CDN的那个选项打开看下,CDN选项内是已经把x-real-ip标头设置了的。
使用道具 举报 回复 支持 反对
发表于 2023-10-12 18:12:48 | 显示全部楼层
谢花郎 发表于 2023-10-12 14:16
试试直接用兼容百度CDN的那个选项打开看下,CDN选项内是已经把x-real-ip标头设置了的。 ...

开启兼容百度CDN那个选项确实可以了
使用道具 举报 回复 支持 反对
发表于 2023-10-13 09:17:23 | 显示全部楼层
宝塔用户_ruyydv 发表于 2023-10-12 18:12
开启兼容百度CDN那个选项确实可以了

好的,那就将这个打开即可。
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

企业版年付运维跟进群

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急问题处理

论坛响应时间:10分钟

问题处理方式:1对1处理(优先)

工作时间:白班:9:00 - 18:00

工作时间:晚班:18:00 - 24:00

立即付费处理
快速回复 返回顶部 返回列表