Вы можете установить заголовок с соответствующим URL-адресом для кэширования и изменить способ использования хэш-объектов лака.
sub vcl_recv {
...
# Remove the params you don't want from the query string and set it to a
# temp header (Varnish does not have variables)
set req.http.x-cache-url = regsub(req.url,"(utm1=.*&|utm1=.*)", "")
...
}
# Below is the default vcl_hash but swapping the req.url for req.http.x-cache-url
sub vcl_hash {
hash_data(req.http.x-cache-url);
if (req.http.host) {
hash_data(req.http.host);
} else {
hash_data(server.ip);
}
return (lookup);
}
Делая что вы будете в состоянии поддерживать вашу строку запроса, как это и вы все еще будете в состоянии доставить тот же кэш для различного Params.
Примечание что regsub где вы манипулировать Params. Не стесняйтесь меняться в соответствии с вашими потребностями.