varnishadmを使用して単一のURLのニスキャッシュを消去する


12

ワニスは、Wordpress Webサイトで使用されています。

ドメイン全体ではなく、単一のURLのVarnishを削除したいと思います。

このコマンドを使用して、ドメイン全体でVarnishを再起動できます。

varnishadm -T :6082 -S /etc/varnish/secret 'ban req.http.host ~ \"http://www.foo.com\" && req.url ~ \"^/\"'

ただし、1つのURLについてのみワニスをパージしたいと思います。

例: www.foo.com/url_to_be_purged

前のコマンドを試して、単一のURLに置き換えました。

varnishadm -T :6082 -S /etc/varnish/secret 'ban req.http.host ~ \"http://www.foo.com/url_to_be_purged\" && req.url ~ \"^/\"'

しかし、それは機能しませんでした、URLはまだHITワニスにありました。

どうすればこれを達成できますか?

更新

ghlooghの答えを示唆したように、次のコマンドを試しました。

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"

私もこのバリエーションを試しました:

varnishadm -T :6082 -S /etc/varnish/secret ban "req.http.host == http://www.foo.com && req.url == /url_to_be_purged"

しかし、私はまだHITURLを取得し、データは更新されません


1
男、ホスト名でスキーム(http://またはhttps://またはftp://またはその他)の使用をやめる:)コマンドは次のようになります:varnishadm -T:6082 -S / etc / varnish / secret ban "req.http .host == www.foo.com && req.url == / url_to_be_purged "
-ghloogh

回答:


20

ホスト名のスキームを指定する必要はなく、正規表現の代わりに完全一致を使用できます。

varnishadm -T 127.0.0.1:6082 -S /etc/varnish/secret ban "req.http.host == example.com && req.url == /some/url/"

1
他の答えは、引用が間違った場所にあった。> varnishadm -T 127.0.0.1:6082 -S / etc / varnish / secret "ban req.url == / url_to_be_purged"
ジムホームズ

0

以下を試すことができます:

sudo varnishadm -S /etc/varnish/secret  -T 127.0.0.1:6082 "ban req.url ~ \"http://example.com/testimage.png$\""

私のために働いた。


2
これはsudo、他の答え以外には何も追加しません。これはコメントとして良いかもしれません。
エサヨキネン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.