O Varnish identifica diferentes entidades pelo seu req.url
e seu req.http.Host
(se presente, caso contrário, ele usa server.ip
). O que você quer é isto:
sub vcl_hash {
#Example URL is:
# http://varnish:8101/VirtualHostBase/http/example.com:80/path/VirtualHostRoot/
#req.url contains only:
# /VirtualHostBase/http/example.com:80/path/VirtualHostRoot/
#after transform, this will become:
# /VirtualHostBase/fakescheme/example.com:fakeport/path/VirtualHostRoot/
hash_data(regsub(regsub(req.url,":(80|443)/",":fakeport/"),"/https?/","/fakescheme/")); #equivalent of "hash URL"
#Below here, copied from default.vcl
if (req.http.host) {
hash_data(req.http.host);
} else {
hash_data(server.ip);
}
return (hash);
}