Lack wird in einer Wordpress-Website verwendet.
Ich möchte Varnish für eine einzelne URL anstelle einer ganzen Domain löschen.
Mit diesem Befehl kann ich Varnish für die gesamte Domain neu starten:
varnishadm -T :6082 -S /etc/varnish/secret 'ban req.http.host ~ \"http://www.foo.com\" && req.url ~ \"^/\"'
Allerdings möchte ich Lack nur für eine einzige URL löschen.
Ex: www.foo.com/url_to_be_purged
Ich habe versucht, den vorherigen Befehl durch die einzelne URL zu ersetzen:
varnishadm -T :6082 -S /etc/varnish/secret 'ban req.http.host ~ \"http://www.foo.com/url_to_be_purged\" && req.url ~ \"^/\"'
Aber es hat nicht funktioniert, die URL war immer noch HIT
in Lack.
Irgendwelche Ideen, wie ich das erreichen kann?
AKTUALISIEREN
Wie von Ghloogh vorgeschlagen, habe ich den folgenden Befehl ausprobiert:
varnishadm -T :6082 -S /etc/varnish/secret ban "req.http.host == http://www.foo.com && req.url == http://www.foo.com/url_to_be_purged"
Ich habe auch diese Variante ausprobiert:
varnishadm -T :6082 -S /etc/varnish/secret ban "req.http.host == http://www.foo.com && req.url == /url_to_be_purged"
Aber ich bekomme immer noch eine HIT
in der URL und die Daten werden nicht aktualisiert
Antworten:
Sie müssen kein Schema für den Hostnamen angeben und können statt Regex auch eine strikte Übereinstimmung verwenden:
quelle
Sie können Folgendes versuchen:
arbeitete für mich.
quelle
sudo
anderes als die andere Antwort hinzu. Dies könnte als Kommentar besser sein.