GoProxy 示例
本目录包含了 GoProxy 库的各种使用示例,展示了不同的代理功能和配置选项。
示例列表
-
forward_proxy.go - 基本正向代理
- 展示最基本的正向代理功能
- 适用于简单的 HTTP 代理需求
-
https_proxy.go - HTTPS 解密代理
- 支持 HTTPS 解密(中间人模式)
- 需要配置 CA 证书
- 支持 ECDSA 证书算法
-
reverse_proxy.go - 反向代理
- 支持反向代理功能
- 支持 URL 重写
- 支持 X-Forwarded-For 和 X-Real-IP 头
-
custom_delegate.go - 自定义委托代理
- 展示如何自定义代理行为
- 支持请求和响应的自定义处理
- 包含详细的日志记录
-
load_balance.go - 负载均衡代理
- 支持多后端服务器
- 使用轮询算法进行负载均衡
- 包含健康检查功能
-
metrics_proxy.go - 监控指标代理
- 支持 Prometheus 格式的监控指标
- 提供详细的性能统计
- 包含独立的指标服务器
-
cache_proxy.go - 缓存代理
- 支持 HTTP 响应缓存
- 使用内存缓存存储
- 可配置缓存策略
-
auth_proxy.go - 认证代理
- 支持基本认证
- 可配置用户名和密码
- 保护代理访问
-
websocket_proxy.go - WebSocket 代理
- 支持 WebSocket 协议
- 支持 WebSocket 拦截
- 适用于实时通信场景
-
rate_limit_proxy.go - 速率限制代理
- 支持请求速率限制
- 可配置最大请求速率
- 防止服务器过载
使用方法
- 编译示例:
go build -o forward_proxy examples/forward_proxy.go
- 运行示例:
./forward_proxy
- 配置代理:
- 在浏览器中设置代理服务器为
localhost:8080 - 或使用环境变量:
export http_proxy=http://localhost:8080
export https_proxy=http://localhost:8080
注意事项
- 使用 HTTPS 解密功能时,需要安装 CA 证书
- 某些功能可能需要额外的配置(如证书、密钥等)
- 建议在生产环境中使用更安全的配置
- 监控指标默认在 9090 端口提供
开发建议
- 根据实际需求选择合适的示例作为起点
- 可以组合多个功能来满足复杂需求
- 注意处理错误和异常情况
- 在生产环境中添加适当的日志记录
- 考虑添加监控和告警机制