js_header_filter
指令 `js_header_filter` 允许您定义一个 JavaScript 处理器,用于处理发送回客户端的 HTTP 响应头。
NGINX njs dynamic modules
·
locationif in locationlimit_except
语法js_header_filter function_name;
默认值none
上下文location, if in location, limit_except
参数1
说明
js_header_filter 指令用于指定一个将在响应头过滤阶段执行的 JavaScript 函数,该阶段属于 NGINX 请求处理过程。该函数可以在将响应发送给客户端之前操作 HTTP 响应头。它会接收所有相关的请求数据,并允许开发者利用 JavaScript 的灵活性执行复杂操作,例如基于自定义逻辑有条件地添加头、修改已有头,甚至完全移除头。
在将此指令定义在一个块中时,它只能接受一个参数:将用于管理头过滤的 JavaScript 函数名。此指令可用于的上下文包括 location、位于 location 内的 if 和 limit_except,使其在需要操作头的各种场景中具有灵活性。作为 NGINX JavaScript 模块的一部分,它使用了 njs 语言,njs 是 JavaScript 的一个子集,确保 JavaScript 开发者容易上手。
配置示例
location /api {
js_header_filter my_header_filter_function;
}⚠
确保 JavaScript 函数在 NGINX 配置上下文中被正确定义并且可访问。
⚠
注意 header 操作可能会影响缓存行为,因此在部署更改前务必彻底测试。
⚠
在 JavaScript 函数中使用同步阻塞调用可能导致性能问题;应始终优先选择非阻塞模式。