我已经为我的系统配置了 NginX 监听端口 80,提供静态内容并将动态请求代理到后端服务器。
我可以将 NginX 配置为缓存后端生成的内容,但我希望仅在Backend
响应错误http 5xx
或完全关闭时才提供缓存的内容。
我们尝试了max-age 为 1 秒的proxy_cache_use_stale选项,它起作用了,但它有一个负面的方面......这只是在这 1 秒缓存老化内容期间从缓存中提供了数十个请求。这些来自缓存的请求将错过进一步Backend
的处理(例如统计信息)。
如果后端出现故障,我们只能忍受这种消极情绪,因此,缓存将充当备份或故障转移解决方案。但只要backend
启动并响应,就不应从缓存中提供任何请求。
我会很感激任何提示