使用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:您知道这是错误还是预期的行为,为什么?
问题2:除了使用该HttpHeadersMoreModule
模块以外,您还看到其他解决方案来解决此问题吗?
add_header
内部location
,但仍然看不到此标头-有什么想法吗?