1. ✅ 监控指标收集 2. ✅ 中间件机制 3. ✅ 配置热更新 4. ✅ 优雅关闭 5. ✅ 插件系统 6. ✅ API文档 7. ✅ 认证授权系统 8. ✅ 请求/响应压缩优化
3.4 KiB
3.4 KiB
GoProxy API 文档
概述
GoProxy是一个高性能的HTTP/HTTPS代理服务器,提供丰富的功能和插件系统。本文档描述了GoProxy的API接口。
认证
所有API请求都需要进行认证。认证方式为Bearer Token:
Authorization: Bearer <your_token>
API 端点
1. 代理配置
1.1 获取代理配置
GET /api/v1/config
响应:
{
"listen_addr": ":8080",
"enable_load_balancing": true,
"backends": ["http://backend1", "http://backend2"],
"enable_rate_limit": true,
"rate_limit": 100,
"max_connections": 1000,
"enable_cache": true,
"cache_ttl": "1h"
}
1.2 更新代理配置
PUT /api/v1/config
请求体:
{
"listen_addr": ":8080",
"enable_load_balancing": true,
"backends": ["http://backend1", "http://backend2"],
"enable_rate_limit": true,
"rate_limit": 100,
"max_connections": 1000,
"enable_cache": true,
"cache_ttl": "1h"
}
2. 用户管理
2.1 创建用户
POST /api/v1/users
请求体:
{
"username": "admin",
"password": "password123",
"roles": ["admin"]
}
2.2 获取用户列表
GET /api/v1/users
响应:
{
"users": [
{
"username": "admin",
"roles": ["admin"],
"created_at": "2024-03-13T10:00:00Z",
"last_login_at": "2024-03-13T11:00:00Z"
}
]
}
3. 监控指标
3.1 获取代理状态
GET /api/v1/status
响应:
{
"active_connections": 100,
"total_requests": 1000,
"error_rate": 0.01,
"average_latency": 0.1,
"cache_hit_rate": 0.8
}
3.2 获取详细指标
GET /api/v1/metrics
响应:
{
"requests_total": {
"GET": 800,
"POST": 200
},
"request_latency": {
"p50": 0.1,
"p90": 0.2,
"p99": 0.5
},
"error_total": {
"connection_error": 10,
"timeout": 5
}
}
4. 插件管理
4.1 获取插件列表
GET /api/v1/plugins
响应:
{
"plugins": [
{
"name": "compression",
"version": "1.0.0",
"enabled": true
}
]
}
4.2 启用/禁用插件
PUT /api/v1/plugins/{plugin_name}/status
请求体:
{
"enabled": true
}
5. 缓存管理
5.1 获取缓存统计
GET /api/v1/cache/stats
响应:
{
"total_items": 1000,
"total_size": "100MB",
"hit_rate": 0.8,
"eviction_rate": 0.1
}
5.2 清除缓存
DELETE /api/v1/cache
6. 健康检查
6.1 获取健康状态
GET /api/v1/health
响应:
{
"status": "healthy",
"uptime": "24h",
"last_check": "2024-03-13T12:00:00Z"
}
错误响应
所有API在发生错误时会返回以下格式:
{
"error": {
"code": "ERROR_CODE",
"message": "错误描述",
"details": {}
}
}
常见错误码:
- 400: 请求参数错误
- 401: 未认证
- 403: 权限不足
- 404: 资源不存在
- 500: 服务器内部错误
限流
API请求默认限制为每秒100次。超过限制时会返回429状态码。
版本控制
API版本通过URL路径指定,当前版本为v1。
更新日志
v1.0.0
- 初始版本
- 基本代理功能
- 用户认证
- 监控指标
- 插件系统