Lọc bộ nhớ cache véc ni cho một url bằng cách sử dụng véc ni


12

Varnish đang được sử dụng trong một trang web Wordpress.

Tôi muốn thanh lọc Varnish cho một URL thay vì toàn bộ tên miền.

Với lệnh này, tôi có thể khởi động lại Varnish cho toàn bộ miền:

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

Tuy nhiên tôi muốn thanh lọc vecni chỉ cho một url.

Ví dụ: www.foo.com/url_to_be_purged

Tôi đã thử lệnh trước đó thay thế nó bằng một URL duy nhất:

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

Nhưng nó không hoạt động, URL vẫn còn HITtrong Varnish.

Bất kỳ ý tưởng làm thế nào tôi có thể đạt được điều này?

CẬP NHẬT

Như đề xuất câu trả lời của ghloogh, tôi đã thử lệnh sau:

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"

Tôi cũng đã thử biến thể này:

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

Nhưng tôi vẫn nhận được một HITURL và dữ liệu không được cập nhật


1
man, dừng sử dụng lược đồ (http: // hoặc https: // hoặc ftp: // hoặc khác) trong tên máy chủ :) lệnh của bạn phải là: var Vecadm -T: 6082 -S / etc / var Vec / Secret ban "req.http .host == www.foo.com && req.url == / url_to_be_purged "
ghloogh

Câu trả lời:


20

Bạn không cần chỉ định lược đồ cho tên máy chủ và bạn có thể sử dụng kết hợp nghiêm ngặt thay vì regex:

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

1
Các câu trả lời khác có trích dẫn ở sai chỗ. > var Vecadm -T 127.0.0.1:6082 -S / etc / véc ni / bí mật "ban req.url == / url_to_be_purged"
Jim Holmes

0

Bạn có thể thử như sau:

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

đã làm cho tôi.


2
Điều này không thêm bất cứ điều gì ngoài sudocâu trả lời khác. Điều này có thể tốt hơn như là một bình luận.
Esa Jokinen
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.