Files
demo/examples/other
2025-03-14 18:50:49 +00:00
..
2025-03-14 18:50:49 +00:00
2025-03-14 18:50:49 +00:00
2025-03-14 18:50:49 +00:00
2025-03-14 18:50:49 +00:00
2025-03-14 18:50:49 +00:00
2025-03-14 18:50:49 +00:00
2025-03-14 18:50:49 +00:00
2025-03-14 18:50:49 +00:00
2025-03-14 18:50:49 +00:00
2025-03-14 18:50:49 +00:00

GoProxy 示例

本目录包含了 GoProxy 库的各种使用示例,展示了不同的代理功能和配置选项。

示例列表

  1. forward_proxy.go - 基本正向代理

    • 展示最基本的正向代理功能
    • 适用于简单的 HTTP 代理需求
  2. https_proxy.go - HTTPS 解密代理

    • 支持 HTTPS 解密(中间人模式)
    • 需要配置 CA 证书
    • 支持 ECDSA 证书算法
  3. reverse_proxy.go - 反向代理

    • 支持反向代理功能
    • 支持 URL 重写
    • 支持 X-Forwarded-For 和 X-Real-IP 头
  4. custom_delegate.go - 自定义委托代理

    • 展示如何自定义代理行为
    • 支持请求和响应的自定义处理
    • 包含详细的日志记录
  5. load_balance.go - 负载均衡代理

    • 支持多后端服务器
    • 使用轮询算法进行负载均衡
    • 包含健康检查功能
  6. metrics_proxy.go - 监控指标代理

    • 支持 Prometheus 格式的监控指标
    • 提供详细的性能统计
    • 包含独立的指标服务器
  7. cache_proxy.go - 缓存代理

    • 支持 HTTP 响应缓存
    • 使用内存缓存存储
    • 可配置缓存策略
  8. auth_proxy.go - 认证代理

    • 支持基本认证
    • 可配置用户名和密码
    • 保护代理访问
  9. websocket_proxy.go - WebSocket 代理

    • 支持 WebSocket 协议
    • 支持 WebSocket 拦截
    • 适用于实时通信场景
  10. rate_limit_proxy.go - 速率限制代理

    • 支持请求速率限制
    • 可配置最大请求速率
    • 防止服务器过载

使用方法

  1. 编译示例:
go build -o forward_proxy examples/forward_proxy.go
  1. 运行示例:
./forward_proxy
  1. 配置代理:
  • 在浏览器中设置代理服务器为 localhost:8080
  • 或使用环境变量:
export http_proxy=http://localhost:8080
export https_proxy=http://localhost:8080

注意事项

  1. 使用 HTTPS 解密功能时,需要安装 CA 证书
  2. 某些功能可能需要额外的配置(如证书、密钥等)
  3. 建议在生产环境中使用更安全的配置
  4. 监控指标默认在 9090 端口提供

开发建议

  1. 根据实际需求选择合适的示例作为起点
  2. 可以组合多个功能来满足复杂需求
  3. 注意处理错误和异常情况
  4. 在生产环境中添加适当的日志记录
  5. 考虑添加监控和告警机制