Nginx add_header und cache-control
Wenn Sie die add_header-Direktive im nginx, der header wird Hinzugefügt, um die Reaktion kommt aus dem origin-server.
Sagen, dass die origin-server zurück, cache-control public, max-age=60. Aber in der nginx-reverse-proxy-Speicherort, von dem Sie etwas wie:
add_header cache-control public, max-age=10
Was bedeutet das genau? Es gibt 2 verschiedene Szenarien, die ich denken kann:
1) Nginx respektiert die cache-control-header aus dem Ursprungs-server und speichert den Inhalt in seinem cache mit einer Ablaufzeit von 60 Sekunden. Geht dann auf die Antwort mit einem überschrieben, header dazu, dass die client speichern, um die Ressource in den cache mit einer Ablaufzeit von 10 Sekunden.
.. oder ..
2) Nginx überschreibt die Antwort-Header und erst dann interpretiert. Er speichert die Ressource mit einer Ablaufzeit von 10 Sekunden und übergibt die Antwort an den client, die auch caches, die es mit einer Ablaufzeit von 10 Sekunden.
InformationsquelleAutor Thijs Koerselman | 2013-09-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nginx fügt seinen header nur vor dem Ursprungs-server, so haben Sie:
- und die origin-header ersetzen Sie die nginx-header.
Die Lösung? Nginx v1.4.3, das Modul more_set_headers und more_clear_headers, um zu ersetzen Sie oder löschen Sie den Header vom Ursprung.
Können Sie das Modul herunterladen von hier.
Hier wie zum download nginx 1.4.3 und wie es zu installieren.
Hier wie die Richtlinien.
InformationsquelleAutor nlopez