diff --git a/varnish/default.vcl b/varnish/default.vcl index ecb131b..8a77230 100644 --- a/varnish/default.vcl +++ b/varnish/default.vcl @@ -141,19 +141,20 @@ sub vcl_backend_response { } # grace/keep - if (beresp.ttl > 0s) { - set beresp.grace = std.duration(std.tostring( beresp.ttl / 10 ), 10m); + if (beresp.ttl > 0s) { + set beresp.grace = beresp.ttl / 10; if (beresp.grace < 10m) { set beresp.grace = 10m; } if (beresp.grace > 2h) { set beresp.grace = 2h; } + if (beresp.ttl > 1h) { set beresp.keep = 1h; } else { set beresp.keep = beresp.ttl; } - } else { + } else { set beresp.grace = 0s; set beresp.keep = 0s; - } + } # streaming dużych odpowiedzi (>1 MiB) if (beresp.http.Content-Length && std.integer(beresp.http.Content-Length, 0) > 1048576) {