Files
invidious/etc/varnish/default.vcl
T
weidenwiesel 9bc446b9d9 Refine varnish
2026-02-13 15:20:27 +01:00

54 lines
1.1 KiB
Plaintext

vcl 4.1;
backend invidious_service {
.host = invidious;
.port = "3000";
.connect_timeout = 5s;
.first_byte_timeout = 5s;
.between_bytes_timeout = 2s;
}
sub vcl_recv {
set req.backend_hint = invidious_service;
if (req.url ~ "(?i)\.(css|js|png|gif|jpg|jpeg|svg|woff|woff2)$") {
unset req.http.Cookie;
}
return (hash);
}
sub vcl_hash {
hash_data(req.url);
if (req.http.Host) {
hash_data(req.http.Host);
} else {
hash_data(server.ip);
}
return (lookup);
}
sub vcl_backend_response {
set beresp.storage = storage.default;
if (bereq.url ~ "(?i)\.(png|gif|jpg|jpeg|svg)$") {
unset beresp.http.Set-Cookie;
set beresp.ttl = 3d;
}
if (bereq.url ~ "(?i)\.(css|js|woff|woff2)$") {
set beresp.do_gzip = true;
unset beresp.http.Set-Cookie;
set beresp.ttl = 7d;
}
return (deliver);
}
sub vcl_deliver {
if (obj.hits > 0) {
set resp.http.X-Cache = "HIT";
} else {
set resp.http.X-Cache = "MISS";
}
return (deliver);
}