From aff9b8aef6a3d9e32e4f1ee7095908726b483d60 Mon Sep 17 00:00:00 2001 From: Ian Holsman Date: Fri, 31 May 2002 21:21:10 +0000 Subject: [PATCH] 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 --- modules/proxy/proxy_http.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/modules/proxy/proxy_http.c b/modules/proxy/proxy_http.c index ee9c75da1b..245e34bc25 100644 --- a/modules/proxy/proxy_http.c +++ b/modules/proxy/proxy_http.c @@ -449,7 +449,15 @@ apr_status_t ap_proxy_http_request(apr_pool_t *p, request_rec *r, origin->keepalive = 0; } - buf = apr_pstrcat(p, r->method, " ", url, " HTTP/1.1" CRLF, NULL); + 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); -- 2.40.0