参考资料

  1. Wiki 是一个基于 Web 的协作式知识管理系统
  2. 与虚拟机相比,Docker的优势是什么?
  3. Couchbase 是一个高性能、分布式 NoSQL 数据库,支持键值存储、文档存储和全文搜索功能。
  4. NATS 是一个高性能、轻量级的开源消息系统
  5. EulerOS 是华为推出的企业级 Linux 操作系统
  6. Unit 是一个轻量级、高性能的 Web 应用服务器
  7. 1Panel 是一个现代化的开源 Linux 服务器运维管理面板
  8. Apache Spark 是一个开源的分布式计算系统

简介

api-firewall 是一个开源的 API 防火墙,用于保护 API 免受恶意攻击和滥用。它基于 OpenAPI/Swagger 规范,支持请求验证、速率限制、IP 黑白名单等功能。

特点

  1. 请求验证:基于 OpenAPI/Swagger 规范验证请求和响应。

  2. 速率限制:防止 API 滥用和 DDoS 攻击。

  3. IP 黑白名单:限制或允许特定 IP 访问。

  4. 轻量级:基于 Go 语言开发,资源占用低。

  5. 支持多种部署方式:Docker、Kubernetes、二进制部署等。

最新更新内容及时间

  • 最新版本:v0.6.5

  • 更新时间:2023年10月

  • 更新内容

    • 新增对 OpenAPI 3.1 的支持。

    • 优化速率限制算法。

    • 修复若干 Bug。

镜像下载地址

  • Docker Hub: docker pull wallarm/api-firewall:latest

官网地址

文档地址

Docker 安装示例

docker run -d \
  -p 8080:8080 \
  -v /path/to/openapi.yaml:/opt/api-firewall/openapi.yaml \
  -e APIFW_API_SPECS=/opt/api-firewall/openapi.yaml \
  wallarm/api-firewall:latest

YAML 设置教程

示例 api-firewall.yaml 配置:

server:
  host: "0.0.0.0"
  port: 8080

security:
  request_validation: true
  response_validation: true

rate_limit:
  enabled: true
  requests_per_minute: 100

ip_blacklist:
  enabled: true
  addresses:
    - "192.168.1.1"
    - "10.0.0.1"

常用错误问题

  1. OpenAPI 规范无效:确保 YAML 文件格式正确且符合 OpenAPI 规范。

  2. 速率限制不生效:检查 rate_limit 配置是否启用且参数正确。

  3. IP 黑白名单无效:确认 IP 地址格式正确且配置已启用。

  4. Docker 容器无法启动:检查端口映射和卷挂载路径是否正确。

声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。