Commit 1b95832a authored by Ian Holsman's avatar Ian Holsman
Browse files

add 2 new enviornment variables to deal with misbehaving backends

"proxy-nokeepalive" which removes the Connection: line completely
"force-proxy-request-1.0" which forces the request to be HTTP/1.0
this allows apache to reverse proxy misbehaving appservers


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95456 13f79535-47bb-0310-9956-ffa450edef68
parent 69109565
Loading
Loading
Loading
Loading
+8 −0
Changes for modules/proxy/proxy_http.c: 8 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -449,7 +449,15 @@ apr_status_t ap_proxy_http_request(apr_pool_t *p, request_rec *r,
        origin->keepalive = 0;
    }

    if ( apr_table_get(r->subprocess_env,"force-proxy-request-1.0")) {
        buf = apr_pstrcat(p, r->method, " ", url, " HTTP/1.0" CRLF, NULL);
    } else {
        buf = apr_pstrcat(p, r->method, " ", url, " HTTP/1.1" CRLF, NULL);
    }
    if ( apr_table_get(r->subprocess_env,"proxy-nokeepalive")) {
        apr_table_unset(r->headers_in, "Connection");
        origin->keepalive = 0;
    }
    ap_xlate_proto_to_ascii(buf, strlen(buf));
    e = apr_bucket_pool_create(buf, strlen(buf), p, c->bucket_alloc);
    APR_BRIGADE_INSERT_TAIL(bb, e);