Commit 32ec43cd authored by Jim Jagielski's avatar Jim Jagielski
Browse files

Add in proxy-scgi-pathinfo and proxy-fcgi-pathinfo envvars

to allow "best guess" calculation of PATH_INFO for backend
FCGI/SCGI servers

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1124979 13f79535-47bb-0310-9956-ffa450edef68
parent 09f21bbd
Loading
Loading
Loading
Loading
+4 −0
Changes for CHANGES: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -2,6 +2,10 @@

Changes with Apache 2.3.13

  *) mod_proxy_fcgi|scgi: Add support for "best guess" of PATH_INFO
     for SCGI/FCGI. PR 50880, 50851. [Mark Montague <mark catseye.org>,
     Jim Jagielski]

  *) mod_cache: When content is served stale, and there is no means to
     revalidate the content using ETag or Last-Modified, and we have
     mandated no stale-on-error behaviour, stand down and don't cache.
+16 −0
Changes for docs/manual/mod/mod_proxy_scgi.xml: 16 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -75,6 +75,22 @@
    </example>
</section>

<section id="env"><title>Environment Variables</title>
    <p>In addition to the configuration directives that control the
    behaviour of <module>mod_proxy</module>, there are a number of
    <dfn>environment variables</dfn> that control the SCGI protocol
    provider:</p>
    <dl>
        <dt>proxy-scgi-pathinfo</dt>
        <dd>By default <module>mod_proxy_scgi</module> will neither create
        nor export the <var>PATH_INFO</var> environment variable. This allows
        the backend SCGI server to correctly determine <var>SCRIPT_NAME</var>
        and <var>Script-URI</var> and be compliant with RFC 3875 section 3.3.
        If instead you need <module>mod_proxy_scgi</module> to generate
        a "best guess" for <var>PATH_INFO</var>, set this env-var.</dd>
    </dl>
</section>

<directivesynopsis>
<name>ProxySCGISendfile</name>
<description>Enable evaluation of <var>X-Sendfile</var> pseudo response
+4 −0
Changes for modules/proxy/mod_proxy_scgi.c: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -204,7 +204,11 @@ static int scgi_canon(request_rec *r, char *url)

    r->filename = apr_pstrcat(r->pool, "proxy:" SCHEME "://", host, sport, "/",
                              path, NULL);

    if (apr_table_get(r->subprocess_env, "proxy-scgi-pathinfo")) {
        r->path_info = apr_pstrcat(r->pool, "/", path, NULL);
    }

    return OK;
}