xfy911
7fe52a3b6e
feat(http2): 添加 HTTP/2 反向代理支持
实现 HTTP/2 客户端连接通过 HTTP/2 流转发到 HTTP/1.1 后端:
- 在 http2.c 中新增 http2_serve_proxy() 函数
- 实现请求重组:将 HTTP/2 伪头(:method, :path, :authority)重组为 HTTP/1.1 请求
- 实现后端响应解析:解析 HTTP/1.1 响应头并通过 nghttp2 提交 HTTP/2 响应帧
- 过滤 hop-by-hop 头(Connection, Transfer-Encoding 等)
- 添加 X-Forwarded-For 头
- 支持 TLS 和非 TLS 后端连接
- 在 server.c 中注入代理配置到 HTTP/2 会话
- 修复 parse_http1_response 中 body_len 下溢问题
- 添加 HTTP/2 代理集成测试
当前限制:
- 采用非流式方案(先收集完整后端响应再发送)
- 连接池对 HTTP/1.0 后端(无 keep-alive)处理有待完善
- 单元测试:142 项全部通过
- 集成测试:HTTP/2 GET 代理测试通过
2026-06-09 09:39:08 +08:00
..
2026-06-03 21:15:05 +08:00
2026-06-06 09:07:28 +08:00
2026-06-03 23:53:22 +08:00
2026-06-03 21:15:05 +08:00
2026-06-08 11:37:30 +08:00
2026-06-09 09:39:08 +08:00
2026-06-04 12:50:28 +08:00
2026-06-04 12:50:28 +08:00
2026-06-06 21:16:54 +08:00