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 index f567a43..ace467f 100644 --- a/src/http/ngx_http_upstream.c +++ b/src/http/ngx_http_upstream.c
@@ -1441,11 +1441,6 @@ 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_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 @@ return NGX_DECLINED; } - status = u->headers_in.status_n; - err_page = clcf->error_pages->elts; for (i = 0; i < clcf->error_pages->nelts; i++) {