怎么处理宝塔面板免费WAF拦截了正常的API请求_查看拦截日志并添加误报URL至白名单

轻墨君_6881

轻墨君_6881

2026-04-06

439人浏览

原创

可通过查看/www/wwwlogs/waf_logs/下按日志文件(如waf_2024-06-15.log),用jq解析JSON日志定位被拦截的API请求及触发规则;白名单需手动编辑/www/server/panel/vhost/wafconf/whiteurl.conf,写PCRE正则(如^/api/v2/user/profile$),注意权限、路径匹配和大小写敏感问题。

怎么处理宝塔面板免费waf拦截了正常的api请求_查看拦截日志并添加误报url至白名单

怎么看宝塔免费WAF拦截了哪个API请求

宝塔免费版 WAF 拦截后,HTTP 403 响应体里通常不带具体原因,直接返回“访问被拒绝”,所以得查日志定位。关键路径是:/www/wwwlogs/waf_logs/,里面按天生成日志文件,比如 waf_2024-06-15.log。

每条日志是 JSON 格式,用 tail -n 50 /www/wwwlogs/waf_logs/waf_$(date +%Y-%m-%d).log | jq -r '.url + " | " + .rule'(需先 yum install -y jq)可快速看最近拦截的 URL 和触发规则。常见误报规则名如 sql_inject、xss_check、user_agent_attack —— 注意不是所有都代表真实攻击,比如带 select%20* 的查询参数可能只是前端调试用。

怎么在宝塔免费WAF里加白名单(只针对特定URL)

免费版 WAF 不支持图形界面添加白名单,必须手动编辑配置文件。核心配置在:/www/server/panel/vhost/wafconf/ 下的 whiteurl.conf(不存在就新建)。

白名单规则是正则匹配 URL 路径(不含域名和 query 参数),格式为每行一条 PCRE 正则,例如:

^/api/v2/user/profile$
^/api/webhook/.*$

注意点:

  • 开头必须有 ^,结尾推荐加 $,避免误匹配(比如 /api/test 匹配到 /api/test2)
  • 不要写完整 URL(如 https://xxx.com/api/xxx),WAF 只处理 REQUEST_URI 部分
  • 如果 API 带 query 参数(如 ?format=json),白名单里不用管参数,WAF 白名单只校验路径
  • 改完后执行 bt 18(重载 WAF)或重启 Nginx:systemctl restart nginx

为什么加了白名单还是被拦?常见坑点

最常踩的不是正则写错,而是规则没生效或匹配逻辑被绕过:

  • whiteurl.conf 文件权限不对(应为 644,属主 www),WAF 加载失败时无提示
  • 规则写在了错误位置:必须放在 /www/server/panel/vhost/wafconf/,不是站点根目录或 Nginx 配置里
  • 用了大小写敏感匹配:默认 PCRE 是区分大小写的,/API/xxx 不会匹配 /api/xxx,需要加 (?i) 前缀,如 (?i)^/api/.*$
  • WAF 规则优先级高于白名单:如果某条规则标记为 block 且 priority=100,而白名单 priority 默认较低,可能仍被拦截(不过免费版不开放 priority 调整)
  • 部分请求被 CDN 或前置代理(如 Nginx 自定义规则)提前拦截,根本没走到宝塔 WAF —— 先确认请求是否真进了 WAF 日志

有没有更稳妥的临时绕过方式(慎用)

仅限调试,不建议长期使用:

  • 临时关闭该站点的 WAF:在宝塔面板 → 网站 → 设置 → WAF → 关闭开关(但会整体失效,不推荐)
  • 用 Nginx if 判断 User-Agent 或请求头绕过:在站点配置的「配置文件」里加一段(放在 location / 内):
    if ($request_uri ~ ^/api/v2/.*) { set $waf_status "off"; }
    ,再配合 WAF 的 if ($waf_status = "off") { ... } 逻辑(需确认你用的 WAF 版本支持该变量)
  • 把误报参数改成 Base64 编码传参(如 data=eyJ1c2VyIjoiYWQi...),避开关键字检测,后端再解码 —— 这招对简单 SQL/XSS 规则有效,但增加维护成本

白名单正则看似简单,但路径边界、大小写、文件加载时机这三个点,90% 的失败都卡在这儿。别急着改多条,先用一条最精确的路径验证是否生效,再逐步扩展。

大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Docker Desktop怎么设置端口映射
Docker Desktop怎么设置端口映射

本专题聚焦Docker Desktop容器端口映射与访问配置,整理从创建容器、设置端口绑定到验证本地服务访问的操作流程。针对端口被占用、映射配置错误、容器服务无法访问等情况,也提供相应的检查方向,方便用户完成端口配置。

2026.11.03

0

18

Docker Desktop镜像构建教程
Docker Desktop镜像构建教程

想使用Docker Desktop将本地项目构建成Docker镜像?本专题围绕镜像构建的实际操作展开,介绍Dockerfile编写、构建命令使用、镜像标签设置和构建日志查看等内容,同时整理镜像无法生成、依赖安装失败及构建缓存异常等问题的排查思路。

2026.11.03

0

11

Docker Desktop容器创建指南
Docker Desktop容器创建指南

本专题聚焦Docker Desktop容器创建与运行配置,介绍通过本地镜像或远程镜像创建容器的方法,以及容器启动、终端访问、日志查看和基础管理等操作。针对端口冲突、参数配置不当、容器无法启动等情况,也整理了相应的排查方向。

2026.11.03

0

11

Tailwind CSS 如何制作导航栏和卡片
Tailwind CSS 如何制作导航栏和卡片

用 Tailwind CSS 制作导航栏和卡片,可先搭建语义化结构,再组合 Flex、Grid、间距、圆角与阴影类。这里整理横向导航、移动端菜单、卡片网格及悬停效果的相关文章,帮助你把常见页面组件做得清晰且适配不同屏幕。

2026.11.03

0

17

Tailwind CSS 响应式布局怎么写
Tailwind CSS 响应式布局怎么写

Tailwind CSS 响应式布局通常从移动端样式写起,再用 sm、md、lg 等前缀调整不同屏幕宽度下的网格、间距和导航。本专题整理断点配置、Grid 与 Flex 自适应布局及常见溢出问题,帮助你逐步完成多设备适配。

2026.11.03

0

19

Tailwind CSS 常用类名怎么记
Tailwind CSS 常用类名怎么记

Tailwind CSS 类名很多,先按布局、间距、文字、颜色和状态分组记忆,再通过官方文档检索具体写法。本专题结合类名排序、动态拼接失效、自定义实用类等问题,帮助你建立常用类名的速查方法。

2026.11.03

0

12

码上飞入口地址合集
码上飞入口地址合集

本专题汇总了码上飞(CodeFlying)的官方入口地址合集,涵盖官网主站及网页版在线使用入口,支持注册登录后直接在线体验零代码AI应用生成。同时整理了APP端下载渠道与小程序入口,助你快速访问平台,通过自然语言描述需求即可生成应用、小程序或网站。

2026.11.03

0

10

Uvicorn 报错与问题解决教程
Uvicorn 报错与问题解决教程

本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。

2026.11.02

20

14

Uvicorn使用教程
Uvicorn使用教程

本专题汇总了Uvicorn使用教程与启动运行指南,涵盖其作为Python ASGI服务器的定位与特点,以及命令行启动(uvicorn main:app --reload)、参数配置(host/port/workers)、程序内嵌运行与Gunicorn结合部署等核心用法。同时整理了热重载调试、日志配置与生产环境部署优化等技巧,助你快速掌握Uvicorn的运行与配置。

2026.11.02

40

17

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习