scgi_pass_request_headers

'scgi_pass_request_headers' 指令控制 NGINX 是否将 SCGI 请求头转发到后端。 — NGINX HTTP Core

scgi_pass_request_headers
httpserverlocation
语法scgi_pass_request_headers on | off;
默认值off
上下文http, server, location
模块NGINX HTTP Core
参数flag

说明

'scgi_pass_request_headers' 指令用于 NGINX 的 SCGI 模块,用来决定是否将来自客户端请求的请求头信息传递给 SCGI 后端服务器。当该指令启用(设置为 'on')时,NGINX 会将这些头转发到后端,这对于依赖这些头进行处理的框架或应用程序可能是必要的。相反,如果设置为 'off',NGINX 将不会向后端发送任何请求头,这在不需要请求头的情况下可能有助于优化性能。 该指令可以在多个上下文中使用,包括 'http'、'server' 和 'location'。默认情况下,该指令设置为 'off'。因此,除非管理员明确指定,否则头部不会被传递给后端 SCGI 服务器,如果这些头对所提供的应用程序至关重要,可能会导致意外行为。因此,在配置此指令时需要谨慎考虑,确保必要的头确实被转发,特别是对于依赖身份验证或特定客户端数据的应用程序。

配置示例

location /scgi {
    scgi_pass your_backend;
    scgi_pass_request_headers on;
}

当后端应用需要特定的请求头时,忘记启用此指令。

在错误的上下文中使用此指令(例如 'if' 条件)可能会导致意外结果。确保将其放在 'http'、'server' 或 'location' 块中。在使用之前,请确保 SCGI 后端已正确配置以处理转发的请求头。