
bunkerity/bunkerweb-uiBunkerWeb 是下一代开源 Web 应用防火墙 (WAF),同时也是一个功能完备的 Web 服务器(基于 NGINX)。它旨在实现“默认安全”,能够无缝集成到现有环境(Linux、Docker、Swarm、Kubernetes 等),并通过可配置的安全特性保护 Web 服务免受各类***。无论是单一 Web 应用还是多站点部署,BunkerWeb 都能提供灵活且强大的安全防护。
BunkerWeb 支持多种集成方式,以下为主要环境的部署指南:
通过环境变量配置 BunkerWeb,需配合调度器(scheduler)容器存储配置。
基本 Docker Compose 示例:
yamlversion: '3' services: bunkerweb: image: bunkerity/bunkerweb:1.5.4 ports: - "80:8080" - "443:8443" environment: - SERVER_NAME=[***] - AUTO_LETS_ENCRYPT=yes - USE_ANTIBOT=captcha - MULTISITE=no volumes: - ./bw-data:/data depends_on: - scheduler scheduler: image: bunkerity/bunkerweb-scheduler:1.5.4 volumes: - ./bw-data:/data environment: - DATABASE_URI=sqlite:////data/db.sqlite3
通过容器标签自动配置,无需重启 BunkerWeb 容器。在 Web 应用容器添加 bunkerweb.* 标签定义配置:
yamlversion: '3' services: bunkerweb: image: bunkerity/bunkerweb:1.5.4 ports: - "80:8080" - "443:8443" environment: - MULTISITE=yes volumes: - ./bw-data:/data autoconf: image: bunkerity/bunkerweb-autoconf:1.5.4 volumes: - ./bw-data:/data environment: - DATABASE_URI=sqlite:////data/db.sqlite3 depends_on: - bunkerweb myapp: image: mywebapp:latest labels: - bunkerweb.server_name=[***] - bunkerweb.auto_lets_encrypt=yes - bunkerweb.use_antibot=captcha
作为 Ingress Controller,通过 Ingress 资源和 ConfigMap 配置:
yamlapiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: myapp-ingress annotations: bunkerweb.io/server-name: "[***]" bunkerweb.io/auto-lets-encrypt: "yes" bunkerweb.io/use-antibot: "captcha" spec: ingressClassName: bunkerweb rules: - host: [***] http: paths: - path: / pathType: Prefix backend: service: name: myapp-service port: number: 80
通过键值对形式的配置项定义 BunkerWeb 行为,例如:
confSERVER_NAME=[***] # 服务器名称 AUTO_LETS_ENCRYPT=yes # 自动申请 Let's Encrypt 证书 USE_ANTIBOT=captcha # 启用验证码反机器人 REFERRER_POLICY=no-referrer # 设置 Referrer 策略
可通过 配置生成工具 生成自定义配置。
默认禁用,仅保护单个应用;启用后可保护多个独立站点,通过服务器名称区分,配置项需添加站点前缀:
confMULTISITE=yes [***] # 仅 [***] 启用验证码 app.example.com_USE_MODSECURITY=no # app.example.com 禁用 ModSecurity
支持 NGINX 和 ModSecurity 自定义配置文件,通过挂载目录或 ConfigMap 注入:
/etc/bunkerweb/custom-http(HTTP 上下文)或 /etc/bunkerweb/custom-server(Server 上下文).conf 文件到 /etc/bunkerweb/modsec-custom提供直观的 Web UI,可管理配置、监控日志、安装插件等。启用方法:
bunkerweb-ui 容器(集成在官方镜像中)UI_PASSWORD 设置访问密码https://<bunkerweb-ip>/ui 登录支持通过插件扩展功能,官方插件包括:
| 名称 | 版本 | 描述 | 链接 |
|---|---|---|---|
| ClamAV | 1.2 | 扫描上传文件是否含***软件 | bunkerweb-plugins/clamav |
| Coraza | 1.2 | ModSecurity 替代方案,基于 Coraza WAF 检查请求 | bunkerweb-plugins/coraza |
| CrowdSec | 1.2 | CrowdSec 联动组件,拦截*** IP | bunkerweb-plugins/crowdsec |
| *** | 1.2 | 通过 Webhook 发送安全通知到 *** 频道 | bunkerweb-plugins/*** |
SERVER_NAME、REVERSE_PROXY_HOST 指向应用,启用 AUTO_LETS_ENCRYPTMULTISITE=yes,为每个站点配置独立服务器名称和规则REAL_IP_FROM 和 REAL_IP_HEADER基于 GNU Affero General Public License (AGPL) v3 开源。






探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务