Cache
按下 CTRL+F5 或 CTRL+R 時清除 Varnish 中的內容
我想設置 Varnish 以清除記憶體中的內容,並在按下 CTRL+R 或 CTLR+F5 時直接從後端獲取它。
我使用這些規則,但這只會在按下 CTRL+F5 時從後端獲取內容。當我按 F5 時,我只從記憶體中獲取數據。
acl CTRLF5 { "127.0.0.1"; } sub vcl_hit { if (client.ip ~ CTRLF5) { if (req.http.pragma ~ "no-cache" || req.http.Cache-Control ~ "no-cache") { set obj.ttl = 0s; return(pass); } else { return(deliver); } } else { return(deliver); } }
可以用下一個語句來實現:
清漆 2.1.x
if (req.http.Cache-Control ~ "no-cache"){ purge_url(req.url); }
清漆 3.x
if (req.http.Cache-Control ~ "no-cache"){ ban(req.url); }