Proxy_cache_bypass $http_cache_control verstehen

Proxy_cache_bypass $http_cache_control verstehen

EntsprechendNginx-DokumentationAnproxy_cache_bypass

Definiert Bedingungen, unter denen die Antwort nicht aus einem Cache entnommen wird. Wenn mindestens ein Wert der String-Parameter nicht leer und ungleich „0“ ist, wird die Antwort nicht aus dem Cache entnommen:

Ich möchte, dass die Anfrage mit dem Header Cache-Control: no-cacheden Nginx-Cache umgeht und an den Upstream-Dienst weitergeleitet wird. Soll ich die folgende Konfiguration verwenden?

proxy_cache_bypass $http_cache_control;

Ich habe gefragt, weil es so aussieht, als würde Nginx den Cache umgehen, wenn der Cache-ControlWert ungleich Null ist, ohne zu prüfen, ob sein Inhalt ist no-cache. Wenn nicht, was wäre der beste Weg, um mein Ziel zu erreichen?

Antwort1

Sie haben Recht. Sie sollten ein verwenden, mapumWählen Sie den richtigen Wertum den Cache zu steuern.

Zum Beispiel:

map $http_cache_control $cache_bypass {
    no-cache   1;
}

proxy_cache_bypass $cache_bypass;

Beachten Sie, dass der mapBlock außerhalb des serverBlocks platziert werden muss.

verwandte Informationen