Можно ли установить заголовок прокси в NGINX, используя переменную *имя заголовка*?
Согласно документации NGINX
proxy_set_header field value
позволяет переопределить или добавить поля в заголовок запроса, передаваемый на прокси-сервер. Значение может содержать текст, переменные и их комбинации.
Так что я могу сделать
set $my_variable "some_value";
proxy_set_header x-my-header $my_variable;
Можно ли каким-либо образом использовать переменную для
field
параметр, т.е. имя заголовка основано на переменной? Я хочу иметь возможность настроить NGINX следующим образом:
set $my_variable "x-my-header";
proxy_set_header $my_variable "some_value";
1 ответ
Если в документации nginx прямо не указано, что вы можете использовать переменные для какого-либо параметра директивы, обычно это означает, что вы не можете. В частности, вы не можете использовать переменные в качестве имен заголовков вadd_header
,proxy_set_header
и некоторые другие соответствующие директивы. Однако вы можете сделать это, используя сторонние модули, напримерlua-nginx-module
с помощьюngx.req.set_header
. Вы можете взглянуть на пакет OpenResty , который включает в себя вышеупомянутый модуль и упаковывается для широкого спектра дистрибутивов ОС.