add_header_inherit
`add_header_inherit` 指令允许在 NGINX 配置的指定上下文级别应用继承的头部指令。 — NGINX HTTP Core
add_header_inherit
httpserverlocationif in location
语法add_header_inherit on | off;
默认值off
上下文http, server, location, if in location
模块NGINX HTTP Core
参数1
说明
`add_header_inherit` 指令控制使用 `add_header` 设置的头部指令的继承。当指定此指令时,它允许在父上下文(例如 http 或 server)中定义的任何 `add_header` 指令被子上下文(如 location)继承。这对于确保在不同配置级别中的头部一致性特别有用,无需在每个上下文中重新定义头部,从而简化配置管理。该指令接受一个参数,用于指定是否启用此继承,其中 `on` 允许继承,`off` 禁止继承。 默认情况下,继承是禁用的,除非显式启用。当启用继承时,父上下文中添加的任何头部将自动包含在子上下文的响应中,从而允许服务器在配置的特定块中全局应用并保持一致的头部,例如安全头、缓存策略或自定义头。通过减少在多个上下文块或 location 中重复定义头部,这可以提高安全性和性能。
配置示例
http {
add_header X-Frame-Options "DENY";
server {
add_header_inherit on;
location /api {
# /api will inherit the X-Frame-Options header
}
}
}⚠
如果 `add_header_inherit` 设置为 `off`,在父级上下文中定义的响应头将不会被继承,可能导致响应中缺少这些响应头。
⚠
确保在正确的上下文级别定义 `add_header_inherit`,以实现预期的响应头继承行为。