duplicate beresp / code not hit in backend_response?
Angelo Höngens
A.Hongens at netmatch.nl
Thu Apr 14 12:42:08 CEST 2016
Aaaaand, never mind, I see 304's get a special treatment, as documented in
https://www.varnish-cache.org/docs/trunk/users-guide/vcl-built-in-subs.html
--
With kind regards,
Angelo Höngens
Systems Administrator
------------------------------------------
NetMatch
travel technology solutions
Professor Donderstraat 46
5017 HL Tilburg
T: +31 (0)13 5811088
F: +31 (0)13 5821239
mailto:A.Hongens at netmatch.nl
http://www.netmatch.nl
------------------------------------------
Disclaimer
Deze e-mail is vertrouwelijk en uitsluitend bedoeld voor geadresseerde(n) en de organisatie van geadresseerde(n) en mag niet openbaar worden gemaakt aan derde partijen This e-mail is confidential and may not be disclosed to third parties since this e-mail is only intended for the addressee and the organization the addressee represents.
-----Original Message-----
From: varnish-misc-bounces+a.hongens=netmatch.nl at varnish-cache.org [mailto:varnish-misc-bounces+a.hongens=netmatch.nl at varnish-cache.org] On Behalf Of Angelo Höngens
Sent: Thursday, 14 April, 2016 12:35
To: varnish-misc at varnish-cache.org
Subject: duplicate beresp / code not hit in backend_response?
Hey guys and girls,
I'm trying to debug an issue with varnish here. Running varnish-4.1.2-1.el7.x86_64.
I think I have two problems. The first one, is that for debugging purposes, I want to force a hit-for-pass on objects with a beresp.status of > 300, and my vcl_backend_response looks like this:
sub vcl_backend_response {
if (beresp.status > 300) {
set beresp.ttl = 0s;
set beresp.uncacheable = true;
set beresp.http.X-Debug-GT300Resp = "YES";
}
if (beresp.uncacheable) {
set beresp.http.X-Cacheable = "NO:Not Cacheable";
} else {
set beresp.http.X-Cacheable = "YES";
if (beresp.http.Set-Cookie) {
unset beresp.http.Set-Cookie;
}
}
return (deliver);
}
However, varnish does not seem to hit that code, as the X-Debug-GT300Resp header never seems to be added. See the below output of varnishlog -b -g request -q 'BerespStatus > 200'.
What's even more confusing, is that I first see a 'BerespStatus 304', and a bit down, I see 'BerespStatus 200'. Huh? Is varnish doing two requests to my backend?
** << BeReq >> 192316528
-- Begin bereq 192316527 bgfetch
-- Timestamp Start: 1460629439.397252 0.000000 0.000000
-- BereqMethod GET
-- BereqURL /L1E3873A88W480H320.jpg
-- BereqProtocol HTTP/1.1
-- BereqHeader Host: images.domain.nl
-- BereqHeader Accept: image/webp,image/*,*/*;q=0.8
-- BereqHeader User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36
-- BereqHeader Referer: http://www.domain.nl/bla
-- BereqHeader Accept-Language: en-US,en;q=0.8,sr;q=0.6
-- BereqHeader Cookie: _svtri=1b7d5544-84cf-40f1-9228-7be06a208e99;
_gat=1;
-- BereqHeader X-Schema: http
-- BereqHeader X-Forwarded-For: 46.217.107.164
-- BereqHeader Accept-Encoding: gzip
-- BereqHeader If-Modified-Since: Fri, 01 Apr 2016 02:58:55 GMT
-- BereqHeader X-Varnish: 192316528
-- VCL_call BACKEND_FETCH
-- VCL_return fetch
-- BackendOpen 156 reload1460629152.default 127.0.0.1 8000 127.0.0.1
45666
-- Timestamp Bereq: 1460629439.397307 0.000056 0.000056
-- Timestamp Beresp: 1460629439.399414 0.002162 0.002106
-- BerespProtocol HTTP/1.1
-- BerespStatus 304
-- BerespReason Not Modified
-- BerespHeader Cache-Control: public, stale-while-revalidate=300,
max-age=300
-- BerespHeader Last-Modified: Fri, 01 Apr 2016 02:58:55 GMT
-- BerespHeader Server: Microsoft-IIS/8.5
-- BerespHeader X-Server-Duration: 0
-- BerespHeader X-Server-Name: CR1-WEB-111
-- BerespHeader X-Server-Timestamp: 14-04-2016 12:23:59
-- BerespHeader X-Server-ReponseStatus: 304
-- BerespHeader X-Server-RouteType: CmsImageRouteHandler2
-- BerespHeader X-AspNet-Version: 4.0.30319
-- BerespHeader X-Powered-By: ASP.NET
-- BerespHeader Date: Thu, 14 Apr 2016 10:23:58 GMT
-- TTL RFC 300 300 -1 1460629439 1460629439 1460629438 0 300
-- BerespProtocol HTTP/1.1
-- BerespStatus 200
-- BerespReason OK
-- BerespHeader Content-Type: image/jpeg
-- BerespHeader Content-Length: 92123
-- BerespHeader X-Cacheable: YES
-- VCL_call BACKEND_RESPONSE
-- BerespUnset X-Cacheable: YES
-- BerespHeader X-Cacheable: YES
-- VCL_return deliver
-- Storage malloc s0
-- ObjProtocol HTTP/1.1
-- ObjStatus 200
-- ObjReason OK
-- ObjHeader Cache-Control: public, stale-while-revalidate=300,
max-age=300
-- ObjHeader Last-Modified: Fri, 01 Apr 2016 02:58:55 GMT
-- ObjHeader Server: Microsoft-IIS/8.5
-- ObjHeader X-Server-Duration: 0
-- ObjHeader X-Server-Name: CR1-WEB-111
-- ObjHeader X-Server-Timestamp: 14-04-2016 12:23:59
-- ObjHeader X-Server-ReponseStatus: 304
-- ObjHeader X-Server-RouteType: CmsImageRouteHandler2
-- ObjHeader X-AspNet-Version: 4.0.30319
-- ObjHeader X-Powered-By: ASP.NET
-- ObjHeader Date: Thu, 14 Apr 2016 10:23:58 GMT
-- ObjHeader Content-Type: image/jpeg
-- ObjHeader Content-Length: 92123
-- ObjHeader X-Cacheable: YES
-- BackendReuse 156 reload1460629152.default
-- Timestamp BerespBody: 1460629439.399485 0.002233 0.000071
-- Length 92123
-- BereqAcct 900 0 900 418 0 418
-- End
--
With kind regards,
Angelo Höngens
_______________________________________________
varnish-misc mailing list
varnish-misc at varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
More information about the varnish-misc
mailing list