如何突破Nginx HTTP2超长Header限制,调整http2_max_field_size指令?
- 内容介绍
- 文章标签
- 相关推荐
本文共计594个文字,预计阅读时间需要3分钟。
HTTP/2 协议中,请求头(Header)字段长度有默认限制,通过以下指令控制:
理解 http2_max_field_size 的作用范围
该指令仅在启用 HTTP/2 的 server 块或 http 块中生效,不影响 HTTP/1.x 连接。它约束的是单个 Header 字段的**值部分**(不包括字段名和冒号空格),例如:
-
Cookie: a=1; b=2; ...(共 5000 字节)→ 触发 431,因超出默认 4096 -
Authorization: Bearer eyJhbGciOi...(超长 JWT)→ 同样受此限制
注意:它不控制 Header 总数量(由 http2_max_header_list_size 管理),也不影响请求体(body)大小。
本文共计594个文字,预计阅读时间需要3分钟。
HTTP/2 协议中,请求头(Header)字段长度有默认限制,通过以下指令控制:
理解 http2_max_field_size 的作用范围
该指令仅在启用 HTTP/2 的 server 块或 http 块中生效,不影响 HTTP/1.x 连接。它约束的是单个 Header 字段的**值部分**(不包括字段名和冒号空格),例如:
-
Cookie: a=1; b=2; ...(共 5000 字节)→ 触发 431,因超出默认 4096 -
Authorization: Bearer eyJhbGciOi...(超长 JWT)→ 同样受此限制
注意:它不控制 Header 总数量(由 http2_max_header_list_size 管理),也不影响请求体(body)大小。

