如何让nginx添加标头而不将其转换为小写?

Joh*_*n Y 3 nginx

在我的 nginx 配置中,我有一行

add_header 'X-Custom-Header' 'example' always;
Run Code Online (Sandbox Code Playgroud)

当我访问该页面时,curl -I http://<path to page>它返回标题而x-custom-header不是X-Custom-Header键入的标题。

虽然 HTTP 标头不区分大小写,因此这仍然有效,但我认为我完全有能力以小写形式键入标头(如果这是我想要的);我宁愿让 nginx 做它被告知的事情,而不是模糊地按照我告诉它做的事情去做。

有没有办法阻止它缩小标题?

Iva*_*sky 6

看起来您正在使用 HTTP/2 协议访问您的网站。这正是使用 HTTP/2 提供请求时的预期行为,如 RFC 7540所述

正如在 HTTP/1.x 中一样,标头字段名称是 ASCII 字符的字符串,以不区分大小写的方式进行比较。但是,标头字段名称在 HTTP/2 中编码之前必须转换为小写。包含大写标头字段名称的请求或响应必须被视为格式错误。