Intereting Posts
Нечетное поведение пути поиска python, что здесь происходит не так? копирование всего содержимого папки в другую папку с использованием командного файла? c создать файлы, как создать тот, который будет скомпилировать четыре исходных файла? nginx переписать местоположение файла Получите системную информацию (скорость процессора – общая модель RAM-графической карты и т. Д.) Под Windows Совместное использование одной и той же переменной между несколькими независимыми программами в Linux mod_wsgi не выполняет WSGIPythonHome Rails 4 / Unicorn приложение не может подключиться к MySQL при работе в качестве пользователя без полномочий root Есть ли альтернатива с открытым исходным кодом для модели переполнения стека? Настроить меркурийный сервер на ubuntu NameValuePair, HttpParams, HttpConnection Params не рекомендуется использовать class запроса сервера для входа в приложение Только последний подключенный клиент получает сообщение Qt: функции windows – нерешенные внешние символы Обслуживание файлов и обработка запросов с помощью Webrick на том же порту Ошибка при компиляции файла apache APR make file not found

Отправить дополнительный заголовок в бэкэнд FastCGI с помощью nginx

Я использую nginx с несколькими backcgi fastcgi (php-cgi, mod-mono-fastcgi4). Теперь мне нужно отправить дополнительный HTTP-заголовок на бэкэнд fastcgi, в основном то же самое, что и proxy_set_header при использовании nginx в качестве обратного прокси. Но, к моим выводам, в nginx нет такой вещи, как fastcgi_set_header.

У кого-нибудь есть идеи, как это сделать? Я не хочу использовать дополнительные модули nginx, поскольку решение muste легко развертывается в широком диапазоне клиентских систем.

Я быстро взглянул на руководство, и я думаю, что ближайший вы найдете параметры fastcgi:

Заголовки запросов передаются на FastCGI-сервер в виде параметров. В приложениях и сценариях, запускаемых с FastCGI-сервера, эти параметры обычно доступны в виде переменных среды. Например, заголовок «User-agent» передается как параметр HTTP_USER_AGENT. Помимо заголовков HTTP-запроса, можно передавать произвольные параметры с помощью директивы fastcgi_param.

http://wiki.nginx.org/HttpFcgiModule#Parameters.2C_transferred_to_FastCGI- сервер .

fastcgi_param

синтаксис: значение параметра fastcgi_param

http://wiki.nginx.org/HttpFcgiModule#fastcgi_param

Nginx теперь имеет:

fastcgi_pass_header 'Cache-Control: no-cache, must-revalidate'; 

Который может использоваться в ваших правилах местоположения, если вы добавляете заголовки, которые еще не указаны в вашем запросе. По умолчанию fastcgi использует:

 fastcgi_pass_request_headers on; 

Который передаст все входящие заголовки из запроса на fastcgi.

Вы можете сделать это с помощью стороннего модуля ngx_headers_more . После создания nginx с включенным модулем вы можете сделать следующее в своей конфигурации:

 location / { more_set_input_headers 'Foo: bar baz'; ... } 

URL-адреса статей wiki nginx, описанных выше, не работают.

nginx предоставляет значения заголовка запроса через переменные с префиксом $ http_ , поэтому заголовок запроса HTTP_USER_AGENT доступен через $ http_user_agent .

Аналогично, заголовок запроса с именем CHICKEN_SOUP будет доступен через $ http_chicken_soup .

В приведенном ниже примере показано, как передать заголовок запроса авторизации HTTP в PHP-скрипты, запущенные под php-fpm (PHP FastCGI Process Manager).

 location ~ \.php$ { fastcgi_pass unix:/path/to/socket; fastcgi_index index.php; fastcgi_param HTTP_AUTHORIZATION $http_authorization; ... other settings }