Varnish 具有单独的后端,并且每个后端有多个域

Varnish 具有单独的后端,并且每个后端有多个域

我使用 3 个 nginx 服务器,每个服务器上都有多个域(站点)。每个服务器包含多个 Wordpress 站点。

是否可以配置 Varnish 并使用单独的后端(不同的 IP)并且每个后端都有多个域(站点)?

我尝试配置 Varnish 并使用多个后端,但问题是 Server-2 和 Server-3 上的域(站点)无法正确路由。首页显示出来,但子页面被路由到 Server-1。

我正在使用 Varnish 4 和这个模板并做了一些修改。 https://github.com/mattiasgeniar/varnish-4.0-configuration-templates/blob/master/default.vcl

不确定 round_robin 是否是正确的解决方案,因为我认为这适用于同步的相同服务器。

配置 Varnish 4 并且只有 1 个后端服务器有效。但如果有多个后端服务器和域,就会失败...

提前致谢!

答案1

在 中sub vcl_recv,您可以使用如下内容:

if (req.http.host = "domain1.com") {
    set req.backend_hint = domain1;
} elsif (req.http.host = "domain2.com") {
    set req.backend_hint = domain2;
} elsif (req.http.host = "domain3.com") {
    set req.backend_hint = domain3;
}

相关内容