Archived
1
0

add default varnish config

This commit is contained in:
Jeff Becker 2016-11-07 08:20:04 -05:00
parent ecf8237c97
commit 3fad9794da
No known key found for this signature in database
GPG Key ID: AB950234D6EA286B

View File

@ -0,0 +1,82 @@
vcl 4.0;
backend default {
.host = "127.0.0.1";
.port = "18000";
}
acl purge {
# ACL we'll use later to allow purges
"127.0.1.1";
}
sub vcl_miss {
return (fetch) ;
}
sub vcl_recv {
if (req.method == "PURGE") {
if (!client.ip ~ purge) { # purge is the ACL defined at the begining
# Not from an allowed IP? Then die with an error.
return (synth(405, "This IP is not allowed to send PURGE requests."));
}
return (purge);
}
if (req.method != "GET" &&
req.method != "HEAD" &&
req.method != "PUT" &&
req.method != "POST" &&
req.method != "TRACE" &&
req.method != "OPTIONS" &&
req.method != "PATCH" &&
req.method != "DELETE") {
/* Non-RFC2616 or CONNECT which is weird. */
return (pipe);
}
# Strip hash, server doesn't need it.
if (req.url ~ "\#") {
set req.url = regsub(req.url, "\#.*$", "");
}
# Strip a trailing ? if it exists
if (req.url ~ "\?$") {
set req.url = regsub(req.url, "\?$", "");
}
return (hash);
}
sub vcl_pipe {
return (pipe);
}
sub vcl_hit {
return (deliver);
}
sub vcl_backend_response {
if (beresp.status == 500 || beresp.status == 502 || beresp.status == 503 || beresp.status == 504) {
return (abandon);
}
if (bereq.url == "/") {
set beresp.ttl = 60s;
} else {
if (bereq.url == "/ukko.html") {
set beresp.ttl = 5s;
} else {
set beresp.ttl = 10s;
}
}
set beresp.grace = 1h;
return (deliver);
}
sub vcl_deliver {
if (obj.hits > 0) {
set resp.http.X-Cache = "HIT";
} else {
set resp.http.X-Cache = "MISS";
}
set resp.http.X-Cache-Hits = obj.hits;
return (deliver);
}