Tag Archives: work

PROXY protocol in Varnish

Dag has been working implementing support for HAProxy’s PROXY protocol[1] in Varnish. This is a protocol adds a small header on each incoming TCP connection that describes who the real client is, added by (for example) an SSL terminating process. … Continue reading

Posted in varnish | Tagged , , , , , | Leave a comment

What happened to ban.url in Varnish 4.0?

tl;dr; when using Varnish 4 and bans via varnishadm, instead of “ban.url EXPRESSION”, use “ban req.url ~ EXPRESSION”. In Varnish 3.0 we had the ban.url command in the varnishadm CLI. This was a shortcut function expanding to the a bit cryptic (but powerful) … Continue reading

Posted in stuff | Tagged , , | 1 Comment

Setting client.ip in Varnish VCL with libvmod-ipcast

I’ve written a new Varnish 3.0 VMOD called ipcast. It has a single function; ipcast.clientip(ipstring) which sets the internal Varnish variable client.ip to whatever IPv4/IPv6 address you give as the argument. You need this if you want to do ACL checks … Continue reading

Posted in stuff | Tagged , , , , | Leave a comment

libvmod-cookie; simpler cookie handling in Varnish VCL

I’ve written a Varnish module (VMOD) to simplify handling of HTTP cookies in Varnish VCL. In essence it does the usual stuff you’d usually do with regular expressions, but with much simpler syntax and readability. It works by parsing the … Continue reading

Posted in Uncategorized | Tagged , , , , | 7 Comments

HTTP Live Streaming (HLS) tools

Delivering video over HTTP is up and coming. The two protocols that seem to be winning (currently) are HLS and HDS. These are my notes from playing around with HLS. If you want to play HLS on Linux, this python … Continue reading

Posted in Uncategorized | Tagged , , | 2 Comments

Varnishncsa and std.log()

New in Varnish 3.0.3rc1 is that you can put arbitrary log lines from VCL into the varnishncsa output. This can be used for funky stuff like logging the session cookie along with the request. Let’s say you have the following … Continue reading

Posted in Uncategorized | Tagged , , | Leave a comment