2
我使用清漆緩存我的網站的內容。它按照它的設想工作,但有一個問題。隨機地,它返回一個503錯誤,這真的很奇怪,因爲應用程序服務器正常,負載低於.8,數據庫服務器也正常。這裏是我的配置的一部分:清漆3.0返回503錯誤
backend app05 {
.host = "app05.site.com";
.port = "80";
.connect_timeout = 0.7s;
.first_byte_timeout = 30s;
.between_bytes_timeout = 30s;
.probe = {
.url = "/";
.interval = 5s;
.timeout = 1s;
.window = 5;
.threshold = 3;
}
}
director app_director round-robin {
{ .backend = app01; }
{ .backend = app02; }
{ .backend = app03; }
{ .backend = app04; }
{ .backend = app05; }
}
sub vcl_fetch {
# remove all cookies
# unset beresp.http.set-cookie;
# cache for 12 hours
# set beresp.ttl = 2h;
# Don't allow static files to set cookies.
if (req.url ~ "(?i)\.(png|gif|jpeg|jpg|ico|swf|css|js|html|htm|mp4|flv)(\?[a-z0-9]+)?$") {
unset beresp.http.set-cookie;
set beresp.ttl = 12h;
} else {
set beresp.ttl = 30m;
}
# If the backend server doesn't return properly, don't send another connection to it
# for 60s and try another backend via restart.
#
# https://www.varnish-cache.org/docs/trunk/tutorial/handling_misbehaving_servers.html
# --
if(beresp.status == 500) {
set beresp.saintmode = 5m;
if (req.request != "POST") {
return(restart);
} else {
error 500 "Failed";
}
}
# Allow items to be stale if needed.
set beresp.grace = 1h;
}
我還必須添加if if beresp.status == 503嗎?
從congfig文件很難說。試着用varnish_log檢查日誌嗎? – ivy