feat: harden experimental HTTP2 request limits

This commit is contained in:
2026-09-22 22:38:37 +08:00
parent 1a20ab53ac
commit 1487a96f67
4 changed files with 206 additions and 6 deletions

View File

@@ -3,6 +3,7 @@
## Unreleased
- 新增独立 `transport/http2` 实验 Runner:支持 h2c/TLS h2、连接上限、全局请求并发闸门、GOAWAY 排空、RST_STREAM 单流取消和生命周期统计;不改变 native HTTP/1.1 默认路径。
- HTTP/2 实验 Runner 增加默认 8 MiB 请求体上限、128 路同连接多路复用和 2 MiB 慢读取流控验收;超限请求在进入业务 handler 前返回 413。
- native TLS 明确限制 ALPN 为 `http/1.1`:缺省自动宣告该协议,误配置 `h2` 等未实现协议时在启动阶段报错。
- native `Server.Stats()` 新增连接和请求过载拒绝计数;新增可信代理配置,访问日志只在 socket 对端属于配置网段时解析 `X-Forwarded-For`。
- 新增 transport-neutral `metrics` 包,支持请求数、错误数、in-flight、累计耗时和状态分布,并可直接注册 `/metrics` 接口。