我的想法是在主要后端失败(例如HTTP 503 )上配置Varnish-cache,首先尝试另一个后端,如果失败,则提供静态错误消息。
可以这样配置吗?附言:我不想让清漆与紧急后端一起工作,除非主程序真的失败了。紧急后端总是有一些过时的数据。
我正在使用Varnish 4,计划很快就会升级到5.X。后端是Java或PHP应用程序。
发布于 2017-02-16 00:45:40
当然你可以做到这一点,你应该用bereq.retries和return(retry)修改你的vcl_backend_response代码:
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!"));
}
}https://stackoverflow.com/questions/42237355
复制相似问题