使用Varnish在CDN中缓存问题

时间:2014-11-07 02:05:29

标签: caching cdn varnish

我在CDN中部署清漆时遇到问题。  我有2个网站,

1 in Paris , 
1 in New York . 

Everysite有2台服务器,

1 for varnish cache , 
and 1 for web server .

我想当客户端向巴黎的服务器发送请求时,如果网络服务器没有响应的内容,巴黎的清漆将向纽约的服务器发送请求以提取内容并将其缓存在巴黎的Varnish中。

我可以不修改清漆的源代码吗?  ...  如果有人有文件可以帮助我解决这个问题,请通过电子邮件发送给我:nohungry381@gmail.com或skype:nohungry381。谢谢

1 个答案:

答案 0 :(得分:0)

在VCL中,您可以设置故障转移逻辑,该逻辑在404上触发,并将后端切换到其他Web服务器。

示例

backend default {
    .host            = "192.168.50.50";
    .port            = "80";
}

backend backup {
    .host            = "192.168.50.46";
    .port            = "80";
}

sub vcl_fetch {

[...]

    ### Fail over to backup ###
    if(beresp.status == 404 && req.backend != backup) {
            set req.backend = backup;
            return(restart);
        }

[...]

来源:https://www.varnish-cache.org/forum/topic/195