Почему пустой Content-Type в связке nginx, php-fpm?

Добрый день!
Столкнулся с проблемой получения заголовков HTTP.
Использую nginx и php-fpm. Задача заключалась в том что нужно было получить дополнительный заголовок и проверить его.
Использовал альтернативную функцию 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;
    }
}


В нее записывают переменны с ключом HTTP_ из переменной $_SERVER
В конфиге Nginx указал:
location ~ \.php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass    127.0.0.1:9000;
        try_files  $uri =404;

        fastcgi_index   index.php;
        fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param   CONTENT_TYPE    $content_type;
        fastcgi_param   CONTENT_LENGTH  $content_length;

        fastcgi_param   HTTP_HOST               $host;
        fastcgi_param   HTTP_CONTENT_TYPE       $content_type;
        fastcgi_param   HTTP_CONTENT_HMAC       $http_content_hmac;

        access_log  /var/log/nginx/postdata.log  main_post;
}


Не могу понять почему переменная $_SERVER[CONTENT_TYPE] передает пустое значение?
Интересует так же вопрос: как указывать в конфиге дополнительный параметр, в моем примере это Content-HMAC. Для вывода в логах переменная указывается "http_content_hmac"

Заранее Спасибо за помощь!
  • Вопрос задан
  • 768 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы