vcl 4.0;
import std;
import directors;
backend mfn1 {
.host = "IP-HIDDEN-1";
.port = "8080";
}
backend mfn2 {
.host = "IP-HIDDEN-2";
.port = "8080";
}
sub vcl_init {
new ocean = directors.round_robin();
ocean.add_backend(mfn1);
ocean.add_backend(mfn2);
}
sub vcl_recv {
set req.http.Cookie = regsuball(req.http.Cookie, "(^|;\s*)(_[_a-z]+|has_js)=[^;]*", "");
set req.http.Cookie = regsub(req.http.Cookie, "^;\s*", "");
set req.backend_hint = ocean.backend();
if (server.ip == "IP-HIDDEN-1") {
set req.backend_hint = mfn1;
} else {
set req.backend_hint = mfn2;
}
if(req.url ~ "\.(pdf|woff|eot|svg|ttf|jpeg|jpg|png|gif|ico|swf|js|css|html|htm|xml|php)$") { return (hash); }
}
#sub vcl_backend_response { set beresp.ttl = 15m; set beresp.grace = 1h; }
sub vcl_deliver {
}
sub vcl_hash {
hash_data(server.ip);
if (req.http.host) {
hash_data(req.http.host);
}
hash_data(req.url);
if (req.http.Accept-Encoding) {
hash_data(req.http.Accept-Encoding);
}
return (lookup);
}
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}