
cloudflare-bouncer是一款用于将CrowdSec安全决策同步至CloudFlare防火墙的工具。它能够管理多用户、多账户、多区域设置,支持基于IP、国家和AS范围的安全决策,帮助用户通过CloudFlare防火墙实施CrowdSec的安全策略。
适用于已部署CrowdSec且使用CloudFlare作为CDN/防火墙的用户,尤其适合需要管理多个CloudFlare账户或区域、需要基于IP/国家/AS实施安全策略的场景。
生成配置文件
bashdocker run crowdsecurity/cloudflare-bouncer \ -g <CLOUDFLARE_TOKEN1> <CLOUDFLARE_TOKEN2> > cfg.yaml # 为提供的令牌自动生成CloudFlare配置 vi cfg.yaml # 检查配置并设置`crowdsec_lapi_key`
获取CrowdSec LAPI密钥
bashsudo cscli -oraw bouncers add cloudflarebouncer # -oraw标志用于获取纯文本输出,便于直接复制
注意:
crowdsec_lapi_url必须能从容器内部访问
bashdocker run \ -v $PWD/cfg.yaml:/etc/crowdsec/bouncers/crowdsec-cloudflare-bouncer.yaml \ -p 2112:2112 \ crowdsecurity/cloudflare-bouncer
配置文件必须位于/etc/crowdsec/bouncers/crowdsec-cloudflare-bouncer.yaml路径下。
yaml# CrowdSec配置 crowdsec_lapi_url: http://localhost:8080/ # CrowdSec LAPI地址 crowdsec_lapi_key: ${API_KEY} # CrowdSec LAPI密钥 crowdsec_update_frequency: 10s # 从CrowdSec拉取决策的频率 # Cloudflare配置 cloudflare_config: accounts: - id: # Cloudflare账户ID token: # Cloudflare API令牌 ip_list_prefix: crowdsec # IP列表前缀 default_action: challenge # 默认操作 zones: # 区域(域名)配置 - actions: - challenge # 有效操作:challenge(验证)、js_challenge(JS验证)、block(阻止) zone_id: # 区域ID update_frequency: 30s # 更新Cloudflare IP列表的频率 # 拦截器配置 daemon: false # 是否以守护进程模式运行 log_mode: file # 日志模式:file(文件)或stdout(标准输出) log_dir: /var/log/ # 日志目录 log_level: info # 日志级别:debug、info、error # Prometheus监控配置 prometheus: enabled: true # 是否启用Prometheus listen_addr: 127.0.0.1 # 监控监听地址 listen_port: 2112 # 监控监听端口
背景知识
在Cloudflare中,每个用户可访问多个账户,每个账户可管理多个区域(可理解为域名),每个区域有唯一的zone_id。
获取Cloudflare令牌
注意:免费版Cloudflare区域仅支持一种操作,付费版支持多种操作,默认应用第一个操作。
通过提供的Cloudflare令牌自动发现账户和区域并生成配置。
示例用法:
bashdocker run crowdsecurity/cloudflare-bouncer -g <TOKEN_1>,<TOKEN_2>... > cfg.yaml
仅生成Cloudflare相关配置,CrowdSec配置需手动补充或通过自定义配置文件指定。
使用自定义配置:
bashdocker run crowdsecurity/cloudflare-bouncer -c /cfg.yaml -g <TOKEN_1>,<TOKEN_2>... -v $PWD/cfg.yaml:/cfg.yaml
创建所需的IP列表和防火墙规则(执行后退出):
bashdocker run \ -v $PWD/cfg.yaml:/etc/crowdsec/bouncers/crowdsec-cloudflare-bouncer.yaml \ -p 2112:2112 \ crowdsecurity/cloudflare-bouncer -s
删除由拦截器创建的所有IP列表和防火墙规则(执行后退出):
bashdocker run \ -v $PWD/cfg.yaml:/etc/crowdsec/bouncers/crowdsec-cloudflare-bouncer.yaml \ -p 2112:2112 \ crowdsecurity/cloudflare-bouncer -c
服务定期轮询CrowdSec Local API获取新决策,然后通过Cloudflare API更新IP列表和防火墙规则,将CrowdSec的安全策略应用到Cloudflare防护中。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。



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