Files
xk-docs/docs/projects/xk-hy-forward-go/architecture.md
2026-07-08 15:04:42 +08:00

1.5 KiB

xk-hy-forward-go 基类架构

代码结构

xk-hy-forward-go/
├── main.go                 # 入口,调用 forward.Run()
├── go.mod                  # Go 模块定义
├── go.sum                  # 依赖校验
├── run.bat                 # Windows 启动脚本
├── .env.example            # 环境变量模板
└── internal/
    └── forward/
        ├── run.go          # HTTP 服务器启动
        ├── proxy.go        # 反向代理逻辑
        ├── config.go       # 配置加载
        ├── env.go          # 环境变量解析
        ├── headers.go      # 请求头白名单过滤
        ├── apilog.go       # API 请求日志
        ├── applog.go       # 应用日志
        ├── *_test.go       # 测试
        └── testweb/        # 测试 Web 资源

核心模块

文件 职责
run.go HTTP 服务器启动,路由注册
proxy.go 反向代理核心逻辑,请求转发和响应处理
config.go 配置加载和验证
headers.go 请求头白名单,只转发允许的头
apilog.go API 请求日志记录
applog.go 应用级日志

反向代理流程

graph LR
    REQ[收到请求] --> CHECK{IP 白名单}
    CHECK -->|通过| LOG[记录日志]
    CHECK -->|拒绝| REJECT[返回 403]
    LOG --> FILTER[过滤请求头]
    FILTER --> FORWARD[转发至目标]
    FORWARD --> RESP[接收响应]
    RESP --> RET[返回给调用方]