Varnish Cache nicht Zwischenspeichern von PHP mit Sessions, Wenn backend-TTL verändert

Ich bin neu Lackieren Cache und habe eine Frage ich hoffe ich kann einigen helfen mit.

Habe ich eine sehr einfache und grundlegende setup-aber es funktioniert nicht so wie ich das verstehe
sollte es aus irgendeinem Grund.

Hängt es mit dem Lack nicht Zwischenspeichern der PHP-Seiten verwenden cookies.

Hier ist mein setup:

1) Für mein Standard.vcl habe ich eine einfache backend

backend default {
.host = "127.0.0.1";
.port = "80";
}

2) ich habe eine einfache PHP-Datei, die nur diese beiden Zeile:

session_start();
echo time();

3)
Wenn ich diese Seite richtig nicht im cache
als ich noch in der erforderlichen vcl Regeln

4)

So, wie pro mein Verständnis von den Unterlagen, die ich hinzufügen
in diesen zwei Regeln

sub vcl_recv {
unset req.http.Cookie;
return (lookup);
}

sub vcl_fetch {
unset beresp.http.Set-Cookie;
return(deliver);
}

5)
Die PHP-Seite wird immer noch nicht cache.
Ich kann sehen, dass die Set-Cookie - header wurde
entfernt, da bin ich mit FireBug in FireFox.

Ist es nur, wenn ich dies hinzufügen sub vcl_fetch
dass der PHP-cache:

set beresp.ttl = 24h;

Meine Frage ist, ist das richtig?

Ich glaube nicht, dass ich brauchen würde, um die ttl ändern
der backend-Reaktion. Ich dachte einfach lösche
cookies in-und out-zwingen würde PHP w/session cache.

Meine komplette Standard-vcl ist:

backend default {
.host = "127.0.0.1";
.port = "80";
}

sub vcl_recv {
unset req.http.Cookie;
return (lookup);
}

sub vcl_fetch {
unset beresp.http.Set-Cookie;
set beresp.ttl = 24h;
return(deliver);
}

Mein start Befehl ist:

varnishd -f /etc/varnish/default.vcl -s malloc,128M -T 127.0.0.1:2000 -a 0.0.0.0:8080

Die URL, die ich fordere, ist:

http://vbox.local:8080/varnish-tests/index.php

Meine index.php die Datei hat nur:

<?php 
session_start();
echo time();

Ich würde Sie gerne Fragen, wie die Gemeinde, ob das richtig aussieht
oder, wenn ich falsch bin. Eigentlich bin ich nur unsicher, warum hatte ich
zum hinzufügen beresp.ttl = 24h, schließlich haben Sie den seitencache
in Lack.

Dachte ich, ich würde nicht brauchen.

Jede Beratung sehr geschätzt.

Danke!

Freundlichen GRÜßEN.

Dies entspricht auch meiner Erfahrung-ich habe eingestellt, ttls für alles, was ich will varnish cache in meiner VCL. Wie lange würden Sie erwarten Lack cache etwas, wenn Sie nicht geben es eine ttl?
Hey Frank. Dein Kommentar macht absolut Sinn. Ich war nur unsicher, da ich nicht bemerkt, nichts in der Dokumentation über die Einstellung der beresp.ttl Bezug auf caching-cookies. Vielleicht habe ich Nebel, der in der Dokumentation. Ich habe über 30 Minuten meinen Kopf kratzen, bis ich 'dachte' es aus. Nochmals vielen Dank.
Etwas zu beobachten, wenn caching für PHP Antworten, die sich mit sessions: PHP-Skript standardmäßig senden anti-caching-Header. Wenn der Lack gehorchen diese Header, die Sie haben können Schwierigkeiten auf der ganzen Linie, wenn Sie erwarten, dass bestimmte caching-Verhalten (sobald Sie bei der Lösung Ihres aktuellen Problems, das völlig unzusammenhängende).
Siehe auch stackoverflow.com/questions/9009966/...

InformationsquelleAutor Jacob | 2011-03-29

Schreibe einen Kommentar