我们有一个用例,其中我们使用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秒,它根本不会缓存,因此缓存中没有任何内容可以回退到后端服务器发生故障。
如果有人处理过类似的用例和/或对此有任何想法,请告诉我。
由于