# 宝塔防火墙是怎么回事？拦截解除教程与WAF配置避坑指南

> “宝塔防火墙”通常指广东堡塔安全技术有限公司研发的宝塔面板Web应用防火墙（Nginx/Apache WAF）或系统级防火墙。网页显示宝塔防火墙拦截，说明触发了CC高频访问、SQL注入或敏感词规则；站长可在面板「软件商店」进入防火墙插件放行IP或调整阈值。

- 分类: 功能插件
- 发布: 2026-10-28
- 更新: 2026-10-28
- 原文: https://pay.baota.in/article/bt-waf-guide

“宝塔防火墙”通常指广东堡塔安全技术有限公司研发的宝塔面板Web应用防火墙（Nginx/Apache WAF）或系统级端口防火墙。当网页显示拦截页面时，说明请求触发了CC高频访问、SQL注入或地域限制规则；站长可在「软件商店 → 已安装 → Nginx防火墙」中解封IP并调优阈值。

## 宝塔防火墙是怎么回事？所属公司与两类防火墙核心区别

许多初次接触服务器运维的用户或被拦截的普通访客常会搜索“**宝塔防火墙是哪个公司的**”。从研发主体来看，该组件由**广东堡塔安全技术有限公司**（即宝塔服务器面板研发方）开发维护，是国内Linux与Windows建站环境中装机量极高的安全防护模块。

在日常运维语境下，“宝塔防火墙”实际上包含两个完全不同层级的安全组件，排查问题前必须先明确区分：

1. **系统级防火墙（免费版自带）**：位于面板左侧导航栏的「安全」菜单。它本质上是Linux底层 `firewalld`、`ufw` 或 `iptables`（以及Windows高级安全防火墙）的可视化管理界面，工作在网络层与传输层（TCP/UDP），主要用于控制SSH、HTTP、HTTPS、MySQL等端口的开放与关闭，或针对特定IP进行全端口拉黑。
2. **Web应用防火墙（Nginx/Apache WAF，专业版/企业版专属插件）**：位于「软件商店 → 专业版插件 / 企业版插件」中。它基于 `lua-nginx-module`（OpenResty底层）或Apache过滤模块工作在HTTP/HTTPS应用层，专门负责解析网页请求中的URL参数、POST表单、Cookie、User-Agent，用于拦截SQL注入、XSS跨站脚本、WebShell一句话木马上传以及CC高频刷新攻击。

当你在浏览器访问某个站点，看到带有盾牌图标、提示“您的请求带有不合法参数，已被网站管理员设置拦截”的页面时，这就是典型的**网页显示宝塔防火墙**（即应用层WAF插件生效）。触发该拦截页的核心机制主要有以下四类：

- **CC攻击防御触发**：单个IP在设定的时间窗口内请求HTML动态页面或API接口的次数超过了站长设定的上限（例如网页未做动静分离，单次打开加载了过多小图标或JS切片）。
- **GET/POST参数命中危险特征**：URL或表单提交内容中包含 `select`、`union`、`../`、`eval(` 等疑似SQL注入、目录遍历或跨站脚本攻击的特征字符。
- **User-Agent与爬虫特征异常**：使用Python `requests`、采集器、空UA或携带被列入黑名单的扫描器标识（如 `sqlmap`、`nikto`）访问网站。
- **地域或海外访问限制**：站长在WAF中开启了“禁止海外访问”或特定地区屏蔽，而访客正挂着代理节点或使用非白名单地区的网络。

如果你需要构建从网络层到应用层的完整防御体系，可以结合阅读本站整理的[宝塔面板生产环境安全加固与防篡改全景指南](/guide/baota-security-waf-hardening-guide)。

## 网页显示宝塔防火墙怎么解除？访客与站长排查放行教程

针对“**宝塔防火墙解除教程**”这一高频需求，我们需要分“普通网页访客”和“网站服务器管理员（站长）”两种身份给出具体解决路径。

### 普通访客遇到网页被拦截的自救方法

如果你只是浏览他人网站时弹出拦截提示，你并没有该服务器的后台权限，请按以下步骤排查恢复：

1. **关闭代理与VPN工具**：许多站点为防海外肉鸡扫描开启了“禁止海外IP访问”，请切换回国内正常家庭宽带或移动网络后重试。
2. **清除当前站点的浏览器Cookie**：有时浏览器缓存的旧Session或第三方插件注入的特殊字符会触发WAF的Cookie过滤规则。打开浏览器开发者工具，在应用存储设置中清空该域名下的Cookie。
3. **停止高频刷新或关闭多线程下载插件**：如果触发的是CC防御，页面通常会提示暂时封锁。停止访问并等待一段时间（或重启光猫更换公网IP / 切换手机热点），封锁倒计时结束后即可自动恢复。

### 站长后台精准解除与白名单放行步骤

如果你是服务器管理员，发现自己或正常客户被WAF误拦，切勿直接粗暴关闭整个防火墙插件，应按以下面板路径精准放行：

1. **定位误杀日志**：登录面板，依次点击「软件商店 → 已安装 → Nginx防火墙（或Apache防火墙） → 封锁历史 / 网站日志」。在日志列表中找到被拦截的时间点、客户端IP、被拦截的URL以及具体的“拦截规则名称”（如 `args`、`post`、`cc`）。
2. **一键解封IP**：在「封锁历史」页面右侧，找到被误封的正常访客IP，直接点击「解封」（若有联动CDN，同时点击「从CDN解封」）。
3. **添加IP白名单或URL白名单**：
   - 若公司办公网固定IP经常多人同时操作后台触发CC，进入「全局配置 → IP白名单」，将办公网IP段填入。
   - 若某个特定业务接口（如富文本提交接口 `/admin/article/save`）频繁触发POST规则误杀，进入「全局配置 → URL白名单」，将该接口相对路径加入白名单。

:::warn
避坑注意事项：如果你的网站接入了微信支付、支付宝或第三方聚合支付，开启WAF后务必第一时间在「Nginx防火墙 → 全局配置 → URL白名单」中放行支付异步回调地址（如 `/pay/notify`、`/api/payment/callback`）。否则支付平台的回调请求极易因高频或携带加密签名参数被WAF当成CC攻击或注入拦截，导致用户付款成功但订单状态不更新（掉单）。
:::

## 宝塔面板防火墙设置在哪里？开启路径与防误伤阈值实战

很多新手站长在升级或接手服务器后，经常找不到“**宝塔面板防火墙设置在哪里**”。这里将两套防护的完整点击路径与生产环境防误伤配置清单整理如下：

- **系统端口防火墙路径**：面板左侧导航栏「安全 → 防火墙」。在此处管理端口放行规则（如放行Web常用端口，修改并限制SSH端口仅特定IP可连）。
- **Web应用防火墙（WAF）路径**：「软件商店 → 专业版插件（或企业版插件） → Nginx防火墙 → 设置」。

在进入Nginx防火墙的配置界面后，默认的参数往往偏保守或在某些高并发场景下容易误伤。建议运维人员按照以下实战经验微调关键阈值：

### 1. CC防御周期与频率阈值（防正常访客误封）

点击「站点配置 → 找到对应域名 → CC防御」：
- **新手常见误区**：将周期设得过长而频率阈值设得过低（例如周期设60秒、频率仅设二三十次）。一旦某个网页包含较多未合并的CSS/JS或图片，或者用户连续点击几个商品页，瞬间就会突破请求上限被拉黑。
- **生产环境建议阈值**：对于常规CMS（WordPress、PbootCMS、帝国CMS等），建议将**周期设为 `60` 秒，频率设为 `120` ~ `180` 次，封锁时间设为 `300` ~ `600` 秒**。
- **开启CDN后的必做设置**：如果域名套了阿里云、腾讯云或Cloudflare等CDN，**必须**在对应站点的WAF配置中勾选「开启CDN」按钮！否则WAF获取到的全部是CDN回源节点的IP，一旦触发CC规则，WAF会直接把CDN节点IP封死，导致全站所有访客全部无法访问（出现网关错误）。关于CC攻击的深度策略，可参考[宝塔面板网站遭遇CC攻击怎么防？Nginx防火墙WAF配置与拦截策略指南](/article/bt-waf-cc-attack-defense-guide)。

### 2. 富文本编辑器与后台保存防误伤（POST与XSS规则）

站长在网站后台发布文章、粘贴带有富文本排版样式的代码，或修改网站全局模板时，经常遇到点击“保存”直接弹出宝塔防火墙拦截页。这是因为提交的排版标签命中了WAF内置的 `post` 或 `args` 过滤规则。

- **解决操作路径**：进入「Nginx防火墙 → 站点配置 → 点击对应域名右侧的设置 → POST过滤」。
- **调优方法**：在观察日志确认是哪条正则规则（例如匹配了 `style=`、`iframe` 或特定SQL关键字）导致误拦后，不要关闭整个POST过滤开关，而是直接点击该条具体规则右侧的「状态开关」将其单独关闭；或者将该后台管理目录（如 `/wp-admin/`）配置为仅限管理员IP访问并加入URL白名单。

## 配置完成后如何用命令与日志核实WAF功能真实生效？

在面板中开启开关后，专业的运维人员不会仅凭界面上的绿色“已开启”图标就认为万无一失。有时因为Nginx配置重载失败或Lua模块未正确挂载，WAF可能处于未挂载状态。你可以通过以下三种方式核验其真实生效情况：

### 1. 检查Nginx配置与模拟攻击测试

在Nginx主配置或WAF挂载配置中，正常启用时会包含如下Lua引用片段：

```nginx
luajit_waf_path /www/server/btwaf/;
access_by_lua_file /www/server/btwaf/init.lua;
```

在SSH终端中我们可以使用标准 `bt` 命令检查面板服务状态，并查看实际拦截日志目录：

```bash
bt
```

在浏览器或外部测试机访问带有敏感参数的URL，例如在你的网址后加上 `/?id=1%20and%201=1` 或 `/?file=../../etc/passwd`。如果网页立即返回禁止访问状态码并展示宝塔防火墙的拦截提示页，且面板首页的“今日拦截次数”自动增加，说明应用层过滤已真实生效。

### 2. 核查底层拦截日志文件

宝塔Nginx防火墙的所有拦截明细与运行数据均保存在服务器本地磁盘中：
- **核心Lua脚本与规则库目录**：`/www/server/btwaf/`（包含 `config.json`、`rule/` 下属的 `args.json`、`post.json`、`cc.json` 等）。
- **各站点独立拦截日志目录**：`/www/wwwlogs/btwaf/`。每次触发拦截，系统都会以JSON格式将攻击者IP、请求头、命中规则写入对应域名的 `.log` 文件中，可在面板直接可视化审阅。

:::tip
实用技巧：如果不慎将自己的公网IP锁死在面板防火墙或安全入口之外，导致连宝塔后台都进不去，可以先通过SSH终端执行 `curl ip.sb` 确认当前公网IP，或输入 `bt` 调出面板命令行工具箱重置登录限制；若因WAF误封导致无法访问站点，可直接清理 `/www/server/btwaf/drop_ip.log` 中的对应记录并重载Nginx。
:::

## 免费版系统防火墙与专业版/企业版WAF插件怎么选？

很多站长在建站初期都会纠结：到底用免费版自带的安全组件就够了，还是有必要升级专业版/企业版开启商业WAF？下表从防护层级、性能损耗与运维成本几个维度进行了客观对比：

| 对比维度 | 宝塔免费版系统防火墙（安全菜单） | 手动编译开源 Lua WAF（如 ngx_lua_waf） | 宝塔专业版/企业版 Nginx/Apache 防火墙（WAF） |
| :--- | :--- | :--- | :--- |
| **工作层级与原理** | 网络层/传输层（基于 `firewalld` / `ufw`） | 应用层（需手动重编译Nginx挂载Lua脚本） | 应用层深度解析（官方集成OpenResty Lua引擎） |
| **核心防护能力** | 端口开关控制、指定IP/IP段全端口封禁 | 基础SQL注入、简单正则匹配拦截 | 防CC攻击、防SQL注入/XSS、防恶意爬虫、防一句话木马上传、地区屏蔽 |
| **可视化与排障体验** | 仅展示端口列表，无Web请求日志 | 纯文本日志，误杀排查需翻阅代码与正则 | 图形化封锁历史、一键解封IP、分站点独立开关与URL白名单 |
| **CDN回源真实IP识别** | 不支持（封禁IP会直接封死CDN节点） | 需手动编写 `http_x_forwarded_for` 解析逻辑 | 面板内一键勾选「开启CDN」自动提取访客真实IP |
| **获取方式与授权形式** | 宝塔免费版内置（无需授权费用） | 代码开源，但极耗费运维调试与升级工时 | 需开通专业版或企业版授权（本站固定IP永久版 ¥19.99/台） |

### 客观选型边界：什么情况下免费版就完全够用？

作为长期服务一线站长的技术平台，我们建议按实际业务风险做理性决策，无需盲目追求高配：

- **免费版完全够用的场景**：如果你的服务器仅用于运行纯静态HTML企业展示站、个人内部测试环境，或者你的域名已经全量接入了具备商业WAF防护的高防CDN（并且在云服务器安全组中严格限制了Web端口仅允许CDN回源IP段访问，彻底隐藏了源站IP），那么宝塔免费版自带的「安全」系统防火墙配合云厂商安全组就已经完全够用，无需额外付费开启WAF插件。
- **建议启用专业版/企业版WAF的场景**：当你的服务器直接暴露源站公网IP、运行着WordPress/Discuz/商城/API接口等动态PHP或Java程序、频繁遭遇同行CC肉鸡刷新导致CPU跑满报错，或者需要结合企业版「网站防篡改」插件锁死核心目录防止反复被挂暗链木马时，启用商业级WAF能节省大量手动写正则与查日志的时间。关于各版本的详细差异，可查阅[宝塔面板免费版够用吗？专业版与企业版核心区别及选型指南](/article/bt-free-vs-pro-enterprise-version-choice)以及[宝塔永久企业版与专业版完全选型指南（总览）](/guide/baota-enterprise-complete-guide)。

### 附：如何无损升级解锁宝塔WAF防火墙插件？

如果你当前使用的是Linux免费版面板（当前最新同步版本为 v13.1.0），决定开启Nginx网站防火墙与防篡改等插件，无需重装系统或重新部署网站。在本站绑定服务器公网IP开通授权后（固定IP永久授权为 ¥19.99/台；支持换绑 10 次的可换IP永久授权为 ¥88.88/台），只需在服务器SSH终端执行以下无损在线升级命令：

```bash
setsid bash -c "curl -s https://baota.in/install/update6.sh | bash" &
```

如果是全新Linux服务器首次安装企业版/专业版，则可在绑定IP后直接执行：

```bash
curl -sSO https://baota.in/install/install_panel.sh && bash install_panel.sh
```

针对Windows Server服务器（当前版本 v8.5.2）或海外国际版 aaPanel PRO（当前版本 v8.0.7），也可随时参考配套文档 [https://baota.in/tutorial.html](https://baota.in/tutorial.html) 获取对应的安装与无损升级脚本。执行完毕后刷新面板，即可在「软件商店」直接安装并启用Nginx/Apache网站防火墙。

## 依据与适用范围

- 企业版与专业版核心插件矩阵: 开通宝塔企业版或专业版授权后，可在面板「软件商店 → 专业版插件 / 企业版插件」中直接安装与管理专属插件，包括网站防火墙（Nginx/Apache WAF）、网站防篡改、网站监控报表、企业级防灾备份、数据同步工具、系统加固、木马查杀、负载均衡等。
  来源: https://docs.bt.cn/
- 四大产品线：永久专业版、企业版、Linux、Windows、aaPanel PRO: 本站支持四大核心产品线授权开通：宝塔 Linux 专业版与企业版（当前版本 v13.1.0，适用 Ubuntu/Debian/CentOS 等）、宝塔 Windows 专业版与企业版（当前版本 v8.5.2，适用 Windows Server）、aaPanel PRO 版（当前版本 v8.0.7，国际英文版）。各版本均支持全新安装或从免费版无损在线升级。
  来源: https://pay.baota.in/
- 官方配套安装与无损升级教程文档: 本站配套的安装与升级实操文档为 https://baota.in/tutorial.html，包含宝塔 Linux 企业版/专业版、Windows 企业版/专业版及 aaPanel PRO 版的全新安装（3 步）与免费版无损升级（2 步）标准命令。
  来源: https://baota.in/tutorial.html
- 本站产品覆盖与永久授权服务: 本站提供宝塔永久专业版与企业版、Linux 专业版与企业版、Windows 专业版与企业版以及国际英文版 aaPanel PRO 的授权开通、订单查询与可换 IP 自助换绑服务。绑定服务器公网 IPv4 后即可解锁对应版本的专业版与企业版插件功能。
  来源: https://pay.baota.in/
- 免费版、专业版、企业版与 aaPanel PRO 版本定位差异: 宝塔面板分为免费版、专业版与企业版（含 Linux 版、Windows 版）以及国际版 aaPanel PRO：免费版提供基础 LNMP/LAMP 建站环境；专业版解锁 WAF 防火墙与监控报表等进阶插件；企业版涵盖专业版全部能力并进一步开放网站防篡改、多云防灾备份、数据同步工具、负载均衡等企业级安全与运维插件。
  来源: https://www.bt.cn/new/linuxent.html
- 宝塔 Linux 免费版无损升级企业版/专业版命令: 宝塔 Linux 免费版无损升级企业版/专业版：无需重装系统或面板，在已安装宝塔的服务器 SSH 终端执行 `setsid bash -c "curl -s https://baota.in/install/update6.sh | bash" &`，脚本后台完成平滑升级，保留原有网站、数据库与配置，完成后刷新面板即可使用企业版插件。
  来源: https://baota.in/tutorial.html
- 宝塔 Linux 专业版/企业版全新安装命令: 宝塔 Linux 专业版/企业版全新安装：先在本站绑定服务器公网 IP 开通授权，再通过 SSH 连接服务器（root 权限）执行 `curl -sSO https://baota.in/install/install_panel.sh && bash install_panel.sh`，安装完成后在云安全组放行面板端口并用输出的完整安全入口地址登录。
  来源: https://baota.in/tutorial.html
- bt 命令行管理工具箱: Linux 面板与 aaPanel 在服务器 SSH 终端输入 `bt` 命令即可调出面板管理菜单（支持查看面板完整地址、重置面板管理员密码、修改端口、清除登录限制等，具体编号以当前版本显示为准）。
  来源: https://baota.in/tutorial.html
- 固定 IP 永久授权套餐: 本站固定 IP 永久授权当前单价为 ¥19.99/台，一次付费无月费，绑定所填写的服务器公网 IPv4；适合服务器公网 IP 长期保持不变的建站与生产环境（不包含自助换 IP 权益）。
  来源: https://pay.baota.in/
- 可换 IP 永久授权套餐与换绑规则: 本站可换 IP 永久授权当前单价为 ¥88.88/台，一次付费无月费。新订单默认每个 IP 可自助更换 10 次，购买时设置 4–12 位换 IP 密码，换机或迁移机房时可随时自助迁移绑定 IP；历史订单以原订单记录的剩余额度为准。
  来源: https://pay.baota.in/change-ip

## 常见问题

### 正常访问别人网站时网页显示宝塔防火墙拦截，普通用户怎么解决？

这是因为您的访问行为或网络环境触发了目标站点的WAF规则。普通访客请先关闭VPN或海外代理工具（很多国内网站开启了禁止海外IP访问），清除浏览器缓存与Cookie，停止高频刷新网页；若已被暂时封锁IP，可等待一段时间自动解封，或切换手机移动网络/重启路由器更换IP后再访问。

### 宝塔Nginx防火墙开启后网站后台编辑文章保存失败（报拦截页）怎么处理？

这是由于富文本编辑器提交的排版标签或样式代码命中了WAF的POST/XSS过滤规则。站长请登录宝塔面板，进入「软件商店 → 已安装 → Nginx防火墙 → 网站日志」查看刚刚被拦截的具体规则名称，然后在对应站点的「POST过滤」中单独关闭该条误杀规则，或将后台保存接口路径加入「URL白名单」。

### 卸载或关闭宝塔防火墙后，之前被WAF封锁的IP会自动解封吗？

如果只是在宝塔Nginx防火墙插件中触发的应用层封锁（记录在插件封锁历史中），关闭WAF开关或重启Nginx后即刻失效解封；但如果勾选了“联动系统防火墙封锁”或通过左侧「安全」菜单拉黑了IP，规则会被写入系统底层的firewalld/ufw中，需前往面板「安全」菜单手动删除对应的IP屏蔽规则。

### 宝塔防火墙是哪个公司的？安全可靠吗？

宝塔防火墙由广东堡塔安全技术有限公司（即宝塔面板研发团队）开发并持续更新规则库。它基于成熟的OpenResty（ngx_lua）模块与系统底层防火墙构建，规则文件全部存放在服务器本地 `/www/server/btwaf/` 目录下，站长可随时查阅或自定义规则，安全透明且资源占用极低。

