# HG changeset patch # User Igor Sysoev # Date 1232025045 0 # Node ID 0c117a89f3999de4c908f7fc5c75e967c2897937 # Parent 939b40aa9ab4ae327511a6446a420921f09a217f in miss case memcached module returned END instead of default 404 page body the bug has been introduced in r2269 diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c --- a/src/http/ngx_http_upstream.c +++ b/src/http/ngx_http_upstream.c @@ -1441,11 +1441,6 @@ ngx_http_upstream_test_next(ngx_http_req return NGX_OK; } - if (status == NGX_HTTP_NOT_FOUND && u->conf->intercept_404) { - ngx_http_upstream_finalize_request(r, u, NGX_HTTP_NOT_FOUND); - return NGX_OK; - } - #if (NGX_HTTP_CACHE) if (u->peer.tries == 0 && u->stale && (u->conf->use_stale & un->mask)) { @@ -1471,6 +1466,13 @@ ngx_http_upstream_intercept_errors(ngx_h ngx_http_err_page_t *err_page; ngx_http_core_loc_conf_t *clcf; + status = u->headers_in.status_n; + + if (status == NGX_HTTP_NOT_FOUND && u->conf->intercept_404) { + ngx_http_upstream_finalize_request(r, u, NGX_HTTP_NOT_FOUND); + return NGX_OK; + } + if (!u->conf->intercept_errors) { return NGX_DECLINED; } @@ -1481,8 +1483,6 @@ ngx_http_upstream_intercept_errors(ngx_h return NGX_DECLINED; } - status = u->headers_in.status_n; - err_page = clcf->error_pages->elts; for (i = 0; i < clcf->error_pages->nelts; i++) {