From 33a5f0556a412e720622d000c02d56e2a94a8e90 Mon Sep 17 00:00:00 2001 From: Eric Covener Date: Fri, 15 Jan 2016 16:49:36 +0000 Subject: [PATCH] *) mod_proxy_fcgi: Suppress HTTP error 503 and message 01075, "Error dispatching request", when the cause appears to be the client closing the connection. PR58118. Submitted By: Tobias Adolph Committed By: covener git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1724857 13f79535-47bb-0310-9956-ffa450edef68 --- CHANGES | 5 +++++ modules/proxy/mod_proxy_fcgi.c | 10 ++++++++++ 2 files changed, 15 insertions(+) diff --git a/CHANGES b/CHANGES index 20991fa7bd..33666a4be5 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,11 @@ -*- coding: utf-8 -*- Changes with Apache 2.5.0 + *) mod_proxy_fcgi: Suppress HTTP error 503 and message 01075, + "Error dispatching request", when the cause appears to be + due to the client closing the connection. + PR58118. [Tobias Adolph ] + *) mod_cgid: Message 02550, failure to flush a response to the client, is now logged at TRACE1 level to match the underlying core output filter severity. [Eric Covener] diff --git a/modules/proxy/mod_proxy_fcgi.c b/modules/proxy/mod_proxy_fcgi.c index 48dc81f13e..4b5709709b 100644 --- a/modules/proxy/mod_proxy_fcgi.c +++ b/modules/proxy/mod_proxy_fcgi.c @@ -833,6 +833,16 @@ static int fcgi_do_request(apr_pool_t *p, request_rec *r, rv = dispatch(conn, conf, r, temp_pool, request_id, &err, &bad_request, &has_responded); if (rv != APR_SUCCESS) { + /* If the client aborted the connection during retrieval or (partially) + * sending the response, dont't return a HTTP_SERVICE_UNAVAILABLE, since + * this is not a backend problem. */ + if (r->connection->aborted) { + ap_log_rerror(APLOG_MARK, APLOG_TRACE1, rv, r, + "The client aborted the connection."); + conn->close = 1; + return OK; + } + ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r, APLOGNO(01075) "Error dispatching request to %s: %s%s%s", server_portstr, -- 2.40.0