API 可以把版本放在 API-Version 这样的自定义请求字段里。普通的转发代理不应仅仅因为字段名陌生就把它丢弃。HTTP 要求转发无法识别的字段,除非适用已定义的例外或已配置的策略。

Connection 字段就是这类例外之一。请比较下面这两个示例请求:

API-Version: 2026-10
Connection: keep-alive

这里 API 字段并未被声明为仅限本条连接。在下一个示例中,发送方明确改变了它的作用范围:

API-Version: 2026-10
Connection: API-Version

转发代理会在转发之前删除 Connection 中列名的字段,并删除或替换连接专有的指令本身。因此,面向源服务器的应用请求头不应出现在该令牌列表中。

找出字段发生变化的位置

对比客户端构造的请求、代理接收并发出的字段,以及源服务器收到的内容。客户端可能在代理看到之前就省略某个请求头;已配置的过滤器可能有意将其删除;服务器可能因超出请求头限制而拒绝请求。

不要仅凭旧部署中报告过的请求头大小阈值,就断定发生了静默剥离。限制与拒绝行为取决于实际组件和配置。请把 HTTP 响应和相关日志与观察结果一并保留。

对于普通 CONNECT 隧道内的端到端 HTTPS,代理无法读取并有选择地删除内层 API 字段。此时请求头检查属于 TLS 端点,或属于明确可信的检查中间层。

相关文章