如何在Nginx环境下获取自定义的header参数 ?
项目之前部署在apache和IIS下运行,一直都好好的,且把用户ID和TOKEN在客户端以header参数的形式传过来的。后来改换环境,在NGINX下无法获取自定义的参数了,百度了解决方法,直接贴代码:
首先 fastcgi.conf中定义所用到的参数,如下:
其次在nginx.conf中定义?
在程序通过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;
}
}