]> granicus.if.org Git - apache/commitdiff
*) mod_proxy_fcgi: Suppress HTTP error 503 and message 01075,
authorEric Covener <covener@apache.org>
Fri, 15 Jan 2016 16:49:36 +0000 (16:49 +0000)
committerEric Covener <covener@apache.org>
Fri, 15 Jan 2016 16:49:36 +0000 (16:49 +0000)
     "Error dispatching request", when the cause appears to be
     the client closing the connection.

PR58118.

Submitted By: Tobias Adolph <adolph lrz.de>
Committed By: covener

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1724857 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
modules/proxy/mod_proxy_fcgi.c

diff --git a/CHANGES b/CHANGES
index 20991fa7bd3841de7382ecb2b1ca96843a7f1fcd..33666a4be574855841e99c8f3833405e2526f727 100644 (file)
--- 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 <adolph lrz.de>]
+
   *) 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]
index 48dc81f13ebd13a847259005ced3f437c4deea6c..4b5709709b89bd4c04b9aef95266f9115e49b3ed 100644 (file)
@@ -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,