Nginx 作为缓存代理:如果第一个返回 404,则尝试第二个上游

use*_*159 5 http nginx proxy cache

对于使用 nginx 作为缓存代理,有没有一种方法可以配置 2 个上游服务器,使其始终尝试第一个上游服务器,除非该服务器返回 404,并且只有在这种情况下它才会尝试第二个上游服务器?

我知道backup上游配置块中的选项,但只有在第一个服务器不可用时才尝试该服务器。我说的是第一台服务器是否可用,但只是特定请求的文件返回 404。

dro*_*kie 0

是的,您可以weight在上游组中增加一台服务器,并尝试proxy_next_upstream包含或排除您不希望发生切换的代码。这样,权重较大的服务器将服务大多数请求(多数/少数取决于权重,但无论如何,某些请求将由第二个服务器服务)。

尽管如此,仍然backup是正确的使用方法。我无法想象不使用某些始终包含所有数据的服务器的原因。