首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Nginx proxy_cache_background_update在源错误时清除缓存

Nginx proxy_cache_background_update在源错误时清除缓存
EN

Stack Overflow用户
提问于 2018-06-16 19:52:58
回答 1查看 356关注 0票数 1

当结合使用proxy_cache_background_update onproxy_cache_use_stale updating时,当源站返回错误时,客户端将继续接收过期内容。

后台更新收到源站错误,是否可以刷新缓存项?

我这样做的目的是为了提高响应时间,我不想在源站宕机的情况下继续提供过时的内容。仅当更新缓存时。

EN

回答 1

Stack Overflow用户

发布于 2018-06-16 20:38:11

虽然不是完美的解决方案。我能够通过关闭proxy_cache_use_stale updating并让源服务器在缓存控制标头中使用stale-while-revalidate响应来实现此行为。

例如,我的源站返回header:

代码语言:javascript
运行
复制
cache-control: public, max-age=60, stale-while-revalidate=60

当客户端在1分钟后(max-age=60)请求资源时,nginx会在执行后台更新请求的同时,再返回一分钟的过时响应(state- while -revalidate=60)。

如果客户端在2分钟后请求资源,但资源仍然没有更新,它将直接转到源,因此会收到错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50887670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档