Caching Nginx proxy_缓存缓存502错误

Caching Nginx proxy_缓存缓存502错误,caching,nginx,Caching,Nginx,我正在使用Nginx proxy_缓存缓存来自节点服务器的响应。当该服务器脱机时,Nginx返回一个自定义502页。到目前为止一切进展顺利 当节点服务器恢复联机时,Nginx将持续返回502页5分钟(我的缓存时间)。如果我删除缓存目录中的所有文件,则不会有任何区别。如果我重新启动Nginx,它会破坏缓存并再次开始提供真正的内容 Nginx缓存502是否正常?请注意,它不是缓存来自后端服务器的502响应,而是缓存服务器不可访问的事实 我能做些什么来阻止这一切?我自己设法解决了这个问题。Nginx确

我正在使用Nginx proxy_缓存缓存来自节点服务器的响应。当该服务器脱机时,Nginx返回一个自定义502页。到目前为止一切进展顺利

当节点服务器恢复联机时,Nginx将持续返回502页5分钟(我的缓存时间)。如果我删除缓存目录中的所有文件,则不会有任何区别。如果我重新启动Nginx,它会破坏缓存并再次开始提供真正的内容

Nginx缓存502是否正常?请注意,它不是缓存来自后端服务器的502响应,而是缓存服务器不可访问的事实


我能做些什么来阻止这一切?

我自己设法解决了这个问题。Nginx确实缓存了上游服务器不可访问的知识


为了解决这个问题,我将缓存配置从
proxy\u cache\u valid any 5m
代理缓存
删除
any
意味着您只想缓存200、301和302个响应。

这同样适用于所有
*\u cache\u valid
指令,包括
uwsgi\u cache\u valid
uwsgi\u cache\u valid
uwsgi\u cache\u valid
指令。为了便于通过网络搜索发现,请澄清这一点。谢谢davidjb。我发现很明显,任何响应都会被缓存,但令人惊讶的是,没有响应的响应会被缓存。此外,我看到的所有关于清除nginx缓存的建议都建议您可以删除所有缓存文件。这对这个案子不起作用。