more_set_input_headers
指令 `more_set_input_headers` 允许您在 NGINX 配置中添加、修改或清除输入头。
NGINX Headers More dynamic module
·
httpserverlocationif in location
语法more_set_input_headers header1; [header2...];
默认值none
上下文http, server, location, if in location
参数1+
说明
more_set_input_headers 指令是 ngx_headers_more 模块的一部分,该模块用于在 NGINX 中管理 HTTP 头。该指令专门针对输入头,可在多种上下文中使用,例如 http、server、location,以及 location 内的 'if' 块中。该指令可以接受一个或多个头部规范作为参数,从而实现灵活的修改。每个输入头都可以根据预定义条件被设置、替换或移除。
使用 more_set_input_headers 时,可以使用不同的选项。例如,使用 -r 标志时,只有在现有头部已经存在的情况下才会被替换。这为头部操作添加了控制层,确保不会意外覆盖不存在的头部。此外,您可以指定内容类型过滤,指令仅会根据请求的内容类型对某些头部生效。一次调用中使用多个 MIME 类型也是被支持的,从而在头部管理上提供更细粒度的控制。
配置示例
location /example {
more_set_input_headers 'X-Example-Header: value';
more_set_input_headers -r 'X-Existing-Header: new-value';
}⚠
确保你尝试设置的 headers 在 request 中存在;否则,在使用 -r flag 时替换将不会生效。
⚠
在 headers 中使用未定义的变量可能会导致意外行为,如果这些变量在使用前没有被正确定义。