Apache HTTP Server 版本 2.4
描述 | 用于 mod_proxy 的 SCGI 网关模块 |
---|---|
状态 | 扩展 |
模块标识符 | proxy_scgi_module |
源文件 | mod_proxy_scgi.c |
兼容性 | 在版本 2.2.14 及更高版本中可用 |
此模块需要 mod_proxy
的服务。它提供对 SCGI 协议,版本 1 的支持。
因此,为了获得处理 SCGI 协议的能力,mod_proxy
和 mod_proxy_scgi
必须存在于服务器中。
在您 保护您的服务器 之前,请勿启用代理。开放式代理服务器对您的网络和整个互联网都构成危险。
请记住,为了使以下示例正常工作,您必须启用 mod_proxy
和 mod_proxy_scgi
。
ProxyPass "/scgi-bin/" "scgi://localhost:4000/"
平衡网关需要 mod_proxy_balancer
以及至少一个负载均衡算法模块,例如 mod_lbmethod_byrequests
,以及上面列出的代理模块。 mod_lbmethod_byrequests
是默认的,将用于此示例配置。
ProxyPass "/scgi-bin/" "balancer://somecluster/" <Proxy "balancer://somecluster"> BalancerMember "scgi://localhost:4000" BalancerMember "scgi://localhost:4001" </Proxy>
除了控制 mod_proxy
行为的配置指令之外,一个 环境变量 也可以控制 SCGI 协议提供程序
mod_proxy_scgi
既不会创建也不会导出 PATH_INFO 环境变量。这允许后端 SCGI 服务器正确确定 SCRIPT_NAME 和 Script-URI 并符合 RFC 3875 第 3.3 节。如果您需要 mod_proxy_scgi
为 PATH_INFO 生成“最佳猜测”,请设置此环境变量。该变量必须在 SetEnv
生效之前设置。可以使用 SetEnvIf
代替:SetEnvIf Request_URI . proxy-scgi-pathinfo
描述 | 启用或禁用来自后端的内部重定向响应 |
---|---|
语法 | ProxySCGIInternalRedirect On|Off|Headername |
默认值 | ProxySCGIInternalRedirect On |
上下文 | 服务器配置、虚拟主机、目录 |
状态 | 扩展 |
模块 | mod_proxy_scgi |
兼容性 | Headername 功能在版本 2.4.13 及更高版本中可用 |
ProxySCGIInternalRedirect
允许后端将网关内部重定向到不同的 URL。此功能源自 mod_cgi
,如果响应状态为 OK
(200
) 并且响应包含 Location
(或配置的备用标头)并且其值以斜杠 (/
) 开头,则它会内部重定向响应。此值被解释为 Apache httpd 内部重定向到的新本地 URL。
mod_proxy_scgi
在这方面与 mod_cgi
相同,只是您可以关闭此功能或指定使用除 Location
之外的标头。
ProxySCGIInternalRedirect Off # Django and some other frameworks will fully qualify "local URLs" # set by the application, so an alternate header must be used. <Location /django-app/> ProxySCGIInternalRedirect X-Location </Location>
描述 | 启用对 X-Sendfile 伪响应标头的评估 |
---|---|
语法 | ProxySCGISendfile On|Off|Headername |
默认值 | ProxySCGISendfile Off |
上下文 | 服务器配置、虚拟主机、目录 |
状态 | 扩展 |
模块 | mod_proxy_scgi |
ProxySCGISendfile
指令允许 SCGI 后端让文件直接由网关提供服务。这对于性能目的很有用——httpd 可以使用 sendfile
或其他优化,如果文件来自后端套接字,则这些优化是不可能的。此外,文件内容不会传输两次。
ProxySCGISendfile
参数决定网关行为
Off
On
X-Sendfile
的后端响应标头,并将该值解释为要服务的文件名。该标头将从最终响应标头中删除。这等效于 ProxySCGISendfile X-Sendfile
。On
类似,但不是使用硬编码的标头名称 X-Sendfile
,而是使用该参数作为标头名称。# Use the default header (X-Sendfile) ProxySCGISendfile On # Use a different header ProxySCGISendfile X-Send-Static