
bunkerity/bunkerweb-autoconf
<br /> <br /> <a href="[***]"> </a>
🌐 官网
|
📓 文档
|
👨💻 演示
|
🛡️ 示例
|
💬 聊天
|
📝 论坛
⚙️ 配置工具
|
🗺️ 威胁地图
🛡️ 让默认安全再次伟大!
BunkerWeb是一款下一代开源Web应用防火墙(WAF),基于NGINX构建,兼具全功能Web服务器特性,能为Web服务提供"默认安全"的保护能力。本自动配置助手(Autoconf)是BunkerWeb的关键组件,专为动态环境设计,可监听Docker事件(如容器创建/删除),实时自动配置BunkerWeb实例,无需手动重建容器,实现无缝集成和动态防护。
BunkerWeb强调"集成"而非传统"安装",Autoconf是Docker环境下的核心集成方式,通过监听Docker守护进程事件实现动态配置。
BunkerWeb通过"设置"(环境变量或标签)进行配置,每个设置有唯一名称(如AUTO_LETS_ENCRYPT、USE_ANTIBOT),通过赋值控制功能开关。示例配置:
confSERVER_NAME=[***] # 服务器域名 AUTO_LETS_ENCRYPT=yes # 自动申请Let's Encrypt证书 USE_ANTIBOT=captcha # 使用验证码拦截机器人 REFERRER_POLICY=no-referrer # 引用策略配置 USE_MODSECURITY=no # 禁用ModSecurity USE_GZIP=yes # 启用GZIP压缩 USE_BROTLI=no # 禁用Brotli压缩
可通过config.bunkerweb.io生成配置。
支持通过NGINX配置片段和ModSecurity规则自定义防护策略,满足特殊场景需求。
Autoconf通过监听Docker守护进程事件,读取Web应用容器上的bunkerweb.前缀标签,自动生成BunkerWeb配置并实时应用,无需重启BunkerWeb容器。
docker-compose.yml文件:yamlversion: '3' services: # BunkerWeb实例 bunkerweb: image: bunkerity/bunkerweb:1.5.4 ports: - "80:8080" # HTTP端口 - "443:8443" # HTTPS端口 environment: - MULTISITE=yes # 启用多站点模式 volumes: - bw-data:/data # 持久化数据(证书、日志等) networks: - bw-net restart: always # Autoconf自动配置服务 autoconf: image: bunkerity/bunkerweb-autoconf:1.5.4 volumes: - /var/run/docker.sock:/var/run/docker.sock:ro # 只读挂载Docker守护进程套接字 environment: - BW_INSTANCE=bunkerweb # 指定BunkerWeb服务名称 networks: - bw-net restart: always # 示例Web应用(被保护对象) mywebapp: image: nginx:alpine labels: # BunkerWeb配置标签(前缀bunkerweb.) - "bunkerweb.SERVER_NAME=[***]" # 站点域名 - "bunkerweb.AUTO_LETS_ENCRYPT=yes" # 自动申请证书 - "bunkerweb.USE_ANTIBOT=captcha" # 启用验证码 - "bunkerweb.REVERSE_PROXY_URL=/" # 反向代理路径 - "bunkerweb.REVERSE_PROXY_HOST=[***]" # 后端应用地址 networks: - bw-net volumes: bw-data: networks: bw-net:
bashdocker-compose up -d
Web应用容器需添加bunkerweb.前缀的标签进行配置,常用标签:
| 标签 | 说明 | 示例值 |
|---|---|---|
bunkerweb.SERVER_NAME | 站点域名 | [***] |
bunkerweb.AUTO_LETS_ENCRYPT | 自动申请Let's Encrypt证书 | yes/no |
bunkerweb.USE_ANTIBOT | 机器人防护方式 | captcha/hcaptcha等 |
bunkerweb.REVERSE_PROXY_URL | 反向代理路径 | /或/api |
bunkerweb.REVERSE_PROXY_HOST | 后端服务地址 | [***] |
添加第二个Web应用容器,通过不同标签区分配置:
yamlmysecondapp: image: httpd:alpine labels: - "bunkerweb.SERVER_NAME=app.example.com" # 第二个站点域名 - "bunkerweb.AUTO_LETS_ENCRYPT=yes" # 自动证书 - "bunkerweb.USE_ANTIBOT=javascript" # 使用JS验证机器人 - "bunkerweb.REVERSE_PROXY_URL=/" - "bunkerweb.REVERSE_PROXY_HOST=[***]" networks: - bw-net
Autoconf会自动检测并配置两个独立站点。
通过挂载配置文件或使用CUSTOM_CONF_*标签添加自定义NGINX配置,例如:
yamllabels: - "bunkerweb.CUSTOM_CONF_SERVER_1=location /admin/ { deny all; }" # 禁止访问/admin路径
BunkerWeb支持插件扩展功能,如ClamAV病毒扫描、CrowdSec联动等,通过Web UI或配置文件安装后,使用插件特定标签配置:
yamllabels: - "bunkerweb.USE_CLAMAV=yes" # 启用ClamAV插件 - "bunkerweb.CLAMAV_SCAN_UPLOADS=yes" # 扫描上传文件
BunkerWeb提供直观的Web管理界面,支持:
访问方式:部署后通过BunkerWeb实例IP或域名访问Web UI(默认路径/admin,需预先配置管理员账户)。
BunkerWeb及其自动配置助手基于GNU Affero General Public License v3.0(AGPLv3)开源。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 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(架构)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务