如何使清漆缓存子域同样?

时间:2014-12-25 22:59:44

标签: caching varnish varnish-vcl

我想提供/存储相同的缓存文件,无论子域名如何,只有api子域有一个自己的缓存。

例如:

www.example.com us-1.example.com md-3.example.com

所有服务/存储的缓存文件都相同,但api.example.com是独立的。

我唯一能想到的是在回来的路上覆盖主机头,但这是一个问题,因为我需要后端能够确定并区分发送给它的子域。

我是清漆的新手,所以我不太清楚如何做到这一点。谢谢!

1 个答案:

答案 0 :(得分:2)

只需覆盖vcl_hash即可规范主机名:

sub vcl_hash {
  hash_data(req.url);
  if (req.http.host == "api.example.com") {
    hash_data(req.http.host);
  }
  return (hash);
}