
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
<br /> <br /> <a href="[***]"> </a>
🌐 官网
|
📓 文档
|
👨💻 演示
|
🛡️ https://github.com/bunkerity/bunkerweb/raw/v1.5.4/examples
|
💬 聊天
|
📝 https://github.com/bunkerity/bunkerweb/discussions
⚙️ 配置工具
|
🗺️ 威胁地图
🛡️ 让默认安全再次伟大!
BunkerWeb是一款下一代开源Web应用防火墙(WAF),基于NGINX构建,兼具全功能Web服务器特性,能为Web服务提供"默认安全"的保护能力。本自动配置助手(Autoconf)是BunkerWeb的关键组件,专为动态环境设计,可监听Docker事件(如容器创建/删除),实时自动配置BunkerWeb实例,无需手动重建容器,实现无缝集成和动态防护。
集成方式
BunkerWeb强调"集成"而非传统"安装",Autoconf是Docker环境下的核心集成方式,通过监听Docker守护进程事件实现动态配置。
设置(Settings)
BunkerWeb通过"设置"(环境变量或标签)进行配置,每个设置有唯一名称(如AUTO_LETS_ENCRYPT、USE_ANTIBOT),通过赋值控制功能开关。示例配置:
confSERVER_NAME=www.example.com # 服务器域名 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)
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=www.example.com" # 站点域名 - "bunkerweb.AUTO_LETS_ENCRYPT=yes" # 自动申请证书 - "bunkerweb.USE_ANTIBOT=captcha" # 启用验证码 - "bunkerweb.REVERSE_PROXY_URL=/" # 反向代理路径 - "bunkerweb.REVERSE_PROXY_HOST=http://mywebapp" # 后端应用地址 networks: - bw-net volumes: bw-data: networks: bw-net:
bashdocker-compose up -d
标签说明
Web应用容器需添加bunkerweb.前缀的标签进行配置,常用标签:
| 标签 | 说明 | 示例值 |
|---|---|---|
bunkerweb.SERVER_NAME | 站点域名 | www.example.com |
bunkerweb.AUTO_LETS_ENCRYPT | 自动申请Let's Encrypt证书 | yes/no |
bunkerweb.USE_ANTIBOT | 机器人防护方式 | captcha/hcaptcha等 |
bunkerweb.REVERSE_PROXY_URL | 反向代理路径 | /或/api |
bunkerweb.REVERSE_PROXY_HOST | 后端服务地址 | http://mywebapp:8080 |
多站点配置示例
添加第二个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=http://mysecondapp" networks: - bw-net
Autoconf会自动检测并配置两个独立站点。
自定义NGINX配置
通过挂载配置文件或使用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)开源。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


来自真实用户的反馈,见证轩辕镜像的优质服务