主题
自定义配置
Pingora 提供灵活的配置系统,支持用户根据业务需求自定义代理行为、上游策略和服务特性。
配置文件结构
Pingora 配置文件通常为 YAML 格式:
yaml
server:
listen: "0.0.0.0:8080"
workers: 4
proxy:
upstreams:
- name: backend
servers:
- "127.0.0.1:8000"
- "127.0.0.1:8001"
max_connections: 50
retry_policy:
retries: 3
backoff: 100ms
logging:
level: info
output: stdout
ratelimiter:
enable: true
requests_per_second: 100
burst: 20
tls:
enable: true
cert: "/etc/ssl/certs/server.crt"
key: "/etc/ssl/private/server.key"
配置要点
服务器参数
listen
:监听地址与端口workers
:工作线程数量
上游代理(Peer)
- 多上游服务器支持负载均衡
max_connections
控制连接池大小retry_policy
设置失败重试策略
日志系统
- 支持不同等级(debug, info, warn, error)
- 可输出到控制台或文件
限速器
- 控制请求速率,防止服务过载
requests_per_second
和burst
可自定义
TLS 配置
- 启用 HTTPS
- 指定证书与私钥路径
- 可设置最小/最大 TLS 版本
动态加载与热更新
- Pingora 支持在运行时重新加载部分配置
- 可通过信号或管理接口触发热更新,减少服务中断
自定义扩展
- 过滤器与中间件可以通过配置启用或禁用
- 支持根据不同环境加载不同配置文件
- 可扩展插件实现自定义代理策略或监控指标
通过自定义配置,Pingora 可以灵活适配不同业务场景,实现高性能、可扩展和安全的代理服务。