• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • mod_proxy_scgi

    描述:用于mod_proxy的 SCGI 网关模块
    状态:延期
    模块标识符:proxy_scgi_module
    源文件:mod_proxy_scgi.c
    兼容性:可在 version 2.2.14 及更高版本中使用

    摘要

    该模块需要mod_proxy的服务。它为SCGI 协议,version 1提供支持。

    因此,为了获得处理 SCGI 协议的能力,必须在服务器中存在mod_proxy和mod_proxy_scgi。

    警告

    在有保护你的服务器之前不要启用代理。开放代理服务器对您的网络和整个 Internet 都是危险的。

    例子

    请记住,为了使以下示例有效,您必须启用mod_proxy和mod_proxy_scgi。

    简单的网关

    ProxyPass "/scgi-bin/" "scgi://localhost:4000/"
    

    除了上面列出的代理模块之外,平衡网关还需要mod_proxy_balancer和至少一个负载均衡器算法模块,例如mod_lbmethod_byrequests。mod_lbmethod_byrequests是默认值,将用于此 example configuration。

    平衡的网关

    ProxyPass "/scgi-bin/" "balancer://somecluster/"
    <Proxy "balancer://somecluster">
        BalancerMember "scgi://localhost:4000"
        BalancerMember "scgi://localhost:4001"
    </Proxy>
    

    环境变量

    除了控制mod_proxy行为的 configuration 指令外,环境变量还可以控制 SCGI 协议提供程序:

    • proxy-scgi-pathinfo
      默认情况下 mod_proxy_scgi 既不会创建也不会 portport PATH_INFO 环境变量。这允许后端 SCGI 服务器正确地确定 SCRIPTNAME 和 Script-URI 并且符合 RFC 3875 部分 3.3.如果您需要 mod_proxy_scgi 为 PATH_INFO 生成“最佳猜测”,请设置此 env-var。必须在 SetEnv 生效之前设置变量。可以使用 SetEnvIf 代替:SetEnvIf Request_URI。 proxy-scgi-pathinfo

    ProxySCGIInternalRedirect 指令

    描述:启用或禁用后端的内部重定向响应
    句法:ProxySCGIInternalRedirect On\|Off\|Headername
    默认:ProxySCGIInternalRedirect On
    Context:server config,virtual host,目录
    状态:延期
    模块:mod_proxy_scgi
    兼容性:Headername feature 可在 version 2.4.13 及更高版本中使用

    ProxySCGIInternalRedirect使后端能够在内部将网关重定向到不同的 URL。此 feature 源自mod_cgi,如果响应状态为OK(200)且响应包含Location(或已配置的备用标头)且其 value 以斜杠(/)开头,则会在内部重定向响应。此 value 被解释为 Apache httpd 内部重定向到的新本地 URL。

    在这方面mod_proxy_scgi与mod_cgi相同,除了你可以关闭 feature 或指定使用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>
    

    ProxySCGISendfile 指令

    描述:启用 X-Sendfile 伪响应头的 evaluation
    句法:ProxySCGISendfile On\|Off\|Headername
    默认:ProxySCGISendfile Off
    Context:server config,virtual host,目录
    状态:延期
    模块:mod_proxy_scgi

    ProxySCGISendfile指令使 SCGI 后端允许 files 直接由网关提供。这对于 performance 目的很有用- httpd 可以使用sendfile或其他优化,如果文件来自后端 socket,这是不可能的。此外,文件内容不会传输两次。

    ProxySCGISendfile参数确定网关行为:

    • Off
      没有特殊处理。
    • On
      网关查找名为 X-Sendfile 的后端响应头,并将 value 解释为要服务的文件名。标题将从最终响应 headers 中删除。这相当于 ProxySCGISendfile X-Sendfile。
    • 还要别的吗
      与 On 类似,但该参数不是硬编码头 name X-Sendfile,而是用作头 name。

    # Use the default header (X-Sendfile)
    ProxySCGISendfile On
    
    # Use a different header
    ProxySCGISendfile X-Send-Static
    

    上篇:mod_proxy_http2

    下篇:mod_proxy_uwsgi