diff options
author | Matth?us G. Chajdas <dev@anteru.net> | 2019-11-10 13:56:53 +0100 |
---|---|---|
committer | Matth?us G. Chajdas <dev@anteru.net> | 2019-11-10 13:56:53 +0100 |
commit | 1dd3124a9770e11b6684e5dd1e6bc15a0aa3bc67 (patch) | |
tree | 87a171383266dd1f64196589af081bc2f8e497c3 /tests/examplefiles/varnish.vcl | |
parent | f1c080e184dc1bbc36eaa7cd729ff3a499de568a (diff) | |
download | pygments-master.tar.gz |
Diffstat (limited to 'tests/examplefiles/varnish.vcl')
-rw-r--r-- | tests/examplefiles/varnish.vcl | 187 |
1 files changed, 0 insertions, 187 deletions
diff --git a/tests/examplefiles/varnish.vcl b/tests/examplefiles/varnish.vcl deleted file mode 100644 index 6258c313..00000000 --- a/tests/examplefiles/varnish.vcl +++ /dev/null @@ -1,187 +0,0 @@ -# This is the VCL configuration Varnish will automatically append to your VCL -# file during compilation/loading. See the vcl(7) man page for details on syntax -# and semantics. -# New users is recommended to use the example.vcl file as a starting point. - -vcl 4.0; - -backend foo { .host = "192.168.1.1"; } - -probe blatti { .url = "foo"; } -probe fooy { - .url = "beh"; - -} - -acl foo { - "192.168.1.1"; - "192.168.0.0"/24; - ! "192.168.0.1"; -} - -include "foo.vcl"; - -import std; - -sub vcl_init { - new b = director.foo(); -} - -sub vcl_recv { - ban(req.url ~ "foo"); - rollback(); -} -sub vcl_recv { - if (req.method == "PRI") { - /* We do not support SPDY or HTTP/2.0 */ - return (synth(405)); - } - if (req.method != "GET" && - req.method != "HEAD" && - req.method != "PUT" && - req.method != "POST" && - req.method != "TRACE" && - req.method != "OPTIONS" && - req.method != "DELETE") { - /* Non-RFC2616 or CONNECT which is weird. */ - return (pipe); - } - - if (req.method != "GET" && req.method != "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 (hash); -} - -sub vcl_pipe { - # By default Connection: close is set on all piped requests, to stop - # connection reuse from sending future requests directly to the - # (potentially) wrong backend. If you do want this to happen, you can undo - # it here. - # unset bereq.http.connection; - return (pipe); -} - -sub vcl_pass { - return (fetch); -} - -sub vcl_hash { - hash_data(req.url); - if (req.http.host) { - hash_data(req.http.host); - } else { - hash_data(server.ip); - } - return (lookup); -} - -sub vcl_purge { - return (synth(200, "Purged")); -} - -sub vcl_hit { - if (obj.ttl >= 0s) { - // A pure unadultered hit, deliver it - return (deliver); - } - if (obj.ttl + obj.grace > 0s) { - // Object is in grace, deliver it - // Automatically triggers a background fetch - return (deliver); - } - // fetch & deliver once we get the result - return (miss); -} - -sub vcl_miss { - return (fetch); -} - -sub vcl_deliver { - set resp.http.x-storage = storage.s0.free; - return (deliver); -} - -/* - * We can come here "invisibly" with the following errors: 413, 417 & 503 - */ -sub vcl_synth { - set resp.http.Content-Type = "text/html; charset=utf-8"; - set resp.http.Retry-After = "5"; - synthetic( {"<!DOCTYPE html> -<html> - <head> - <title>"} + resp.status + " " + resp.reason + {"</title> - </head> - <body> - <h1>Error "} + resp.status + " " + resp.reason + {"</h1> - <p>"} + resp.reason + {"</p> - <h3>Guru Meditation:</h3> - <p>XID: "} + req.xid + {"</p> - <hr> - <p>Varnish cache server</p> - </body> -</html> -"} ); - return (deliver); -} - -####################################################################### -# Backend Fetch - -sub vcl_backend_fetch { - return (fetch); -} - -sub vcl_backend_response { - if (beresp.ttl <= 0s || - beresp.http.Set-Cookie || - beresp.http.Surrogate-control ~ "no-store" || - (!beresp.http.Surrogate-Control && - beresp.http.Cache-Control ~ "no-cache|no-store|private") || - beresp.http.Vary == "*") { - /* - * Mark as "Hit-For-Pass" for the next 2 minutes - */ - set beresp.ttl = 120s; - set beresp.uncacheable = true; - } - return (deliver); -} - -sub vcl_backend_error { - set beresp.http.Content-Type = "text/html; charset=utf-8"; - set beresp.http.Retry-After = "5"; - synthetic( {"<!DOCTYPE html> -<html> - <head> - <title>"} + beresp.status + " " + beresp.reason + {"</title> - </head> - <body> - <h1>Error "} + beresp.status + " " + beresp.reason + {"</h1> - <p>"} + beresp.reason + {"</p> - <h3>Guru Meditation:</h3> - <p>XID: "} + bereq.xid + {"</p> - <hr> - <p>Varnish cache server</p> - </body> -</html> -"} ); - return (deliver); -} - -####################################################################### -# Housekeeping - -sub vcl_init { -} - -sub vcl_fini { - return (ok); -} |