proxy_hide_header

在使用 proxy_pass 时,'proxy_hide_header' 指令会从发送给客户端的响应中移除指定的响应头。 — NGINX HTTP Core

proxy_hide_header
httpserverlocation
语法proxy_hide_header header_name;
默认值none
上下文http, server, location
模块NGINX HTTP Core
参数1

说明

`proxy_hide_header` 指令指示 NGINX 在将上游服务器的响应发送给客户端之前移除特定的 HTTP 响应头。这对于安全或隐私目的很有用,可以防止敏感信息在响应头中被泄露。该指令可以在 `http`、`server` 或 `location` 上下文中定义,根据 NGINX 服务器不同的作用域提供配置灵活性。该指令的参数由需要从响应中省略的头名组成。 在使用 `proxy_hide_header` 指令时,重要的是将有效的头名作为参数包含进来。如果指定的头在上游服务器的响应中不存在,则不会产生不良影响;NGINX 只会简单地省略该头,不会报错。该指令可以多次使用以隐藏多个头,从而全面控制返回给客户端的信息。用户在配置此指令时必须谨慎,确保不会无意中移除对应用功能至关重要的头,否则可能导致意外行为。

配置示例

location /api {
    proxy_pass http://backend;
    proxy_hide_header X-Powered-By;
}

确保头部名称正确并与响应中的头部大小写一致,因为在 HTTP 中头部是不区分大小写的,但在配置文件中可能会区分大小写。

此指令可以使用多个实例;请确保检查拼写错误,以避免隐藏头部出现令人困惑的行为。

在隐藏包含重要安全或应用信息的头部时要小心,这些信息可能是客户端正常工作所必需的。