Varnish doesnt PURGE urls
shafeeque aslam
shafeequeaslam at gmail.com
Mon Dec 9 11:19:21 UTC 2019
This is purge to 1st Varnish server only. Give another purge request to 2nd
Varnish server giving it's port number.
On Mon 9 Dec, 2019, 4:45 PM hamidreza hosseini, <hrhosseini at hotmail.com>
wrote:
> Yes, surely i purge both servers
> This is my purge request:
>
> $curl -v -k -X PURGE http://localhost/Naserfeiz.mp4
>
> * Trying ::1...
> * Connected to localhost (::1) port 80 (#0)
> > PURGE /Naserfeiz.mp4 HTTP/1.1
> > Host: localhost
> > User-Agent: curl/7.47.0
> > Accept: */*
> >
> < HTTP/1.1 200 Purged
> < Date: Mon, 09 Dec 2019 11:12:54 GMT
> < Server: Varnish
> < X-Varnish: 98306
> < Content-Type: text/html; charset=utf-8
> < Retry-After: 5
> < Content-Length: 240
> < Accept-Ranges: bytes
> < Connection: keep-alive
> <
> <!DOCTYPE html>
> <html>
> <head>
> <title>200 Purged</title>
> </head>
> <body>
> <h1>Error 200 Purged</h1>
> <p>Purged</p>
> <h3>Guru Meditation:</h3>
> <p>XID: 98306</p>
> <hr>
> <p>Varnish cache server</p>
> </body>
> </html>
> * Connection #0 to host localhost left intact
>
>
> And this is varnishlog resault:
>
> * << BeReq >> 32771
> - Begin bereq 32770 fetch
> - Timestamp Start: 1575889894.491843 0.000000 0.000000
> - BereqMethod GET
> - BereqURL /
> - BereqProtocol HTTP/1.1
> - BereqHeader Host: 192.168.200.13
> - BereqHeader User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64;
> rv:70.0) Gecko/20100101 Firefox/70.0
> - BereqHeader Accept:
> text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
> - BereqHeader Accept-Language: en-US,en;q=0.5
> - BereqHeader Upgrade-Insecure-Requests: 1
> - BereqHeader X-Forwarded-For: 172.16.1.3
> - BereqHeader Accept-Encoding: gzip
> - BereqHeader X-Varnish: 32771
> - VCL_call BACKEND_FETCH
> - VCL_return fetch
> - BackendOpen 18 boot.varnish_malloc_01 192.168.200.12 8080
> 192.168.200.13 14088
> - Timestamp Bereq: 1575889894.492444 0.000601 0.000601
> - Timestamp Beresp: 1575889894.493276 0.001433 0.000832
> - BerespProtocol HTTP/1.1
> - BerespStatus 200
> - BerespReason OK
> - BerespHeader Server: nginx
> - BerespHeader Date: Mon, 09 Dec 2019 10:00:29 GMT
> - BerespHeader Content-Type: text/html
> - BerespHeader Content-Length: 340
> - BerespHeader Last-Modified: Tue, 12 Nov 2019 13:01:40 GMT
> - BerespHeader ETag: "5dcaad34-154"
> - BerespHeader X-Varnish: 8 6
> - BerespHeader Age: 4270
> - BerespHeader Via: 1.1 varnish-v4
> - BerespHeader Accept-Ranges: bytes
> - BerespHeader Connection: keep-alive
> - TTL RFC 120 10 -1 1575889894 1575885624 1575885629 0 0
> - VCL_call BACKEND_RESPONSE
> - TTL VCL 177070 10 0 1575885624
> - VCL_return deliver
> - Storage malloc s0
> - ObjProtocol HTTP/1.1
> - ObjStatus 200
> - ObjReason OK
> - ObjHeader Server: nginx
> - ObjHeader Date: Mon, 09 Dec 2019 10:00:29 GMT
> - ObjHeader Content-Type: text/html
> - ObjHeader Content-Length: 340
> - ObjHeader Last-Modified: Tue, 12 Nov 2019 13:01:40 GMT
> - ObjHeader ETag: "5dcaad34-154"
> - ObjHeader X-Varnish: 8 6
> - ObjHeader Via: 1.1 varnish-v4
> - Fetch_Body 3 length stream
> - BackendReuse 18 boot.varnish_malloc_01
> - Timestamp BerespBody: 1575889894.493474 0.001631 0.000198
> - Length 340
> - BereqAcct 336 0 336 279 340 619
> - End
>
> * << Request >> 32770
> - Begin req 32769 rxreq
> - Timestamp Start: 1575889894.491659 0.000000 0.000000
> - Timestamp Req: 1575889894.491659 0.000000 0.000000
> - ReqStart 172.16.1.3 42502
> - ReqMethod GET
> - ReqURL /
> - ReqProtocol HTTP/1.1
> - ReqHeader Host: 192.168.200.13
> - ReqHeader User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64;
> rv:70.0) Gecko/20100101 Firefox/70.0
> - ReqHeader Accept:
> text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
> - ReqHeader Accept-Language: en-US,en;q=0.5
> - ReqHeader Accept-Encoding: gzip, deflate
> - ReqHeader Connection: keep-alive
> - ReqHeader Cookie: _ga=GA1.1.1476719154.1572941620;
> _gid=GA1.1.117112441.1575877103
> - ReqHeader Upgrade-Insecure-Requests: 1
> - ReqHeader If-Modified-Since: Tue, 12 Nov 2019 13:01:40 GMT
> - ReqHeader If-None-Match: "5dcaad34-154"
> - ReqHeader Cache-Control: max-age=0
> - ReqHeader X-Forwarded-For: 172.16.1.3
> - VCL_call RECV
> - ReqUnset Cookie: _ga=GA1.1.1476719154.1572941620;
> _gid=GA1.1.117112441.1575877103
> - VCL_return hash
> - ReqUnset Accept-Encoding: gzip, deflate
> - ReqHeader Accept-Encoding: gzip
> - VCL_call HASH
> - VCL_return lookup
> - VCL_call MISS
> - VCL_return fetch
> - Link bereq 32771 fetch
> - Timestamp Fetch: 1575889894.493501 0.001842 0.001842
> - RespProtocol HTTP/1.1
> - RespStatus 200
> - RespReason OK
> - RespHeader Server: nginx
> - RespHeader Date: Mon, 09 Dec 2019 10:00:29 GMT
> - RespHeader Content-Type: text/html
> - RespHeader Content-Length: 340
> - RespHeader Last-Modified: Tue, 12 Nov 2019 13:01:40 GMT
> - RespHeader ETag: "5dcaad34-154"
> - RespHeader X-Varnish: 8 6
> - RespHeader Via: 1.1 varnish-v4
> - RespHeader X-Varnish: 32770
> - RespHeader Age: 4270
> - RespHeader Via: 1.1 varnish-v4
> - VCL_call DELIVER
> - VCL_return deliver
> - Timestamp Process: 1575889894.493541 0.001881 0.000039
> - RespProtocol HTTP/1.1
> - RespStatus 304
> - RespReason Not Modified
> - RespReason Not Modified
> - RespUnset Content-Length: 340
> - Debug "RES_MODE 0"
> - RespHeader Connection: keep-alive
> - Timestamp Resp: 1575889894.493599 0.001940 0.000058
> - ReqAcct 503 0 503 285 0 285
> - End
>
> * << Request >> 65538
> - Begin req 65537 rxreq
> - Timestamp Start: 1575889962.124164 0.000000 0.000000
> - Timestamp Req: 1575889962.124164 0.000000 0.000000
> - ReqStart ::1 62064
> - ReqMethod PURGE
> - ReqURL /Naserfeiz.mp4
> - ReqProtocol HTTP/1.1
> - ReqHeader Host: localhost
> - ReqHeader User-Agent: curl/7.47.0
> - ReqHeader Accept: */*
> - ReqHeader X-Forwarded-For: ::1
> - VCL_call RECV
> - VCL_acl MATCH purge "localhost"
> - VCL_return purge
> - VCL_call HASH
> - VCL_return lookup
> - VCL_call PURGE
> - VCL_return synth
> - Timestamp Process: 1575889962.124300 0.000136 0.000136
> - RespHeader Date: Mon, 09 Dec 2019 11:12:42 GMT
> - RespHeader Server: Varnish
> - RespHeader X-Varnish: 65538
> - RespProtocol HTTP/1.1
> - RespStatus 200
> - RespReason OK
> - RespReason Purged
> - VCL_call SYNTH
> - RespHeader Content-Type: text/html; charset=utf-8
> - RespHeader Retry-After: 5
> - VCL_return deliver
> - RespHeader Content-Length: 240
> - Storage malloc Transient
> - RespHeader Accept-Ranges: bytes
> - Debug "RES_MODE 2"
> - RespHeader Connection: keep-alive
> - Timestamp Resp: 1575889962.124593 0.000428 0.000292
> - ReqAcct 88 0 88 218 240 458
> - End
>
> * << Session >> 65537
> - Begin sess 0 HTTP/1
> - SessOpen ::1 62064 :80 ::1 80 1575889962.124081 13
> - Link req 65538 rxreq
> - SessClose REM_CLOSE 0.001
> - End
>
> * << Request >> 98306
> - Begin req 98305 rxreq
> - Timestamp Start: 1575889974.116017 0.000000 0.000000
> - Timestamp Req: 1575889974.116017 0.000000 0.000000
> - ReqStart ::1 62066
> - ReqMethod PURGE
> - ReqURL /Naserfeiz.mp4
> - ReqProtocol HTTP/1.1
> - ReqHeader Host: localhost
> - ReqHeader User-Agent: curl/7.47.0
> - ReqHeader Accept: */*
> - ReqHeader X-Forwarded-For: ::1
> - VCL_call RECV
> - VCL_acl MATCH purge "localhost"
> - VCL_return purge
> - VCL_call HASH
> - VCL_return lookup
> - VCL_call PURGE
> - VCL_return synth
> - Timestamp Process: 1575889974.116128 0.000111 0.000111
> - RespHeader Date: Mon, 09 Dec 2019 11:12:54 GMT
> - RespHeader Server: Varnish
> - RespHeader X-Varnish: 98306
> - RespProtocol HTTP/1.1
> - RespStatus 200
> - RespReason OK
> - RespReason Purged
> - VCL_call SYNTH
> - RespHeader Content-Type: text/html; charset=utf-8
> - RespHeader Retry-After: 5
> - VCL_return deliver
> - RespHeader Content-Length: 240
> - Storage malloc Transient
> - RespHeader Accept-Ranges: bytes
> - Debug "RES_MODE 2"
> - RespHeader Connection: keep-alive
> - Timestamp Resp: 1575889974.116288 0.000271 0.000160
> - ReqAcct 88 0 88 218 240 458
> - End
>
> * << Session >> 98305
> - Begin sess 0 HTTP/1
> - SessOpen ::1 62066 :80 ::1 80 1575889974.115935 15
> - Link req 98306 rxreq
> - SessClose REM_CLOSE 0.002
> - End
>
> * << Session >> 32769
> - Begin sess 0 HTTP/1
> - SessOpen 172.16.1.3 42502 :80 192.168.200.13 80
> 1575889894.491572 14
> - Link req 32770 rxreq
> - Link req 32772 rxreq
> - VSL timeout
> - End synth
>
> * << Request >> 32772
> - Begin req 32769 rxreq
> - Timestamp Start: 1575889894.845556 0.000000 0.000000
> - Timestamp Req: 1575889894.845556 0.000000 0.000000
> - ReqStart 172.16.1.3 42502
> - ReqMethod GET
> - ReqURL /Naserfeiz.mp4
> - ReqProtocol HTTP/1.1
> - ReqHeader Host: 192.168.200.13
> - ReqHeader User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64;
> rv:70.0) Gecko/20100101 Firefox/70.0
> - ReqHeader Accept:
> video/webm,video/ogg,video/*;q=0.9,application/ogg;q=0.7,audio/*;q=0.6,*/*;q=0.5
> - ReqHeader Accept-Language: en-US,en;q=0.5
> - ReqHeader Range: bytes=205560-
> - ReqHeader Connection: keep-alive
> - ReqHeader Referer: http://192.168.200.13/
> - ReqHeader Cookie: _ga=GA1.1.1476719154.1572941620;
> _gid=GA1.1.117112441.1575877103
> - ReqHeader X-Forwarded-For: 172.16.1.3
> - VCL_call RECV
> - ReqUnset Cookie: _ga=GA1.1.1476719154.1572941620;
> _gid=GA1.1.117112441.1575877103
> - VCL_return hash
> - VCL_call HASH
> - VCL_return lookup
> - Hit 3
> - VCL_call HIT
> - VCL_return deliver
> - RespProtocol HTTP/1.1
> - RespStatus 200
> - RespReason OK
> - RespHeader Server: nginx
> - RespHeader Date: Mon, 09 Dec 2019 11:06:51 GMT
> - RespHeader Content-Type: text/plain
> - RespHeader Content-Length: 23521499
> - RespHeader Last-Modified: Sun, 19 Nov 2000 08:52:00 GMT
> - RespHeader ETag: "3a1794b0-166e8db"
> - RespHeader X-Varnish: 32770
> - RespHeader Via: 1.1 varnish-v4
> - RespHeader X-Varnish: 32772 3
> - RespHeader Age: 288
> - RespHeader Via: 1.1 varnish-v4
> - VCL_call DELIVER
> - VCL_return deliver
> - Timestamp Process: 1575889894.845683 0.000127 0.000127
> - RespHeader Accept-Ranges: bytes
> - RespHeader Content-Range: bytes 205560-23521498/23521499
> - RespProtocol HTTP/1.1
> - RespStatus 206
> - RespReason Partial Content
> - RespReason Partial Content
> - RespUnset Content-Length: 23521499
> - RespHeader Content-Length: 23315939
> - Debug "RES_MODE 2"
> - RespHeader Connection: keep-alive
> - Debug "Hit idle send timeout, wrote = 10899908/23316330;
> retrying"
> - Debug "Hit idle send timeout, wrote = 258432/12416422;
> retrying"
> - Debug "Write error, retval = -1, len = 12157990, errno =
> Resource temporarily unavailable"
> - Timestamp Resp: 1575890074.846999 180.001443 180.001316
> - ReqAcct 419 0 419 391 23315939 23316330
> - End
>
> ##########################
> ------------------------------
> *From:* Guillaume Quintard <guillaume at varnish-software.com>
> *Sent:* Monday, December 9, 2019 11:57 AM
> *To:* hamidreza hosseini <hrhosseini at hotmail.com>
> *Cc:* varnish-misc at varnish-cache.org <varnish-misc at varnish-cache.org>
> *Subject:* Re: Varnish doesnt PURGE urls
>
> Are you sure that you purge both Varnish layers (file and RAM)?
>
> can you pastebin a varnishlog of the purge and of the subsequent request?
>
> --
> Guillaume Quintard
>
>
> On Mon, Dec 9, 2019 at 2:55 AM hamidreza hosseini <hrhosseini at hotmail.com>
> wrote:
>
> because its steel in cach and i can download and see th urls that i purged
> before!
> its Interesting that it return 200 code from varnish!!!
>
> Best regards.
> ------------------------------
> *From:* Guillaume Quintard <guillaume at varnish-software.com>
> *Sent:* Monday, December 9, 2019 11:48 AM
> *To:* hamidreza hosseini <hrhosseini at hotmail.com>
> *Cc:* varnish-misc at varnish-cache.org <varnish-misc at varnish-cache.org>
> *Subject:* Re: Varnish doesnt PURGE urls
>
> Hi,
>
> How do you tell that it's not purging?
>
> Cheers,
>
> --
> Guillaume Quintard
>
>
> On Mon, Dec 9, 2019 at 2:45 AM hamidreza hosseini <hrhosseini at hotmail.com>
> wrote:
>
> Hi,
>
> I've two varnish, that one of them use ram as backend and another file as
> backend, requests first come to varnish(ram) and then go to another server
> in varnish(file) and then go to nginx, this is my diagram:
>
>
> Req=====> [varnish ram] =======> [varnish file] =====> [Nginx]
>
> And following file is my vcl configuration file that i'm using,
> but when i want to purge a url it doesnt work and it steel remains in
> cache,
> Should i chage my config file?
> What's wrong with varnish?
>
> Vcl config file:
>
> ### Naming note: use [0-9a-zA-Z_] only. no -. Or use camelCase ;-)
> vcl 4.0;
>
> import directors;
>
>
> backend varnish_malloc_01 { .host = "192.168.200.12"; .port = "8080"; }
>
>
> sub vcl_init {
> new varnish_cluster = directors.round_robin();
> varnish_cluster.add_backend(varnish_malloc_01);
>
> }
>
>
> acl purge {
> "localhost";
> "192.168.200.0"/24;
> ;
> }
>
>
> sub vcl_recv {
>
> sub vcl_recv {
> #set req.backend_hint = varnish_cluster.backend();
> unset req.http.Cookie;
> if (req.method == "PURGE") {
> ### TODO: also purge from the backend
> if (!client.ip ~ purge) {
> return(synth(405,"Not allowed."));
> }
> return (purge);
> }
> }
>
> sub vcl_backend_response {
> set beresp.ttl=48h;
> # Don't cache 404 responses
> if ( beresp.status == 404 ) {
> set beresp.ttl = 120s;
> set beresp.uncacheable = true;
> return (deliver);
> }
> }
>
>
> _______________________________________________
> varnish-misc mailing list
> varnish-misc at varnish-cache.org
> https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
>
> _______________________________________________
> varnish-misc mailing list
> varnish-misc at varnish-cache.org
> https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-misc/attachments/20191209/5dd29370/attachment-0001.html>
More information about the varnish-misc
mailing list