0
我的想法是在主後端上配置Varnish-cache失敗(例如HTTP 503),首先嚐試另一個後端(如果失敗)提供靜態錯誤消息。清除緊急後端或發送靜態錯誤
可以這樣配置嗎?附:除非基層真的失敗,否則我不希望清漆能夠用於緊急後端。緊急後端總是有一些過時的數據。
我正在使用Varnish 4,很快將其移動到5.X。後端是Java或PHP應用程序。
我的想法是在主後端上配置Varnish-cache失敗(例如HTTP 503),首先嚐試另一個後端(如果失敗)提供靜態錯誤消息。清除緊急後端或發送靜態錯誤
可以這樣配置嗎?附:除非基層真的失敗,否則我不希望清漆能夠用於緊急後端。緊急後端總是有一些過時的數據。
我正在使用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!"));
}
}