Usando o nginx 1.2.1, posso adicionar vários cabeçalhos usando add_headero 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_headerdiretiva por dentro location, as outras add_headerdiretivas abaixo serversã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 servere locationsão válidos contexte não faz afirmar que o uso add_headerem 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 HttpHeadersMoreModulemódulo?
add_headerdentro dalocationdiretiva, mas ainda não vejo esse cabeçalho adicionado - alguma idéia?