Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- backend default {
- .host = "localhost";
- .port = "81";
- .first_byte_timeout = 300s;
- }
- acl purge_hosts {
- "localhost";
- }
- sub vcl_recv {
- set req.http.host = "test.example.com";
- set req.http.X-Forwarded-For = client.ip;
- if (req.http.X-Refresh) {
- if (!client.ip ~ purge_hosts) {
- set req.hash_always_miss = true;
- }
- }
- if (req.request == "PURGE") {
- if (!client.ip ~ purge_hosts) {
- error 405 "Not allowed!";
- }
- return (lookup);
- }
- if (req.request == "POST") {
- return (pass);
- }
- if (req.url ~ "^/index.php") {
- return (pass);
- }
- if (req.url ~ "^/admin") {
- return (pass);
- }
- if (req.url ~ "^/out/anost_v4/src/") {
- if (! (req.url ~ "\.swf")) {
- unset req.http.cookie;
- set req.grace = 24h;
- return (lookup);
- }
- }
- if (req.url ~ "^/out/anost_v4/src/min/") {
- unset req.http.cookie;
- return (lookup);
- }
- if (req.url ~ "[\?&]lang=") {
- set req.url = regsub(req.url, "\?lang=[0-9a-zA-Z]+", "?");
- set req.url = regsub(req.url, "&lang=[0-9]", "");
- set req.url = regsub(req.url, "\?&", "?");
- set req.url = regsub(req.url, "\?$", "");
- }
- if (req.url ~ "^(/en/(Music|Merch|Artists|Labels|Special|Shop-Shop|contact|General-Terms-and-Conditions|Service-and-Help|Rights-of-Withdrawal|$)|/de/$|/(Musik|Merch|Artists|Labels|Special|Shop-Shop|kontakt|Allgemeine-Geschaeftsbedingungen|Service-and-Hilfe|Widerrufsbelehrung|$))") {
- if (req.url ~ "[\?&][^/]+") {
- return (pass);
- }
- unset req.http.cookie;
- if (req.url ~ "^/(en/(Music|Merch|Artists|Labels|Special)|en|de|Musik|Merch|Artists|Labels|Special)/$") {
- set req.grace = 12h;
- } else {
- set req.grace = 7d;
- }
- return (lookup);
- }
- }
- sub vcl_hit {
- if (req.request == "PURGE") {
- purge;
- error 200 "Purged";
- }
- }
- sub vcl_miss {
- if (req.request == "PURGE") {
- error 400 "Not in cache.";
- }
- }
- sub vcl_fetch {
- set beresp.grace = 8d; # should be the same as max grace in recv
- if (beresp.http.content-type ~ "text") {
- set beresp.do_gzip = true;
- }
- if (req.url ~ "^/out/anost_v4/src/") {
- unset beresp.http.set-cookie;
- set beresp.ttl = 86400s;
- return (deliver);
- }
- if (req.url ~ "^/out/anost_v4/src/min/") {
- unset beresp.http.set-cookie;
- return (deliver);
- }
- if (req.url ~ "^(/en/(Music|Merch|Artists|Labels|Special|Shop-Shop|contact|General-Terms-and-Conditions|Service-and-Help|Rights-of-Withdrawal|$)|/de/$|/(Musik|Merch|Artists|Labels|Special|Shop-Shop|kontakt|Allgemeine-Geschaeftsbedingungen|Service-and-Hilfe|Widerrufsbelehrung|$))") {
- unset beresp.http.set-cookie;
- if (req.url ~ "^/(en/(Music|Merch|Artists|Labels|Special)|en|de|Musik|Merch|Artists|Labels|Special)/$") {
- set beresp.ttl = 13h;
- } else {
- set beresp.ttl = 8d;
- }
- return (deliver);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement