X-Git-Url: https://git.sesse.net/?p=remoteglot;a=blobdiff_plain;f=default.vcl;h=aa2585f56cd0a152350bd631a82bc9145dadc304;hp=ef0b7d75848228fd1ab4130dd01ddbb926d284b1;hb=de97cece71fe4a5f64a88a807805608c7a289813;hpb=af901f11d1572468431e92d55a5f9980d39f3609 diff --git a/default.vcl b/default.vcl index ef0b7d7..aa2585f 100644 --- a/default.vcl +++ b/default.vcl @@ -2,6 +2,7 @@ vcl 4.0; +# You can have multiple ones; see vcl_recv. backend analysis { .host = "127.0.0.1"; .port = "5000"; @@ -18,15 +19,24 @@ sub vcl_recv { } if (req.http.host ~ "analysis\.sesse\.net$" && req.url ~ "^/analysis\.pl") { set req.backend_hint = analysis; + # Ignored by the backend; just to identify it in vcl_backend_response. + set req.http.x-analysis-backend = "backend1"; return (hash); } + # You can check on e.g. /analysis2\.pl here if you have multiple + # backends; just remember to set x-analysis-backend to something unique. } sub vcl_deliver { if (resp.http.x-analysis) { - set resp.http.date = now; + set resp.http.Date = now; + unset resp.http.X-Varnish; + unset resp.http.Via; + unset resp.http.Age; + unset resp.http.X-Powered-By; } unset resp.http.x-analysis; + unset resp.http.x-analysis-backend; } sub vcl_hash { @@ -47,7 +57,10 @@ sub vcl_backend_response { } if (beresp.http.content-type ~ "json") { set beresp.http.x-analysis = 1; - ban ( "obj.http.x-analysis == 1 && obj.http.x-remoteglot-last-modified != " + beresp.http.x-remoteglot-last-modified ); + set beresp.http.x-analysis-backend = bereq.http.x-analysis-backend; + ban ( "obj.http.x-analysis == 1 && " + + "obj.http.x-analysis-backend == " + bereq.http.x-analysis-backend + " && " + + "obj.http.x-rglm != " + beresp.http.x-rglm ); } return (deliver); }