From: Luca Toscano Date: Fri, 23 Dec 2016 17:34:11 +0000 (+0000) Subject: Return HTTP 504 rather than 503 when a proxy timeout is hit. X-Git-Tag: 2.5.0-alpha~875 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ef6fbcf590016247e9ee2fac92148aa2edb0dac4;p=thirdparty%2Fapache%2Fhttpd.git Return HTTP 504 rather than 503 when a proxy timeout is hit. Part of the review for PR: 56188 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1775858 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index 92e1c4bdf3c..6cf0e269f31 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,9 @@ -*- coding: utf-8 -*- Changes with Apache 2.5.0 + *) mod_proxy_fcgi: Return HTTP 504 rather than 503 in case of proxy timeout. + [Luca Toscano] + *) mod_proxy_{ajp,fcgi}: Fix a possible crash when reusing an established backend connection, happening with LogLevel trace2 or higher configured, or at any log level with compilers not detected as C99 compliant (e.g. diff --git a/modules/proxy/mod_proxy_fcgi.c b/modules/proxy/mod_proxy_fcgi.c index cf3455c5072..397a1a77826 100644 --- a/modules/proxy/mod_proxy_fcgi.c +++ b/modules/proxy/mod_proxy_fcgi.c @@ -880,6 +880,9 @@ static int fcgi_do_request(apr_pool_t *p, request_rec *r, if (bad_request) { return ap_map_http_request_error(rv, HTTP_BAD_REQUEST); } + if (APR_STATUS_IS_TIMEUP(rv)) { + return HTTP_GATEWAY_TIME_OUT; + } return HTTP_SERVICE_UNAVAILABLE; }