This commit should solve the issue indicated in PR 55415.
Httpd loops while serving a error document if:
1) The error document's content is proxied.
2) ProxyErrorOverride is set.
The solution proposed is to limit the use of ap_die only
to the initial request. I tested the change with very basic
scenarios but I am not sure if I got all the use cases,
feedback is really welcome.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1753167 13f79535-47bb-0310-9956-
ffa450edef68
-*- coding: utf-8 -*-
Changes with Apache 2.5.0
+ *) mod_proxy_fcgi: avoid loops when ProxyErrorOverride is enabled
+ and the error documents are proxied. PR 55415. [Luca Toscano]
+
*) mod_proxy_fcgi: read the whole FCGI response even when the content has
not been modified (HTTP 304) to avoid subsequent bogus reads and
confusing error messages logged. [Luca Toscano]
}
}
- if (conf->error_override &&
- ap_is_HTTP_ERROR(r->status)) {
+ if (conf->error_override
+ && ap_is_HTTP_ERROR(r->status) && ap_is_initial_req(r)) {
/*
* set script_error_status to discard
* everything after the headers