gpt4 book ai didi

caching - 发生错误 500 时提高 Varnish 的宽限期

转载 作者:行者123 更新时间:2023-12-03 17:45:33 26 4
gpt4 key购买 nike

当我从后端收到错误500时,我使用以下代码来提高 Varnish 的宽限期:

# If backend returns 500 error then boost the cache grace period...
if (beresp.status == 500) {
set beresp.grace = 1m;
return (retry);
}

但是我只想在有另一个缓存时提高宽限期,如果我没有缓存,我只想缓存错误。

缓存的后端响应配置“vcl_backend_response”:
# Cache 1 day
if(bereq.url ~ "^/"){
set beresp.http.X-cachePath = beresp.http.X-cachePath + "1d::";
unset beresp.http.set-cookie;
unset beresp.http.Cache-Control;
set beresp.ttl = 1d;
set beresp.grace = 1h;
return (deliver);
}

使用 Varnish 4可以吗?

谢谢大家!

最佳答案

我认为您正在寻找的是Saint ModeHere是一个示例。

Saint模式的操作类似于Grace模式,但是在不同的情况下,Grace模式在后端生病或响应时间太长时起作用,而Saint模式在您不喜欢后端响应时起作用。

在这种情况下,500错误是您不喜欢的响应。

在版本4的Varnish核心中删除了Saint Mode,这很可惜。here是Varnish 4中Saint Mode的VMOD,尽管不如Varnish 3那样简单。

关于caching - 发生错误 500 时提高 Varnish 的宽限期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30777997/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com