Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- backend apache {
- .host = "127.0.0.1";
- .port = "8080";
- .first_byte_timeout = 1200s;
- }
- acl purge {
- "localhost";
- "127.0.0.1";
- }
- sub vcl_recv {
- set req.http.X-Forwarded-For = client.ip;
- if (req.request != "GET" ) {
- return(pipe);
- }
- // Strip cookies and normalize accept-encoding for static files and try to cache:
- if (req.url ~ "\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|pdf|txt|tar|wav|bmp|rtf|js|flv|swf)$") {
- ### parse accept encoding rulesets to normalize
- if (req.http.Accept-Encoding) {
- if (req.http.Accept-Encoding ~ "gzip") {
- set req.http.Accept-Encoding = "gzip";
- } elsif (req.http.Accept-Encoding ~ "deflate") {
- set req.http.Accept-Encoding = "deflate";
- } else {
- # unkown algorithm
- remove req.http.Accept-Encoding;
- }
- }
- unset req.http.Cookie;
- return(lookup);
- }
- if (req.request == "PURGE") {
- if (!client.ip ~ purge) {
- error 405 "Not allowed.";
- }
- purge("req.url ~ " req.url " && req.http.host == " req.http.host);
- error 200 "Purged.";
- }
- # pass everything else
- return (pass);
- }
- sub vcl_pipe {
- /* Force the connection to be closed afterwards so subsequent reqs don't use pipe */
- set bereq.http.connection = "close";
- }
- sub vcl_fetch {
- // Strip cookies for static files:
- if (req.url ~ "\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|pdf|txt|tar|wav|bmp|rtf|js|flv|swf)$") {
- unset beresp.http.set-cookie;
- if ( beresp.ttl < 1s ) {
- set beresp.ttl = 300s;
- }
- //if (beresp.status == 302 && req.url ~ "var/assets"){
- // return(pass);
- //}
- if (beresp.status > 299){
- return(pass);
- }
- }
- }
- sub vcl_deliver {
- if (obj.hits > 0) {
- set resp.http.X-Cache = "HIT";
- } else {
- set resp.http.X-Cache = "MISS";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement