Herdar proxy_set_header ao usá-lo no bloco de localização

1

Estou tentando configurar um monte de hosts virtuais no Nginx e quero definir alguns cabeçalhos antes de passar a solicitação para o upstream. Eu tenho alguns cabeçalhos que sempre quero definir e, em seguida, tenho alguns cabeçalhos que desejo definir para blocos de local selecionados.

Infelizmente, parece que o Nginx não permite a diretiva proxy_set_header em vários níveis e, como resultado, apenas limpa todos os cabeçalhos definidos no bloco http.

A documentação do Nginx declara o seguinte em proxy_set_header :

Allows redefining or appending fields to the request header passed to the proxied server. The value can contain text, variables, and their combinations. These directives are inherited from the previous level if and only if there are no proxy_set_header directives defined on the current level.

Então a questão é ... ou o Nginx tem uma limitação decepcionante ou estou pensando no problema de maneira errada.

Alguma idéia sobre uma solução idiomática para esse problema?

    
por Niels B. 17.05.2016 / 21:01

1 resposta

1

Crie um arquivo para incluir em cada bloco que define os cabeçalhos que você deseja. (Então, um inc-http-headers.conf comum) que você inclui no bloco http e em todos os blocos de localização que precisam dos cabeçalhos comuns.

    
por 17.05.2016 / 22:02

Tags