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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gexiuhua/article/details/79093140

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

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

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

参数设置

其次在nginx.conf中定义?

nginx定义

在程序通过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;
    }
}

获取的示例如下:

日志示例

猜你喜欢

转载自blog.csdn.net/gexiuhua/article/details/79093140