allow to handle 301/302 in error_page
diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c
index 83779a4..f3b62d9 100644
--- a/src/http/ngx_http_core_module.c
+++ b/src/http/ngx_http_core_module.c
@@ -3900,9 +3900,9 @@
return NGX_CONF_ERROR;
}
- if (err->status < 400 || err->status > 599) {
+ if (err->status < 300 || err->status > 599) {
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
- "value \"%V\" must be between 400 and 599",
+ "value \"%V\" must be between 300 and 599",
&value[i]);
return NGX_CONF_ERROR;
}
diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c
index 35bd35f..fa43489 100644
--- a/src/http/ngx_http_upstream.c
+++ b/src/http/ngx_http_upstream.c
@@ -1548,7 +1548,7 @@
/* rc == NGX_OK */
- if (u->headers_in.status_n >= NGX_HTTP_BAD_REQUEST) {
+ if (u->headers_in.status_n > NGX_HTTP_SPECIAL_RESPONSE) {
if (r->subrequest_in_memory) {
u->buffer.last = u->buffer.pos;