欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Nginx中获取自定义的header参数?

程序员文章站 2022-06-16 08:38:14
...

如何在Nginx环境下获取自定义的header参数 ?

项目之前部署在apache和IIS下运行,一直都好好的,且把用户ID和TOKEN在客户端以header参数的形式传过来的。后来改换环境,在NGINX下无法获取自定义的参数了,百度了解决方法,直接贴代码:

首先 fastcgi.conf中定义所用到的参数,如下:

Nginx中获取自定义的header参数?

其次在nginx.conf中定义?

Nginx中获取自定义的header参数?

在程序通过getallheaders()方法获取。如果getallheaders()方法未定义,可以做个方法兼容,如下:

if (!function_exists('getallheaders')) {
    function getallheaders() {
        $headers = [];
        foreach ($_SERVER as $name => $value) {
            if (substr($name, 0, 5) == 'HTTP_') {
                $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
            }
        }
        return $headers;
    }
}

获取的示例如下:

Nginx中获取自定义的header参数?