如何在nginx上获取非标准的HTTP头?

26

我有一个非常简单的问题要问问nginx专家们。这可能是一个bug。

在nginx 1.0.5中,假设有以下nginx.conf:

server {
    server_name myserver;

    location / {
        uwsgi_pass 127.0.0.1:5001;
        uwsgi_param HTTP_MY_CUSTOM_HEADER $http_my_custom_header;
        include uwsgi_params;       
    }
}

为什么这段代码按预期正常工作...

$ curl -H "My-Custom-Header: Yes" http://myserver/

但是这样却不行。

$ curl -H "MY_CUSTOM_HEADER: Yes" http://myserver/
在后一种情况下,参数被传递到我的uwsgi应用程序,但它只是一个空字符串。我知道HTTP标头应该不区分大小写,但当标头不遵循通常的格式(标题大小写,下划线代替破折号)时,nginx的行为是出乎意料的。
有没有人有类似的捕获自定义标头的需求?有任何nginx.conf示例吗?
1个回答

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接