ใช้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: คุณรู้หรือไม่ว่านี่เป็นข้อผิดพลาดหรือพฤติกรรมที่ต้องการและทำไม
Q2: คุณเห็นตัวเลือกอื่น ๆ เพื่อรับการแก้ไขนี้กว่าใช้HttpHeadersMoreModule
โมดูลหรือไม่?
add_header
ในlocation
คำสั่ง แต่ฉันยังไม่เห็นส่วนหัวนี้เพิ่ม - ความคิดใด ๆ