Nginx将标题大写';第一个字母

Nginx将标题大写';第一个字母,nginx,nginx-config,Nginx,Nginx Config,我正在尝试使用nginx。我现有的应用程序发送所有小写字母的标题 例如: device-id, content-type 但Nginx正在更改标题。上面的标题翻译如下 Device-Id, Content-Type 我试图忽略无效的标题 ignore_invalid_headers on; 但是没有变化。我在服务器定义和http定义中都尝试了此设置。没有变化 我不希望nginx对标题进行任何更改。我如何才能做到这一点?首先,页眉的情况对您或任何人都不重要 HTTP头名称为 您看到的可能根本

我正在尝试使用nginx。我现有的应用程序发送所有小写字母的标题

例如:

device-id, content-type
但Nginx正在更改标题。上面的标题翻译如下

Device-Id, Content-Type
我试图忽略无效的标题

ignore_invalid_headers on;
但是没有变化。我在服务器定义和http定义中都尝试了此设置。没有变化


我不希望nginx对标题进行任何更改。我如何才能做到这一点?

首先,页眉的情况对您或任何人都不重要

HTTP头名称为


您看到的可能根本不是NGINX改变大小写,而是
curl
执行这个或另一个检查HTTP头的程序。事实上,NGINX默认情况下与您的标题无关,并且不会以任何方式对其进行更改。

当使用PHP通过“apache_request_headers()”方法获取标题字段的值时,标题字段区分大小写。PHP手册上的“如果您希望符合标准,
”,您必须循环遍历每个键并以不区分大小写的方式进行检查,而不是做显而易见的事情,并使用头的名称作为数组索引
如果您的应用程序使用HTTP/2,这是一种预期行为,请阅读答案。否,预期情况正好相反。在HTTP/2中,所有的头都以小写形式发送。是的,但是如果nginx通过HTTP/1.0或HTTP/1.1协议与上游通信,它会将所有头转换为首字母大写的HTTP/1标准。