清漆紧急后端或服务静态错误
Varnish emergency backend or serve static error
我的想法是在主后端失败时配置 Varnish-cache(例如 HTTP 503),首先尝试另一个后端,如果失败,则提供静态错误消息。
这样配置可以吗? P.S。我不希望 varnish 与紧急后端一起工作,除非主服务器真的失败了。应急后台总是有点过时的数据。
我正在使用 Varnish 4,计划很快转移到 5.X。后端是 Java 或 PHP 个应用程序。
当然可以,您应该更改 vcl_backend_response 代码,用 bereq.retries
和 return(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!"));
}
}
我的想法是在主后端失败时配置 Varnish-cache(例如 HTTP 503),首先尝试另一个后端,如果失败,则提供静态错误消息。
这样配置可以吗? P.S。我不希望 varnish 与紧急后端一起工作,除非主服务器真的失败了。应急后台总是有点过时的数据。
我正在使用 Varnish 4,计划很快转移到 5.X。后端是 Java 或 PHP 个应用程序。
当然可以,您应该更改 vcl_backend_response 代码,用 bereq.retries
和 return(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!"));
}
}