Utilizzando nginx 1.2.1 sono in grado di aggiungere più intestazioni usando add_headercome segue:
server {
listen 80;
server_name localhost;
root /var/www;
add_header Name1 Value1; <=== HERE
add_header Name2 Value2; <=== HERE
location / {
echo "Nginx localhost site";
}
}
Il risultato
GET /
HTTP/1.1 200 OK
Name1: Value1
Name2: Value2
Tuttavia, non appena utilizzo la add_headerdirettiva all'interno location, le altre add_headerdirettive sotto serversono ignorate
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";
}
}
Il risultato
GET /
HTTP/1.1 200 OK
Name3: Value3
Name4: Value4
La documentazione dice che sia servere locationsono validi contexte non lo fa stato che l'uso add_headerin un'impedisce di utilizzarlo in un altro.
Q1: Sai se si tratta di un bug o del comportamento previsto e perché?
Q2: vedi altre opzioni per risolverlo oltre all'utilizzo del HttpHeadersMoreModulemodulo?
add_headerall'interno dellalocationdirettiva, ma non vedo ancora questa intestazione aggiunta - qualche idea?