more_clear_input_headers

指令 `more_clear_input_headers` 从传入请求中移除指定的请求头。

语法more_clear_input_headers header_name [header_name ...];
默认值none
上下文http, server, location, if in location
参数1+

说明

指令 more_clear_input_headers 是 NGINX 的 Headers More 动态模块的一部分,增强了 NGINX 操作 HTTP 头的能力。该指令允许用户指定一个或多个应从输入 HTTP 请求中删除的头部字段。当某些头部对应用处理不必要或可能干扰后端流程或安全协议时,这尤其有用。该指令可接受多个头名称作为参数,从而可以在单条声明中方便地清除多个头。

在配置上下文方面,该指令可以在 httpserverlocation,甚至在 location 内的 if 条件中使用。当在某个配置块中使用时,进入该块的请求会被清除所指定的头。重要的是,该指令仅删除存在于传入请求中的头;如果指定的某个头不存在,则不会产生任何效果。头名称不区分大小写,这意味着 'X-MyHeader' 和 'x-myheader' 将被视为相同。这在 NGINX 环境中为头管理提供了灵活性。

对于希望保持清晰的头管理并因此控制传递给后端服务的数据的用户来说,该指令是一个关键组件。在处理需要精确请求格式的 API 或微服务时尤为重要,能确保没有不需要的数据被带入处理阶段。

配置示例

location /api {
    more_clear_input_headers 'X-Unwanted-Header';
    more_clear_input_headers 'X-May-Contain-Sensitive-Data';
}

确保您要清除的请求头存在于请求中;否则不会生效。

在清除类似 'Authorization' 或 'Content-Type' 的请求头时要小心,因为这可能会破坏应用程序的功能。

在 'if' 块内使用此指令可能导致复杂的行为;请确保进行充分测试。

← 返回所有指令