Psst.. new poll here.
[email protected] webmail now available. Want one? Go here.
Cannot use outlook/hotmail/live here to register as they blocking our mail servers. #microsoftdeez
Obey the Epel!
Paste
Pasted as Bash by Sparsh ( 13 years ago )
#-e This is a basic VCL configuration file for varnish. See the vcl(7)
#man page for details on VCL syntax and semantics.
#
#Default backend definition. Set this to point to your content
#server.
#
#backend default {
#.host = "192.168.133.42";
#.port = "80";
#}
backend dev2 {
.host = "192.168.152.81";
.port = "http";
.first_byte_timeout = 1s;
.probe = {
.url = "/server-status";
.interval = 5s;
.timeout = 1 s;
.window = 5;
.threshold = 3;
}
}
backend dev3 {
.host = "192.168.134.92";
.port = "http";
.first_byte_timeout = 1s;
.probe = {
.url = "/server-status";
.interval = 5s;
.timeout = 1 s;
.window = 5;
.threshold = 3;
}
}
backend dev4 {
.host = "192.168.133.42";
.port = "http";
.first_byte_timeout = 1s;
.probe = {
.url = "/server-status";
.interval = 5s;
.timeout = 1 s;
.window = 5;
.threshold = 3;
}
}
backend dev5 {
.host = "192.168.133.14";
.port = "http";
.first_byte_timeout = 1s;
.probe = {
.url = "/server-status";
.interval = 5s;
.timeout = 1 s;
.window = 5;
.threshold = 3;
}
}
backend dev6 {
.host = "192.168.134.199";
.port = "http";
.first_byte_timeout = 1s;
.probe = {
.url = "/server-status";
.interval = 5s;
.timeout = 1 s;
.window = 5;
.threshold = 3;
}
}
director www_director round-robin {
{ .backend = dev2; }
{ .backend = dev3; }
{ .backend = dev4; }
{ .backend = dev5; }
{ .backend = dev6; }
}
#
#Below is a commented-out copy of the default VCL logic. If you
#redefine any of these subroutines, the built-in logic will be
#appended to your code.
#
sub vcl_recv {
if(req.url !~ "^/deploy/js_visitor_settings.php") {
return(pass);
}
set req.backend = www_director;
set req.url = regsub(req.url, "random\=.*", "");
#unset req.http.cookie;
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;
}
}
# if (req.request != "GET" &&
# req.request != "HEAD" &&
# req.request != "PUT" &&
# req.request != "POST" &&
# req.request != "TRACE" &&
# req.request != "OPTIONS" &&
# req.request != "DELETE") {
# /* Non-RFC2616 or CONNECT which is weird. */
# return (pipe);
# }
# if (req.request != "GET" && req.request != "HEAD") {
# /* We only deal with GET and HEAD by default */
# return (pass);
# }
# if (req.http.Authorization || req.http.Cookie) {
# /* Not cacheable by default */
# return (pass);
# }
return (lookup);
}
#
#sub vcl_pipe {
# # Note that only the first request to the backend will have
# # X-Forwarded-For set. If you use X-Forwarded-For and want to
# # have it set for all requests, make sure to have:
# # set req.http.connection = "close";
# # here. It is not set by default as it might break some broken web
# # applications, like IIS with NTLM authentication.
# return (pipe);
#}
#
#sub vcl_pass {
# return (pass);
#}
#
#sub vcl_hash {
# set req.hash += req.url;
# if (req.http.host) {
# set req.hash += req.http.host;
# } else {
# set req.hash += server.ip;
# }
# return (hash);
#}
#
#sub vcl_hit {
# if (!obj.cacheable) {
# return (pass);
# }
# return (deliver);
#}
#
#sub vcl_miss {
# return (fetch);
#}
#
sub vcl_fetch {
if (beresp.http.Set-Cookie) {
return (pass);
}
# remove beresp.http.Set-Cookie;
if (beresp.cacheable) {
set beresp.ttl = 6h;
}
# if (!obj.cacheable) {
# return (pass);
# }
# if (obj.http.Set-Cookie) {
# return (pass);
# }
# set obj.prefetch = -30s;
# return (deliver);
}
#
sub vcl_deliver {
if (obj.hits > 0) {
set resp.http.X-Cache = "HIT";
set resp.http.X-Cache-Hits = obj.hits;
}
else {
set resp.http.X-Cache = "MISS";
}
set resp.http.Connection = "close";
set resp.http.Cache-Control = "no-cache, no-store, max-age=0, must-revalidate";
set resp.http.Pragma = "no-cache";
# return (deliver);
}
Revise this Paste