[英]Varnish cache according to custom header
我正在使用Varnish服務網站,但需要根據地理位置來進行緩存。 我編寫了一個小的Vmod,它使用Ip2Location設置一個請求標頭,該請求標頭具有國家/地區代碼,然后通過該國家/地區代碼通過Apache傳遞給我的應用程序(Magento),該Apache提供相關內容,但是我還需要Varnish根據國家/地區代碼進行緩存。
有什么辦法可以做到這一點?
我已經排序了。
在vcl_hash子例程中,我需要將國家/地區代碼添加到哈希數據中。
sub vcl_hash {
hash_data(req.url);
if (req.http.host) {
hash_data(req.http.host);
} else {
hash_data(server.ip);
}
hash_data(req.http.X-Country-Code);
return (hash);
}
我使用的默認vcl已注釋掉整個vcl_hash子例程,因為它使用的是req.hash而不是hash_data(),后者在Varnish 3中不再可用,因此請進行必要的調整。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.