Usando o nginx 1.2.1, posso adicionar vários cabeçalhos usando add_header
o seguinte:
server {
listen 80;
server_name localhost;
root /var/www;
add_header Name1 Value1; <=== HERE
add_header Name2 Value2; <=== HERE
location / {
echo "Nginx localhost site";
}
}
O resultado
GET /
HTTP/1.1 200 OK
Name1: Value1
Name2: Value2
No entanto, assim que uso a add_header
diretiva por dentro location
, as outras add_header
diretivas abaixo server
são ignoradas
server {
listen 80;
server_name localhost;
root /var/www;
add_header Name1 Value1; <=== HERE
add_header Name2 Value2; <=== HERE
location / {
add_header Name3 Value3; <=== HERE
add_header Name4 Value4; <=== HERE
echo "Nginx localhost site";
}
}
O resultado
GET /
HTTP/1.1 200 OK
Name3: Value3
Name4: Value4
A documentação diz que tanto server
e location
são válidos context
e não faz afirmar que o uso add_header
em um impede de usá-lo no outro.
Q1: você sabe se isso é um bug ou o comportamento pretendido e por quê?
P2: Você vê outras opções para corrigir isso do que usar o HttpHeadersMoreModule
módulo?
add_header
dentro dalocation
diretiva, mas ainda não vejo esse cabeçalho adicionado - alguma idéia?