diff options
author | Ruediger Pluem <rpluem@apache.org> | 2006-04-02 19:25:34 +0000 |
---|---|---|
committer | Ruediger Pluem <rpluem@apache.org> | 2006-04-02 19:25:34 +0000 |
commit | c39b93274c2a4f3bb1588afd1ea0663eeab5dcab (patch) | |
tree | 2147b257263397cbade59fdc79a2149caa4a4d73 | |
parent | 6ec2ac8fcb16b87855b145f9d2f1256380316f9f (diff) | |
download | httpd-c39b93274c2a4f3bb1588afd1ea0663eeab5dcab.tar.gz |
Merge r379237 from trunk:
* Disable persistent connections for SSL backends again as we do not
handle them correctly, because we recreate backend->connection for each
request and thus try to initialize an already existing SSL connection.
Noticed by: jorton
Submitted by: rpluem
Reviewed by: rpluem, trawick, jim
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@390885 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | STATUS | 10 | ||||
-rw-r--r-- | modules/proxy/mod_proxy_http.c | 10 |
2 files changed, 9 insertions, 11 deletions
@@ -74,16 +74,6 @@ RELEASE SHOWSTOPPERS: PATCHES ACCEPTED TO BACKPORT FROM TRUNK: [ start all new proposals below, under PATCHES PROPOSED. ] - * mod_proxy_http: Disable persistent connections for SSL backends as we do - not handle them correctly, because we recreate backend->connection for - each request and thus try to initialize an already existing SSL - connection. - Trunk version of patch: - http://svn.apache.org/viewcvs?rev=379237&view=rev - Backport version for 2.2.x of patch: - Trunk version of patch works - +1 rpluem, trawick, jim - PATCHES PROPOSED TO BACKPORT FROM TRUNK: diff --git a/modules/proxy/mod_proxy_http.c b/modules/proxy/mod_proxy_http.c index 4d59be05ed..9d439a61ee 100644 --- a/modules/proxy/mod_proxy_http.c +++ b/modules/proxy/mod_proxy_http.c @@ -987,7 +987,7 @@ skip_body: * otherwise sent Connection: Keep-Alive. */ if (!force10) { - if (p_conn->close) { + if (p_conn->close || p_conn->close_on_recycle) { buf = apr_pstrdup(p, "Connection: close" CRLF); } else { @@ -1672,6 +1672,14 @@ static int proxy_http_handler(request_rec *r, proxy_worker *worker, backend->is_ssl = is_ssl; + /* + * TODO: Currently we cannot handle persistent SSL backend connections, + * because we recreate backend->connection for each request and thus + * try to initialize an already existing SSL connection. This does + * not work. + */ + if (is_ssl) + backend->close_on_recycle = 1; /* Step One: Determine Who To Connect To */ if ((status = ap_proxy_determine_connection(p, r, conf, worker, backend, |