【问题标题】:Varnish emergency backend or serve static error清漆紧急后端或服务静态错误
【发布时间】:2017-07-03 09:41:58
【问题描述】:

我的想法是在主后端配置 Varnish-cache 失败(例如 HTTP 503),首先尝试另一个后端,如果失败,提供静态错误消息。

可以这样配置吗?附:我不希望清漆与紧急后端一起使用,除非主服务器真的失败了。紧急后端的数据总是有点过时。

我正在使用 Varnish 4,计划很快迁移到 5.X。后端是 Java 或 PHP 应用程序。

【问题讨论】:

    标签: caching load-balancing varnish varnish-vcl varnish-4


    【解决方案1】:

    当然可以,您应该更改您的 vcl_backend_response 代码,使用 bereq.retriesreturn(retry) 调整它:

    sub vcl_backend_response {
            if ( beresp.status == 503 && bereq.retries == 0 ) {
                    set bereq.http.Host = "myNewHost";
                    return(retry);
            }
            if ( beresp.status == 503 && bereq.retries > 0 ) {
                    return (synth(503, "Oh noes!"));
            }
    
    }
    

    【讨论】:

      猜你喜欢
      • 2019-03-22
      • 2014-10-25
      • 2012-04-15
      • 2015-02-28
      • 1970-01-01
      • 2016-09-21
      • 1970-01-01
      • 2018-11-22
      • 2011-05-10
      相关资源
      最近更新 更多