scgi_param
`scgi_param` 指令为发往 SCGI 服务器的请求设置 SCGI 参数。 — NGINX HTTP Core
scgi_param
httpserverlocation
语法scgi_param name value [empty];
默认值none
上下文http, server, location
模块NGINX HTTP Core
参数2-3
说明
`scgi_param` 指令在 NGINX 中用于定义在代理请求时传递给 SCGI (Simple Common Gateway Interface) 应用的参数。它允许传递变量和值,SCGI 服务器可以在处理请求时使用这些值。该指令可接受两个到三个参数:参数名、参数值,以及可选的标志,用于指示当参数值为空时是否从请求头中移除该参数。 `scgi_param` 使用时,你可以设置与所代理的 SCGI 应用要求相符的自定义参数。参数作为 SCGI 请求的一部分发送,使后端应用能够根据这些值动态响应。因此,必须确保参数名与 SCGI 应用期望的名称相对应,以避免请求处理中的问题。 一个常被忽视的方面是,当参数值为空字符串时,除非提供了可选的第三个参数并且其值为 'on',否则该参数不会被发送;该选项指示 NGINX 在请求中包含空参数。这个特性对于调试或确保接收方 SCGI 应用在某些参数未提供或为空时仍能按预期工作非常重要。
配置示例
location /example {
scgi_pass 127.0.0.1:9000;
scgi_param SCRIPT_NAME /example;
scgi_param QUERY_STRING $query_string;
scgi_param REQUEST_METHOD $request_method;
}⚠
确保参数名称与 SCGI 应用程序期望的一致。
⚠
除非通过 'empty' 选项明确指示,否则空参数不会被发送。
⚠
如果参数值包含需要编码的字符,应对参数值进行 URL-encoded。