У меня есть веб-сервер nginx, действующий в качестве обратного прокси-сервера для пересылки запросов в Apache для дополнительной обработки (прошу не спрашивать, почему). У меня есть запрос, к которому я пытаюсь прикрепить пользовательский заголовок, и я бы хотел, чтобы nginx перенаправил этот пользовательский заголовок в Apache, чтобы я мог что-то сделать с ним в приложении.
Я пролистал HttpProxyModule
документы, но они не очень описательны, даже если я нахожусь в нужном месте (вполне возможно, что я не так).
Как я могу получить nginx для пересылки X-CUSTOM-REFERRER
заголовка? Более того, если это возможно, я бы хотел, чтобы он пересылал по любому входящему в него пользовательскому заголовку. Если последнее слишком много для запроса, первого будет достаточно для моей текущей потребности.
Как видите, я очень новичок в nginx, поэтому исправительная версия будет полезна.
Спасибо.
ОБНОВИТЬ
Соответствующий фрагмент из моего существующего конфига:
location / {
proxy_pass http://preview;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Custom-Referrer $x_custom_referrer;
}
источник
X-Custom-Referrer
заголовка и передать его?proxy_set_header X-Custom-Referrer $x_custom_referrer
Или что-то в этом роде?$http_x_custom_referrer
. Однако все заголовки, отправляемые клиентом, должны автоматически передаваться бэкэнду. Выproxy_pass_request_headers off
где-нибудь сидели?proxy_set_header
закомментировано соответствующее; также вы используете$x_custom_referrer
вместо$http_x_custom_referrer
...$http_<custom_header_field>
вместо$proxy_add_<custom_header_field>
Модуль ngx_headers_more позволяет изменять и добавлять заголовки http.
источник
proxy_pass
.Вы можете использовать вышестоящие заголовки (которые начинаются с $ http_) и дополнительные пользовательские заголовки. Например:
Затем перейдите в консоль и сделайте запрос с заголовком пользователя:
ответ содержит X-Hdr-01, выделенный сервером, и X-Upstream-01, выделенный клиентом:
источник
proxy_pass
поток директивы.