fastcgi_pass_request_headers

'fastcgi_pass_request_headers' 指令控制将请求头传递给 FastCGI 服务器的行为。 — NGINX HTTP Core

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

说明

'fastcgi_pass_request_headers' 指令用于 NGINX 配置中,用来决定是否将来自客户端请求的头部转发给 FastCGI 服务器。该指令接受一个布尔标志作为参数,允许你启用或禁用这些头部的传递。当设置为 'on' 时,NGINX 会传递来自客户端请求的所有头部,包括那些可能被中间代理或其他服务修改或添加的头部。相反,将其设置为 'off' 则表示不会向 FastCGI 服务器发送任何请求头。 有效使用此指令对于依赖某些头部才能正常工作的应用程序(例如 `HTTP_REFERER` 或 `USER_AGENT`)至关重要。不传递这些头部可能会导致期望特定请求头的 Web 应用或内容管理系统出现问题。同时,还应考虑转发某些头部的安全影响,因为这可能暴露客户端请求中的敏感信息,从而被滥用。 该指令可以在 http、server 或 location 上下文中设置,使其能够根据你的配置需求灵活应用。在将 NGINX 与 FastCGI 应用集成时,正确使用和理解此指令,特别是在性能和安全方面的影响,是关键。

配置示例

location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_pass_request_headers on;
    include fastcgi_params;
}

启用头信息时请谨慎,因为它们可能包含敏感信息。

确保你的 FastCGI 应用能够正确处理所传递的头信息。