Назад | Перейти на главную страницу

Передача произвольных заголовков HTTP-запроса в nginx, а затем в php

У меня есть эта веб-служба, работающая на nginx и fastcgi (php-fpm). Веб-служба используется некоторыми встроенными HTTP-клиентами, которым нужно будет отправлять произвольные заголовки HTTP-запросов при использовании службы. Например:

CLIENT_ID: client1
CLIENT_AUTH_TOKEN: d84ldx

или что-то вроде того.

Я не уверен, будет ли такой запрос захвачен nginx, когда он поступит. Если да, то как nginx будет хранить значения дополнительных заголовков HTTP? И как сказать nginx передать параметры в php?

Я уже пробовал поставить

fastcgi_param CLIETN_ID $client_id 

в файл конфигурации conf / fastcgi_params, я предположил, что это поможет nginx сохранить то, что находится в CLIENT_ID в качестве параметра $ client_id. Я также положил

fastcgi_param CLIENT_ID $client_id

просто получить то, что хранится в $ client_id, и передать это php с ключом «CLIENT_ID», чтобы php мог получить к нему доступ с помощью $ _SERVER ['CLIENT_ID'].

К сожалению, это не сработало. Когда я делаю

nginx -t 

Получил ошибку "неизвестный параметр client_id". Где я ошибся и как исправить?

Спасибо.

Заголовкам запросов назначаются переменные, начинающиеся с $ http_, поэтому заголовок запроса Client-Id будет храниться в $ http_client_id. пытаться

fastcgi_param CLIENT_ID $http_client_id;

Я почти уверен, что nginx уже передает все заголовки http, поэтому он может быть уже доступен как $ _SERVER ['HTTP_CLIENT_ID']

Вы проверяли, видны ли заголовки в суперглобале $ _SERVER? Я подозреваю, что это может «просто сработать», и вам не придется ничего делать.