Den*_*nov 6 nginx http-headers
我有用于服务器生成的缓存的简单位置:
location /api/get-hloc {
#add acccess-allow headers
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
#try cached files
root /dev/shm/get-hloc/;
try_files /$arg_hash.hloc /stocks/graphics/get-iis-graphic?$args;
}
Run Code Online (Sandbox Code Playgroud)
它能做什么?它只是检查内存中是否有可以为请求提供服务的文件,如果没有文件,则尝试实际为将来的请求生成文件的位置并将其提供给客户端。
add_header除了被忽略的指令外,一切都按预期工作。
是否可以在尝试 try_files 中的新位置之前添加标头,或者我应该仅在端点位置添加标头?
尝试将“always”添加到 add_header 指令中:
如果指定了always参数(1.7.5),则无论响应代码如何,都会添加标头字段。
请参阅文档了解更多详细信息。
对于您的示例,它看起来像这样:
location /api/get-hloc {
#add acccess-allow headers
add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Allow-Credentials' 'true' always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;
add_header 'Access-Control-Allow-Headers' 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type' always;
#try cached files
root /dev/shm/get-hloc/;
try_files /$arg_hash.hloc /stocks/graphics/get-iis-graphic?$args;
}
Run Code Online (Sandbox Code Playgroud)
请关注文档的以下段落:
可能有多个 add_header 指令。当且仅当当前级别上没有定义 add_header 指令时,这些指令才会从上一级继承。
这意味着,如果您在先前级别(例如服务器级别)上有 add_header 指令,它们将被忽略,并且仅使用当前位置级别的 add_header 指令。
| 归档时间: |
|
| 查看次数: |
6660 次 |
| 最近记录: |