Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Defining your webserver.
- backend default {
- .host = "127.0.0.1";
- .port = "81";
- }
- // Set a header to track a cache HIT/MISS.
- sub vcl_deliver {
- if (obj.hits > 0) {
- set resp.http.X-Varnish-Cache = "HIT";
- }
- else {
- set resp.http.X-Varnish-Cache = "MISS";
- }
- }
- # Incoming request
- # can return pass or lookup (or pipe, but not used often)
- sub vcl_recv {
- # set default backend
- set req.backend = default;
- if (req.http.Cookie) {
- set req.http.Cookie = ";";
- if (req.http.Cookie == "") {
- remove req.http.Cookie;
- }
- }
- # remove
- unset req.http.Accept-Encoding;
- if (req.backend.healthy) {
- set req.grace = 12h;
- } else {
- set req.grace = 1d;
- }
- set req.ttl = 1d;
- return(lookup);
- #return(pass);
- }
- # called after recv and before fetch
- # allows for special hashing before cache is accessed
- sub vcl_hash {
- }
- # Before fetching from webserver
- # returns pass or deliver
- sub vcl_fetch {
- # removing cookie
- unset beresp.http.Set-Cookie;
- # Cache for 1 day
- set beresp.ttl = 1d;
- set beresp.grace = 1d;
- set req.ttl = 1d;
- // Don't cache error pages (cache only 2 seconds for scalability issues)
- if (beresp.status == 404 || beresp.status == 503 || beresp.status >= 500){
- set beresp.ttl = 2s;
- }
- return(deliver);
- }
- # called after fetch or lookup yields a hit
- sub vcl_deliver {
- }
- #
- sub vcl_error {
- }
Add Comment
Please, Sign In to add comment