Advertisement
Guest User

Kristoffer Brabrand

a guest
Jan 6th, 2011
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.46 KB | None | 0 0
  1. director pool random {
  2.     { .backend = { .host = "127.0.0.1"; .port = "8080"; .probe = { .url = "/"; } } .weight = 1; }
  3. }
  4.  
  5. acl purge {
  6.     "localhost";
  7.     "127.0.0.1";
  8.     "XX.XX.XX.132";
  9.     "XX.XX.XX.133";
  10.     "XX.XX.XX.19";
  11. }
  12.  
  13. sub vcl_recv {
  14.      if (req.request == "PURGE") {
  15.          if (!client.ip ~ purge) {
  16.               error 405 "Not allowed.";
  17.          }
  18.      purge("req.url == " req.url);
  19.      error 200 "Purged ok.";
  20.      }
  21.  
  22.      if (req.http.host ~ "XXXXX.no" ||
  23.                 req.http.host ~ "XXXXX.no" ||
  24.                 req.http.host ~ "XXXXX.no" ||
  25.                 req.http.host ~ "XXXXX.no" ||
  26.         req.http.host ~ "XXXXX.no" ||
  27.         req.url ~ "ldirector.html") {
  28.           return (pipe);
  29.      }
  30.  
  31.      if(req.http.host ~ "www.XXXXX.no" ||
  32.         req.http.host ~ "www.XXXXX.no" ||
  33.                 req.http.host ~ "XXXXX.no" ||
  34.         req.url ~ "nocache=1" ||
  35.         req.url ~ "esi=1" ||
  36.         req.url ~ "script=") {
  37.           return (pass);
  38.      }
  39.  
  40.      if (req.http.Cookie) {
  41.          unset req.http.cookie;
  42.      }
  43. }
  44.  
  45. sub vcl_pipe {
  46.     if (req.http.X-Forwarded-For) {
  47.         set bereq.http.X-Forwarded-For = req.http.X-Forwarded-For;
  48.     } else {
  49.         set bereq.http.X-Forwarded-For = regsub(client.ip, ":.*", "");
  50.     }
  51. }
  52.  
  53. sub vcl_pass {
  54.     if (req.http.X-Forwarded-For) {
  55.         set bereq.http.X-Forwarded-For = req.http.X-Forwarded-For;
  56.     } else {
  57.         set bereq.http.X-Forwarded-For = regsub(client.ip, ":.*", "");
  58.     }
  59. }
  60.  
  61. sub vcl_miss {
  62.     if (req.http.X-Forwarded-For) {
  63.         set bereq.http.X-Forwarded-For = req.http.X-Forwarded-For;
  64.     } else {
  65.         set bereq.http.X-Forwarded-For = regsub(client.ip, ":.*", "");
  66.     }
  67. }
  68.  
  69. sub vcl_fetch {
  70.     if (req.request == "GET" && req.url ~ "\.(gif|jpg|jpeg|bmp|png|tiff|tif|ico|img|tga|wmf)$") {
  71.             set obj.http.cache-control = "max-age = 3600";
  72.         set obj.ttl = 3600s;
  73.         }
  74.  
  75.         ## various other content pages
  76.         if (req.request == "GET" && req.url ~ "\.(css)$") {
  77.                 set obj.http.cache-control = "max-age = 18000";
  78.             set obj.ttl = 18000s;
  79.         }
  80.    
  81.         if (req.request == "GET" && req.url ~ "\.(js)$") {
  82.                 set obj.http.cache-control = "max-age = 18000";
  83.             set obj.ttl = 18000s;
  84.         }
  85.  
  86.     set obj.http.X-hash = obj.hash;
  87.     esi;
  88. }
  89.  
  90. sub vcl_deliver {
  91.    if(obj.hits > 0) {
  92.       set resp.http.X-Cache = "HIT";
  93.       set resp.http.X-Cache-hits = obj.hits;
  94.    } else {
  95.       set resp.http.X-Cache = "MISS";
  96.    }
  97.    set resp.http.X-Server = "Donald";
  98.  
  99.   deliver;
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement