OpenSource-Hub
B

bunkerweb

10.4k stars·开发工具·已提供 SHA-256 校验码,下载后可自行核对文件完整性

一款基于 NGINX 的开源下一代 Web 应用防火墙(WAF),默认安全,易于集成。

智能下载

前往项目主页

该项目暂未提供安装包,请直接访问源代码仓库

默认安全的 WAF,基于 NGINX,即插即用,带 Web 管理界面。

核心功能

  • 默认安全:开箱即用,提供 HTTPS、安全头、ModSecurity 等核心防护
  • 轻松集成:支持 Linux、Docker、Kubernetes 等多种部署方式
  • 友好 UI:可选 Web 界面管理配置,无需命令行
  • 插件系统:可扩展自定义安全规则和功能
  • 自动封禁:基于 HTTP 状态码自动封锁异常行为

避坑指南

  • 免费版功能完整但部分高级功能(如高级统计、多节点管理)需 PRO 版本;Web UI 默认监听 7000 端口,建议仅内网访问或加密码;配置较复杂时建议先阅读官方文档;如果已有 Nginx 配置,迁移可能需要一定学习成本。

适用场景

  • 保护个人网站、博客或小型企业网站免遭常见网络攻击
  • 为 Docker 或 Kubernetes 中的微服务提供统一的安全网关
  • 替代 Nginx 反向代理,同时获得 WAF 防护能力

详细介绍

BunkerWeb 是一款开源的下一代 Web 应用防火墙(WAF),基于 NGINX,让你的 Web 服务默认即安全。它可以轻松集成到 Linux、Docker、Swarm、Kubernetes 等环境中作为反向代理。核心功能包括:自动 HTTPS(Let's Encrypt)、ModSecurity + OWASP 核心规则集、自动封禁异常行为、客户端连接/请求限制、通过验证码/JS/人机验证等方式拦截机器人、IP 黑名单、DNSBL 等。支持命令行和美观的 Web UI 配置,还有插件系统可扩展功能。基于 AGPLv3 开源协议,可自由使用、修改和分发。另有专业版云服务可选。

常见问题与排障 (2)

故障排除
如何修复 BunkerWeb 中出现的 'No migration file found for database version: 1.6.11~rc1' 错误?

该错误是由于版本 1.6.11~rc1 被错误地暴露为升级目标所致。解决办法:停止调度器,更新数据库中的版本号,然后重新启动。

1. 停止调度器:
- Docker:docker compose stop bw-scheduler
- Linux:sudo systemctl stop bunkerweb-scheduler
2. 连接到您的 BunkerWeb 数据库(例如,Docker 环境下使用 docker compose exec bw-db mysql -u bunkerweb -p bunkerweb,或直接使用 sqlite3/mysql),然后执行:

UPDATE bw_metadata SET version = '1.6.11' WHERE id = 1;

3. 重新启动调度器:
- Docker:docker compose start bw-scheduler
- Linux:sudo systemctl start bunkerweb-scheduler

来源 Issue #3601
故障排除
为什么在 BunkerWeb 中 nginx 配置测试失败,出现 'invalid number of arguments in client_body_timeout' 错误?

在BunkerWeb 1.6.9中,若未显式定义超时设置(如client_body_timeout),其可能默认为空值,导致nginx配置测试失败。临时解决方案:将对应环境变量设置为有效时长(例如'60s')。在Docker run命令或服务定义中添加 -e CLIENT_BODY_TIMEOUT=60s -e CLIENT_HEADER_TIMEOUT=60s -e KEEPALIVE_TIMEOUT=60s -e SEND_TIMEOUT=60s。此缺陷已被记录在issue #3450中,并将在未来版本中修复。

来源 Issue #3450

标签

wafsecuritynginxfirewallweb-application-firewallopen-sourcereverse-proxy

快速上手

1

下载安装包

点击上方按钮下载对应系统的安装包

2

安装软件

双击下载的安装程序,按提示完成安装

3

步骤1:根据你的环境选择安装方式(Docker 最简单:docker run -d -p 80:80 -p 443:443 bunkerity/bunkerweb)

4

步骤2:访问 http://your-server:7000 打开 Web UI,按向导完成初始配置

5

步骤3:将你的域名 DNS 解析到服务器,BunkerWeb 会自动申请 Let's Encrypt 证书

安装指引
  1. 步骤1:根据你的环境选择安装方式(Docker 最简单:docker run -d -p 80:80 -p 443:443 bunkerity/bunkerweb)
  2. 步骤2:访问 http://your-server:7000 打开 Web UI,按向导完成初始配置
  3. 步骤3:将你的域名 DNS 解析到服务器,BunkerWeb 会自动申请 Let's Encrypt 证书
文件完整性

暂未获取到校验码

该项目暂未在 GitHub Release 页面提供 SHA-256 校验码

SHA256 校验码

暂无校验码

建议从 GitHub Releases 页面直接下载,并自行核对文件完整性

本平台所有 SHA-256 校验码均提取自项目在 GitHub 官方 Release 页面发布的文件,未做任何修改。你可以通过 GitHub Releases 页面自行验证。

运维指引

卸载说明

如果通过 Docker 安装,执行 docker stop bunkerweb && docker rm bunkerweb 并删除配置文件目录;Linux 安装则卸载对应的包或删除安装目录;Kubernetes 则删除对应 namespace 下的资源。

无额外依赖

下载后即可直接使用,无需安装其他运行环境

项目信息
开源协议AGPL-3.0
最后更新2026-06-26 22:35:22
GitHub 仓库官方网站

遇到问题?查看下方 FAQ

2 FAQs

相似推荐