Nginx add_header para uma página de 50 *

17

Atualmente, estou tentando obter o nginx para adicionar um cabeçalho à resposta quando estiver enviando algum tipo de erro 50 *. Eu já tenho uma diretiva add_header no bloco http, e isso é respeitado por todas as solicitações, exceto por erros. Eu também tentei o seguinte em um dos meus vhosts:

location /mediocregopheristhecoolest {
    add_header X-Test "blahblahblah";
    return 502;                                                                                                    
}       

Ir para essa página me dá um 502, mas nenhum cabeçalho. Isso é simplesmente algo que o nginx não faz, ou estou fazendo errado?

    
por Mediocre Gopher 17.08.2012 / 19:43

2 respostas

19

A documentação indica que add_header "Adiciona o campo especificado a um cabeçalho de resposta desde que o código de resposta seja igual a 200, 204, 206 , 301, 302, 303, 304 ou 307. Um valor pode conter variáveis. " Por isso, não funciona com um 502.

Esqueci de acrescentar que você pode usar o módulo de cabeçalhos de terceiros para adicionar cabeçalhos a outros códigos. Você provavelmente terá que recompilar para adicioná-lo, no entanto.

    
por 17.08.2012 / 20:09
39

Desde o Nginx 1.7.5, você pode usar always para adicionar um cabeçalho, independentemente do código de resposta:

add_header X-Test "blahblahblah" always;
    
por 27.11.2014 / 14:35