Welcome! Log In Create A New Profile

Advanced

[nginx] Cache: ignore stale-if-error for 4xx and 5xx codes.

Roman Arutyunyan
August 14, 2020 05:52AM
details: https://hg.nginx.org/nginx/rev/7015f26aef90
branches:
changeset: 7702:7015f26aef90
user: Roman Arutyunyan <arut@nginx.com>
date: Wed Jul 29 13:28:04 2020 +0300
description:
Cache: ignore stale-if-error for 4xx and 5xx codes.

Previously the stale-if-error extension of the Cache-Control upstream header
triggered the return of a stale response for all error conditions that can be
specified in the proxy_cache_use_stale directive. The list of these errors
includes both network/timeout/format errors, as well as some HTTP codes like
503, 504, 403, 429 etc. The latter prevented a cache entry from being updated
by a response with any of these HTTP codes during the stale-if-error period.

Now stale-if-error only works for network/timeout/format errors and ignores
the upstream HTTP code. The return of a stale response for certain HTTP codes
is still possible using the proxy_cache_use_stale directive.

This change also applies to the stale-while-revalidate extension of the
Cache-Control header, which triggers stale-if-error if it is missing.

Reported at
http://mailman.nginx.org/pipermail/nginx/2020-July/059723.html.

diffstat:

src/http/ngx_http_upstream.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diffs (12 lines):

diff -r 8ca47f094d5b -r 7015f26aef90 src/http/ngx_http_upstream.c
--- a/src/http/ngx_http_upstream.c Fri Aug 14 12:45:52 2020 +0300
+++ b/src/http/ngx_http_upstream.c Wed Jul 29 13:28:04 2020 +0300
@@ -2473,7 +2473,7 @@ ngx_http_upstream_test_next(ngx_http_req
#if (NGX_HTTP_CACHE)

if (u->cache_status == NGX_HTTP_CACHE_EXPIRED
- && ((u->conf->cache_use_stale & un->mask) || r->cache->stale_error))
+ && (u->conf->cache_use_stale & un->mask))
{
ngx_int_t rc;

_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[nginx] Cache: ignore stale-if-error for 4xx and 5xx codes.

Roman Arutyunyan 520 August 14, 2020 05:52AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 301
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready