WordPress网站上正在使用Varnish。
我想清除单个URL而不是整个域的Varnish。
使用此命令,我可以为整个域重新启动Varnish:
varnishadm -T :6082 -S /etc/varnish/secret 'ban req.http.host ~ \"http://www.foo.com\" && req.url ~ \"^/\"'
但是我只想为单个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
Varnish中的。
关于如何实现此目标的任何想法?
更新
按照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"
但是我仍然HIT
在URL中得到一个并且数据没有更新
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 2013年