Created
December 26, 2014 10:17
-
-
Save vparihar01/c00f5d3ea578de6d8f46 to your computer and use it in GitHub Desktop.
Varnish default configuration works for each varnish cache.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Gzip Initial GZIP Rule javascript only | |
if ((beresp.status == 200 || beresp.status == 404) && (beresp.http.content-type ~ "^(text\/html|application\/x\-javascript|aapplication\/javascript|text\/javascript)\s*($|;)" || req.url ~ "\.(js|ttf|woff)($|\?)" ) ) { | |
# always set vary to make sure uncompressed versions dont always win | |
if (!beresp.http.Vary ~ "Accept-Encoding") { | |
if (beresp.http.Vary) { | |
set beresp.http.Vary = beresp.http.Vary ", Accept-Encoding"; | |
} else { | |
set beresp.http.Vary = "Accept-Encoding"; | |
} | |
} | |
if (req.http.Accept-Encoding == "gzip") { | |
set beresp.gzip = true; | |
} | |
} | |
# priority: 5 | |
if ( req.request == "POST" || req.request == "PUT" || req.request == "DELETE" ) { | |
# Pass POST/PUT/DELETE requests | |
set beresp.ttl = 0s; | |
set beresp.grace = 0s; | |
return(pass); | |
} | |
# priority: 10 | |
if ( req.request == "GET" && req.url == "/" ) { | |
# Cache Homepage | |
set beresp.ttl = 300s; | |
set beresp.grace = 3600s; | |
return(deliver); | |
# Header rewrite Surrogate header for homepage : 5 | |
set beresp.http.Surrogate-Control = "max-age=300"; | |
# Header rewrite Override homepage cache header Cache-Control : 10 | |
set beresp.http.Cache-Control = "public, max-age=300"; | |
} | |
# priority: 10 | |
if ( req.request == "GET" && req.url ~ "^/\?format=json" ) { | |
# JSON Req with filter | |
set beresp.ttl = 60s; | |
set beresp.grace = 300s; | |
return(deliver); | |
# Header rewrite Override Nuggets JSON Cache Header : 10 | |
set beresp.http.Cache-Control = "public, max-age=180"; | |
# Header rewrite Surrogate header for nuggets.json : 10 | |
set beresp.http.Surrogate-Control = "max-age=30"; | |
# Header rewrite Vary Header for nuggets.json : 10 | |
set beresp.http.vary = "X-Requested-With"; | |
} | |
# priority: 10 | |
if ( req.request == "GET" && req.url ~ "/get_updated_count\.json(\?.*)?" ) { | |
# Header rewrite Override get_updated_count JSON Cache Header : 10 | |
set beresp.http.Cache-Control = "public, must-revalidate, max-age=45"; | |
# Header rewrite Surrogate Header for get_updated_count.json : 10 | |
set beresp.http.Surrogate-Control = "max-age=10"; | |
} | |
# priority: 10 | |
if ( req.url ~ "(\.css|\.ttf|\.js|\.woff|\.swf|\.svg|\.png|\.jpg)$" ) { | |
# Cache long-term static resources | |
set beresp.ttl = 21600s; | |
set beresp.grace = 86400s; | |
return(deliver); | |
# Header rewrite Surrogate header for long-term static assets : 10 | |
set beresp.http.Surrogate-Control = "max-age=432000"; | |
} | |
# priority: 10 | |
if ( req.request == "GET" && req.url ~ "\.json(\?.*)?" ) { | |
# Cache JSON 120s stale 5m | |
set beresp.ttl = 180s; | |
set beresp.grace = 300s; | |
return(deliver); | |
} | |
# priority: 10 | |
if ( req.url ~ "^/(users|admin|)" ) { | |
# pass /admin,/users | |
set beresp.ttl = 0s; | |
set beresp.grace = 0s; | |
return(pass); | |
} | |
# priority: 10 | |
if ( beresp.status == 200 && ((req.url ~ "^/(xxxx|yyyy/Home/xyz.jsp)")) ) { | |
# Race Entries 404 | |
set beresp.ttl = 3600s; | |
set beresp.grace = 360000s; | |
return(deliver); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment