mirror of
https://github.com/apache/httpd.git
synced 2025-08-08 15:02:10 +03:00
mod_proxy: Ensure network errors detected by the proxy are returned as
504 Gateway Timout as opposed to 502 Bad Gateway, in order to be compliant with RFC2616 14.9.4 Cache Revalidation and Reload Controls. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1480058 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -2203,7 +2203,7 @@ ap_proxy_determine_connection(apr_pool_t *p, request_rec *r,
|
||||
}
|
||||
|
||||
if (err != APR_SUCCESS) {
|
||||
return ap_proxyerror(r, HTTP_BAD_GATEWAY,
|
||||
return ap_proxyerror(r, HTTP_GATEWAY_TIME_OUT,
|
||||
apr_pstrcat(p, "DNS lookup failure for: ",
|
||||
conn->hostname, NULL));
|
||||
}
|
||||
@@ -2761,7 +2761,7 @@ PROXY_DECLARE(void) ap_proxy_backend_broke(request_rec *r,
|
||||
*/
|
||||
if (r->main)
|
||||
r->main->no_cache = 1;
|
||||
e = ap_bucket_error_create(HTTP_BAD_GATEWAY, NULL, c->pool,
|
||||
e = ap_bucket_error_create(HTTP_GATEWAY_TIME_OUT, NULL, c->pool,
|
||||
c->bucket_alloc);
|
||||
APR_BRIGADE_INSERT_TAIL(brigade, e);
|
||||
e = apr_bucket_eos_create(c->bucket_alloc);
|
||||
@@ -3281,7 +3281,7 @@ PROXY_DECLARE(int) ap_proxy_pass_brigade(apr_bucket_alloc_t *bucket_alloc,
|
||||
"Error during SSL Handshake with"
|
||||
" remote server");
|
||||
}
|
||||
return APR_STATUS_IS_TIMEUP(status) ? HTTP_GATEWAY_TIME_OUT : HTTP_BAD_GATEWAY;
|
||||
return HTTP_GATEWAY_TIME_OUT;
|
||||
}
|
||||
else {
|
||||
return HTTP_BAD_REQUEST;
|
||||
|
Reference in New Issue
Block a user