使用nginxの1.2.1を私が使用して複数のヘッダを追加することができる午前add_header
、次のように:
server {
listen 80;
server_name localhost;
root /var/www;
add_header Name1 Value1; <=== HERE
add_header Name2 Value2; <=== HERE
location / {
echo "Nginx localhost site";
}
}
結果
GET /
HTTP/1.1 200 OK
Name1: Value1
Name2: Value2
ただし、add_header
内部location
でディレクティブを使用するとすぐに、add_header
下の他のディレクティブserver
は無視されます
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";
}
}
結果
GET /
HTTP/1.1 200 OK
Name3: Value3
Name4: Value4
ドキュメントには、両方のことを言うserver
とはlocation
有効であるcontext
と使用していることを述べるいないadd_header
他にそれを使用して1つの防止に。
Q1:これがバグなのか、意図した動作なのか、そしてその理由を知っていますか?
Q2:HttpHeadersMoreModule
モジュールを使用する以外に、これを修正する他のオプションがありますか?
add_header
はlocation
ディレクティブの内部しか持っていませんが、まだこのヘッダーが追加されていません-アイデアはありますか?