http - 如何在 nginx 上获取非标准的 HTTP header ?

标签 http nginx

我有一个非常简单的问题要问那里的 nginx 专家。这可能是一个错误。

在 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 header 应该不区分大小写,但是当 header 不遵循通常的格式(标题大小写、下划线而不是破折号)时,nginx 的行为是意外的。

有人有类似的需求来捕获自定义 header 吗?有 nginx.conf 示例吗?

最佳答案

关于http - 如何在 nginx 上获取非标准的 HTTP header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8393772/

相关文章:

javascript - http请求获取正文

http - HTTP/3 如何处理丢包?

javascript - Espruino 中用于微 Controller 的 HTTP POST

java - nginx 反向代理与 tomcat 不工作

docker - 在 Docker 内运行的 Nginx 状态端点

API 调用在本地有效,但在部署到 heroku 或 zeit 时失败

php - 客户端缺少 Content-Disposition header

django - Openresty : pass a request to FastCGI if data does not found in redis cache 中带有 nginx 的 Lua

ssl - 使用 .conf 设置在 Nginx 中将 HTTP 重写为 HTTPS

CakePHP 与 Homestead