how to purge via http

David Birdsong david.birdsong at gmail.com
Sat Jan 16 04:49:29 CET 2010


On Fri, Jan 15, 2010 at 7:46 PM, David Birdsong
<david.birdsong at gmail.com> wrote:
> I curl and the hit count is 3
>
> curl -I http://localhost:6081/lru.10.cache.buster
> HTTP/1.1 200 OK
> Server: nginx/0.7.64
> Content-Type: application/octet-stream
> Last-Modified: Sat, 16 Jan 2010 03:03:10 GMT
> X-Varnish-IP: 127.0.0.1
> X-Varnish-Port: 6081
> Content-Length: 104857600
> Date: Sat, 16 Jan 2010 03:35:58 GMT
> X-Varnish: 1453995344 1453994021
> Via: 1.1 varnish
> Connection: keep-alive
> X-Varnish-Hits: 3
> age: 0
>
> I try to purge using nc:
> nc localhost 6081  < /tmp/purge_reqest
>
> contents of purge_reqest:
> PURGE /lru.10.cache.buster HTTP/1.0
> Host: www.example.com
>
>
> I get a 404.   I curl again and the hit-count is incremented to 4.  I
> even put the url in the error to see how varnish sees my handwritten
> http request:
> sub vcl_miss {
>  if (req.request == "PURGE") {
>    error 404 req.url;
>  }
> }
>
> and the url looks valid:
>
> $ nc localhost 6081  < /tmp/purge_reqest
> HTTP/1.1 404 /lru.10.cache.buster
> Server: Varnish
> Retry-After: 0
> Content-Type: text/html; charset=utf-8
> Content-Length: 491
> Date: Sat, 16 Jan 2010 03:41:45 GMT
> X-Varnish: 1453995582
> Via: 1.1 varnish
> Connection: close
> X-Varnish-Hits: 0
> age: 0
>
>
> I checked to see that curl isn't manging up the url:
>
> # nc -l 6083
> HEAD /lru.10.cache.buster HTTP/1.1
> User-Agent: curl/7.18.2 (x86_64-redhat-linux-gnu) libcurl/7.18.2
> NSS/3.12.1.1 zlib/1.2.3 libidn/0.6.14 libssh2/0.18
> Host: localhost:6083
> Accept: */*
>
>
> that looks ok.
>
> What am I doing wrong, why is the url not found in the cache between
> the different requests?
>

For some reason it often takes me writing out my problem to solve it
minutes after I send out the email for help.  I didn't realize that
Host: is hashed in with the url.



More information about the varnish-misc mailing list