当后端关闭时,nginx缓存代理页面可以稍后用作陈旧内容

时间:2014-08-22 21:58:01

标签: caching nginx proxy

我们有一个用例,其中我们使用nginx作为代理,但如果后端关闭,nginx应该能够从缓存中提供内容(仅当后端关闭时)。

据我所知,nginx不会缓存标记为代理的页面。

实现这一目标的一种方法是将这些页面缓存设置为nginx中可能的最小时间,我想是1秒,以便nginx缓存它,然后如果后续请求失败,nginx可以获取这个陈旧数据。 / p>

    proxy_cache_key "$scheme$host$uri$is_args$args";

    proxy_cache_valid 200 302 1s;
    proxy_cache_valid 404     1s;

    proxy_cache_use_stale   error timeout invalid_header updating http_500 http_502 http_503 http_504 http_404;

这种方法的问题是它应该仍然缓存1秒,这是我不想要的。

如果我将其更改为0秒,它根本不会缓存,因此缓存中没有任何内容可以回退到后端服务器发生故障。

如果有人处理过类似的用例和/或对此有任何想法,请告诉我。

由于

0 个答案:

没有答案