本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
API Firewall 是一款基于 OpenAPI/Swagger 规范的高性能代理,提供 API 请求与响应验证功能。该防火墙专为云原生环境中的 REST API 端点保护设计,通过正向安全模型实现 API 加固:仅允许与预定义 API 规范匹配的请求和响应通过,拒绝所有其他流量。
该产品为开源软件,可在 DockerHub 获取,累计拉取量已达 10 亿次。如需支持该项目,可访问 DockerHub 仓库 并添加星标。
启动 API Firewall 时,需提供待保护应用的 OpenAPI 3.0 规范 文件。启动后,防火墙将作为反向代理运行,验证请求和响应是否与规范中定义的模式匹配。
不符合模式的流量将通过 STDOUT 和 STDERR Docker 服务 记录或被阻断(取决于配置的操作模式)。在监控模式下,API Firewall 还会记录所谓的“影子 API 端点”——即未在 API 规范中定义但对请求有响应的端点(返回 404 状态码的端点除外)。
!API Firewall 工作流程
支持 OpenAPI 3.0 规范,文件格式可为 YAML 或 JSON(扩展名为 .yaml、.yml 或 .json)。
通过 OpenAPI 3.0 规范定义流量要求,API Firewall 实现了正向安全模型。
API Firewall 作为内置 OpenAPI 3.0 请求与响应验证功能的反向代理运行,采用 Golang 编写并使用 fasthttp 代理框架。项目针对极致性能和近零附加延迟进行了优化。
docker run -d \ -v /path/to/your/openapi-spec.yaml:/etc/api-firewall/spec.yaml \ -e WALLARM_API_FIREWALL_URL=[***] \ # 后端服务地址 -e WALLARM_API_FIREWALL_MODE=block \ # 操作模式:block(阻塞)/monitor(监控) -p 8282:8282 \ wallarm/api-firewall
-v /path/to/spec.yaml:/etc/api-firewall/spec.yaml:挂载本地 OpenAPI 规范文件至容器内WALLARM_API_FIREWALL_URL:后端 API 服务的地址和端口WALLARM_API_FIREWALL_MODE:操作模式(block 或 monitor)-p 8282:8282:映射防火墙监听端口(默认 8282)完整配置参数及高级用法请参考 ***安装指南。
可通过***提供的 Docker Compose 演示环境快速体验:
# 参考 [***] version: '3' services: api-firewall: image: wallarm/api-firewall volumes: - ./openapi-spec.yaml:/etc/api-firewall/spec.yaml environment: - WALLARM_API_FIREWALL_URL=[***] - WALLARM_API_FIREWALL_MODE=monitor ports: - "8282:8282" app: image: your-backend-app:latest ports: - "3000:3000"
可通过以下演示环境体验 API Firewall 的功能:
API Firewall 设计以速度和效率为优先,确保 API 处理性能最大化。最新测试显示,API Firewall 处理单个请求的平均时间为 1.339 ms,比 Nginx 快 66%:
# API Firewall 0.6.2(带 JSON 验证) $ ab -c 200 -n *** -p ./large.json -T application/json [***] Requests per second: ***.81 [#/sec] (mean) Time per request: 15.378 [ms] (mean) Time per request: 0.077 [ms] (mean, across all concurrent requests) # Nginx 1.18.0(无 JSON 验证) $ ab -c 200 -n *** -p ./large.json -T application/json [***] Requests per second: 7887.76 [#/sec] (mean) Time per request: 25.356 [ms] (mean) Time per request: 0.127 [ms] (mean, across all concurrent requests)
更多性能测试结果及优化方法详见 ***博客文章。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429