You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mod Security的HTTP:BL规则是否需针对手机浏览器做特殊配置?

问题解答

HTTP:BL规则本身不存在适配手机浏览器的问题,也不需要针对手机端做额外的差异化配置。该规则的校验逻辑是基于请求发起端的真实公网源IP,和终端类型、浏览器UA没有任何关系。

你遇到的两端拦截表现不一致,核心排查方向如下:

  • 首先确认两端出口公网IP是否一致:你在Ubuntu虚拟机的Firefox中访问能触发Forbidden拦截,说明当时虚拟机发起请求的出口公网IP命中了HTTP:BL的恶意IP库。手机访问时如果使用的是蜂窝移动网络、或者连接了和虚拟机不同的WiFi,出口公网IP和虚拟机不在同一网段、也不在HTTP:BL的恶意IP列表里,自然不会触发拦截。需要特别注意:你测试URL里拼接的?ID=103.50.84.114只是普通的URL查询参数,HTTP:BL规则不会读取这个参数作为校验依据,它的校验对象是TCP连接层面的真实请求源IP。
  • 检查WAF规则是否存在针对性例外:排查你的ModSecurity规则集,有没有配置基于UA的跳过逻辑,比如匹配到包含Mobile标识的UA时,直接关闭规则引擎、跳过IP类校验规则,这类配置会导致手机端的请求直接绕过HTTP:BL检测。
  • 排查两端访问链路的差异:如果手机访问时走了CDN、网页加速、代理服务,一方面请求的真实源IP会被替换为代理节点的IP,导致无法命中黑名单;另一方面如果加速节点已经缓存了站点首页内容,请求根本不会转发到后端ModSecurity处理层,会直接返回缓存的首页,自然不会出现拦截提示。
  • 确认规则的加载生效范围:你贴出的id为900500的配置只是HTTP:BL功能的初始化开关,用来设置哪几类恶意IP需要拦截,并不是实际执行IP查询、拦截动作的规则本体。你需要确认HTTP:BL的实际拦截规则在vhost1.group21.com站点的所有访问路径下都已启用,没有被针对移动端、特定路径的局部配置覆盖失效。

你可以直接对照后端Web服务的访问日志、ModSecurity审计日志定位问题:先找到手机访问对应时间的请求记录,确认请求到达后端时的真实源IP,再查看审计日志中该请求有没有经过HTTP:BL规则校验、具体匹配结果是什么,很快就能找到不拦截的原因。

对应规则配置参考:

SecHttpBlKey (key here)
SecAction "id:900500,\
  phase:1,\
  nolog,\
  pass,\
  t:none,\
  setvar:tx.block_search_ip=0,\
  setvar:tx.block_suspicious_ip=1,\
  setvar:tx.block_harvester_ip=1,\
  setvar:tx.block_spammer_ip=1"

内容的提问来源于stack exchange,提问作者thanya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 08:57:20