使用 Kong 网关原生插件进行 API 保护的完整示例。
本项目演示了以下 API 保护功能:
- API 密钥认证 - 基于密钥的简单认证
- 基于路由的访问控制 - 消费者特定的端点访问权限
- 基于 IP 的限制 - 每个消费者的 IP 白名单
- 请求日志 - 带有消费者身份的完整审计跟踪
客户端 ──▶ Kong 网关 ──▶ 演示服务器 (FastAPI)
│ │
▼ ▼
Redis 6个API端点
(速率限制)
# 启动服务
docker compose up -d
# 测试客户端
cd demo-client
python client.py order-inventory.yaml --test
python client.py reports-analytics.yaml --test
python client.py user-admin.yaml --test| 消费者 | API | 允许的IP |
|---|---|---|
| order-inventory | 订单、库存 | 192.168.0.0/16, 10.0.0.0/8 |
| report-analytics | 报表、分析 | 192.168.0.0/16, 203.0.113.0/24 |
| user-admin | 用户、管理 | 192.168.0.0/16, 172.16.0.0/16 |
- Kong 代理: 18000 (API 网关)
- Kong 管理: 18001 (管理 API)
- 演示服务器: 13000 (FastAPI 后端)
- Redis: 16379 (速率限制)
✅ 简单: 仅使用 Kong 原生插件
✅ 快速: 无外部授权调用
✅ 安全: API 密钥 + IP + 路由级访问控制
✅ 可扩展: 无数据库 Kong + Redis 速率限制
使用 Kong 原生访问控制的生产就绪 API 网关!