
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
BunkerWeb 是下一代开源 Web 应用防火墙 (WAF),同时也是一个功能完备的 Web 服务器(基于 NGINX)。它旨在实现“默认安全”,能够无缝集成到现有环境(Linux、Docker、Swarm、Kubernetes 等),并通过可配置的安全特性保护 Web 服务免受各类***。无论是单一 Web 应用还是多站点部署,BunkerWeb 都能提供灵活且强大的安全防护。
BunkerWeb 支持多种集成方式,以下为主要环境的部署指南:
Docker 集成
通过环境变量配置 BunkerWeb,需配合调度器(scheduler)容器存储配置。
基本 Docker Compose 示例:
yamlversion: '3' services: bunkerweb: image: bunkerity/bunkerweb:1.5.4 ports: - "80:8080" - "443:8443" environment: - SERVER_NAME=www.example.com - 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
Docker Autoconf 集成
通过容器标签自动配置,无需重启 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=www.example.com - bunkerweb.auto_lets_encrypt=yes - bunkerweb.use_antibot=captcha
Kubernetes 集成
作为 Ingress Controller,通过 Ingress 资源和 ConfigMap 配置:
yamlapiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: myapp-ingress annotations: bunkerweb.io/server-name: "www.example.com" bunkerweb.io/auto-lets-encrypt: "yes" bunkerweb.io/use-antibot: "captcha" spec: ingressClassName: bunkerweb rules: - host: www.example.com http: paths: - path: / pathType: Prefix backend: service: name: myapp-service port: number: 80
配置项(Settings)
通过键值对形式的配置项定义 BunkerWeb 行为,例如:
confSERVER_NAME=www.example.com # 服务器名称 AUTO_LETS_ENCRYPT=yes # 自动申请 Let's Encrypt 证书 USE_ANTIBOT=captcha # 启用验证码反机器人 REFERRER_POLICY=no-referrer # 设置 Referrer 策略
可通过 配置生成工具 生成自定义配置。
多站点模式
默认禁用,仅保护单个应用;启用后可保护多个独立站点,通过服务器名称区分,配置项需添加站点前缀:
confMULTISITE=yes www.example.com_USE_ANTIBOT=captcha # 仅 www.example.com 启用验证码 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 | 扫描上传文件是否含*** | https://github.com/bunkerity/bunkerweb-plugins/tree/main/clamav |
| Coraza | 1.2 | ModSecurity 替代方案,基于 Coraza WAF 检查请求 | https://github.com/bunkerity/bunkerweb-plugins/tree/main/coraza |
| CrowdSec | 1.2 | CrowdSec 联动组件,拦截*** IP | https://github.com/bunkerity/bunkerweb-plugins/tree/main/crowdsec |
| *** | 1.2 | 通过 Webhook 发送安全通知到 *** 频道 | https://github.com/bunkerity/bunkerweb-plugins/tree/main/*** |
SERVER_NAME、REVERSE_PROXY_HOST 指向应用,启用 AUTO_LETS_ENCRYPTMULTISITE=yes,为每个站点配置独立服务器名称和规则REAL_IP_FROM 和 REAL_IP_HEADER基于 https://github.com/bunkerity/bunkerweb/blob/v1.5.4/LICENSE.md 开源。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务