De acordo com a documentação do NGINX
proxy_set_header field value
permite redefinir ou anexar campos ao cabeçalho da solicitação passado para o servidor proxy. O valor pode conter texto, variáveis e suas combinações.
Então eu posso fazer
set $my_variable "some_value";
proxy_set_header x-my-header $my_variable;
De qualquer forma, é possível usar uma variável para o parâmetro, ou seja, ter o nomefield
do cabeçalho baseado em uma variável? Eu quero ser capaz de configurar o NGINX como
set $my_variable "x-my-header";
proxy_set_header $my_variable "some_value";
Quando a documentação do nginx não diz explicitamente que você pode usar variáveis para algum parâmetro de diretiva, geralmente significa que você não pode. Em particular, você não pode usar variáveis como nomes de cabeçalho em
add_header
eproxy_set_header
algumas outras diretivas relacionadas. No entanto, você pode fazer isso usando módulos de terceiros, por exemplo,lua-nginx-module
viangx.req.set_header
. Você pode dar uma olhada no pacote OpenResty que inclui o módulo mencionado acima e está sendo empacotado para uma ampla variedade de distribuições de SO.