Ich versuche, Varnish einzurichten, um ESI-Includes in einer lokalen Umgebung zu verarbeiten.Varnish nicht verarbeiten ESI enthält
Ich starte Lack in einer virtuellen Maschine und der Inhalt läuft auf dem Host-Rechner.
Ich habe zwei Dateien "index.html" und "test.html". Diese sind beide in einem Ordner namens "esi" in der Docroot eines Apache-Servers gespeichert.
index.html
<h1>It Works!</h1>
<esi:include src="test.html" />
test.html
<p>ESI HAS BEEN INCLUDED</p>
Lack wird auf der virtuellen Maschine läuft auf Port 8000. So greife ich es hier: http://192.168.56.101:8000/esi/
In /etc/varnish/default.vcl auf der virtuellen Maschine habe ich die folgenden c hinzugefügt onfig zum Ende der Datei:
sub vcl_fetch {
set beresp.do_esi = true; /* Do ESI processing */
set beresp.ttl = 24 h; /* Sets the TTL on the HTML above */
}
Mit der Idee, dass es ESI auf alle Anfragen bearbeiten sollen (dont care, wenn seine schlechte Praxis nur diese Sache zu bekommen versuchen, zu arbeiten :))
Das Ergebnis wenn ich laden http://192.168.56.101:8000/esi/ ist:
<h1>It Works!</h1>
<esi:include src="test.html" />
dh. Das ESI wird im Markup angezeigt, es wird nicht verarbeitet.
Ich habe das Varnish-Protokoll überprüft, es sind jedoch keine Fehler vorhanden und nichts mit ESIs.
Kann jemand sehen, was ich hier falsch mache? Lassen Sie mich wissen, wenn mehr Informationen benötigt werden .. danke
Verwenden Sie Varnish> 3.0? Weil Sie die neue Syntax verwenden ... – ivy