scgi_pass_request_body
scgi_pass_request_body 指令在使用 SCGI 代理时控制是否将请求主体发送到 SCGI 服务器。
NGINX HTTP Core
·
httpserverlocation
语法scgi_pass_request_body on | off;
默认值on
上下文http, server, location
参数flag
说明
scgi_pass_request_body 指令是用于 SCGI 服务器配置的一个标志。启用时,该指令表示应将整个请求主体转发到由 scgi_pass 指令指定的 SCGI 服务器。如果该指令被设置为 'off',则不会转发请求主体;在 SCGI 后端不需要请求主体的情况下,这有助于节省资源和带宽。
该指令可以在 http、server 或 location 块的上下文中使用。它接受一个参数(一个标志),可以将其设置为 on(传递请求主体)或 off(不传递)。当未指定该指令时,默认行为是根据请求的上下文以及其他相关指令的配置决定是否传递请求主体。
在使用该指令时,应仔细考虑 SCGI 应用的需求。有些 SCGI 应用可能需要请求主体进行处理,而另一些则可能不需要。配置错误可能导致 SCGI 后端对请求处理不当,从而引发数据处理或响应生成问题。
配置示例
location /scgi {
scgi_pass http://backend;
scgi_pass_request_body on;
}⚠
将 scgi_pass_request_body 设置为 off 可能导致意外行为,尤其当 SCGI 应用期望有请求体时。
⚠
在切换此指令之前,请确保 SCGI 应用在处理请求体方面的兼容性。