参考资料

  1. AlmaLinux 是一个开源、企业级的 Linux 发行版
  2. 宝塔docker是一款基于Web的服务器管理软件
  3. Cirros是一个轻量级的Linux发行版
  4. Swift是苹果公司开发的一种强大且直观的编程语言
  5. Clojure 是一种运行在 JVM 上的 Lisp 方言
  6. docker安装openwrt详细说明以及案例
  7. cpolar 是一款内网穿透工具
  8. DweebUI是一个基于Stable Diffusion WebUI的轻量级分支

api-firewall 是一个开源的 API 防火墙

简介

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 容器无法启动:检查端口映射和卷挂载路径是否正确。