srcache_store_pass_header
`srcache_store_pass_header` 指令指定应从上游响应传递到已存储缓存条目且不作修改的 HTTP 头。
Transparent subrequest-based caching layout for arbitrary NGINX locations
·
httpserverlocation
语法srcache_store_pass_header header_name;
默认值none
上下文http, server, location
参数1
说明
srcache_store_pass_header 指令是 ngx_srcache 模块的一部分,该模块允许 NGINX 执行透明的基于子请求的缓存。该指令专门用于控制在缓存存储响应时,哪些来自上游响应的头部应被保留并传递。默认情况下,NGINX 被配置为隐藏某些通常不相关或敏感的头部,例如 Set-Cookie 或 Connection。然而,使用 srcache_store_pass_header,管理员可以指定希望在缓存中保留的单个头部,确保当从缓存提供响应给后续客户端时,这些头部可以被获取。
该指令的语法允许接受一个或多个头部名称作为参数。例如,如果您想将上游响应中的 X-My-Custom-Header 传入缓存,可以这样设置:srcache_store_pass_header X-My-Custom-Header;。在某些头部对应用逻辑或客户端处理至关重要且不应被过滤的场景中,这特别有用。当指定的头部出现在上游服务器的响应中时,它们将被包含在供将来请求使用的缓存响应中,允许客户端直接访问这些头部,而不是在缓存过程中被剥离。需要注意的是,将敏感信息放在头部中传递如果未正确管理,可能导致安全漏洞。
配置示例
location /example {
srcache_store_pass_header X-My-Custom-Header;
srcache_store my_cache;
}⚠
小心传递可能会暴露敏感信息的请求头。
⚠
确保你传递的请求头对于应用功能是必要的,以避免不必要的开销。
⚠
可以指定多个请求头,但它们需要分别列出。例如: srcache_store_pass_header X-Header1; srcache_store_pass_header X-Header2;