将 Fiber 作为 Envoy 外部授权 HTTP 服务
扩展流行的 Envoy 代理的一种方法是开发一个 外部授权服务。
此示例展示了如何使用 fiber
和 keyauth
中间件作为前端代理的授权服务(该配置也可用于 L2 / Sidecar 代理)。请参阅 authz
。
它还将 fiber
用作示例上游服务,具有以下端点。请参阅 app
。
端点
名称 | 路由 | 受保护 | 方法 |
---|---|---|---|
健康检查 | /health | 否 | GET |
资源 | /api/resource | 是 | GET |
运行
docker-compose up --build -d
测试
名称 | 命令 | 状态 |
---|---|---|
未受保护 | curl localhost:8000/health -i | 200 |
缺少 API 密钥 | curl localhost:8000/api/resource -i | 403 |
无效的 API 密钥 | curl localhost:8000/api/resource -i -H "x-api-key: invalid-key" | 403 |
有效的 API 密钥 | curl localhost:8000/api/resource -i -H "x-api-key: valid-key" | 200 |
停止
docker-compose down