>My backend caching server blindly delivers content without inspecting it. >This specific page unfortunately comes from a Microsoft IIS ASP server before >beign stored in the "cache server". >and none of "Connection:", "Content-Length:" or "Transfer-Encoding" >Yep. But Varnish has to be a bit more tolerant regarding servers deficiencies. >Right?
Microsft IIS sends these headers, our stack is IIS7 to varnish. Something is stripping headers, see varnishlog output below 316 TxHeader c Content-Type: text/xml; charset=utf-8 316 TxHeader c Content-Encoding: gzip 316 TxHeader c Vary: Accept-Encoding 316 TxHeader c Server: Microsoft-IIS/7.0 316 TxHeader c X-Powered-By: ASP.NET 316 TxHeader c WS: 2-5 316 TxHeader c X-TOPS-CacheReason: Speed 316 TxHeader c cache-control: max-age = 300 316 TxHeader c Content-Length: 3341 316 TxHeader c Date: Mon, 12 Jul 2010 14:33:07 GMT 316 TxHeader c X-Varnish: 788805734 788768049 316 TxHeader c Age: 177 316 TxHeader c Via: 1.1 varnish 316 TxHeader c Connection: keep-alive 316 TxHeader c X-Cache-Svr: topsvarnish2 316 TxHeader c X-Cache: HIT 316 TxHeader c X-Cache-Hits: 4044 Stefan Caunter :: Senior Systems Administrator :: TOPS e: [email protected] :: m: (416) 561-4871 www.thestar.com www.topscms.com 2010/7/12 Poul-Henning Kamp <[email protected]> In message <[email protected]>, zabr ane Mikael writes: Can you please open a ticket on this ? I need to read the RFC to find out if this is actually a bug, but it is certainly not conventional of your backend to send HTTP/1.1 and none of "Connection:", "Content-Length:" or "Transfer-Encoding" Poul-Henning >--===============8364418252999650435== >Content-Type: multipart/alternative; boundary=0015174be612c79937048b2e98c0 > >--0015174be612c79937048b2e98c0 >Content-Type: text/plain; charset=ISO-8859-1 > >Hi list, > >I'm facing a little problem with my actual varnish config. >Currently, Varnish have only one backend (it's a caching server). > >When trying to get a specific URL from the cache through Varnish, it always >set the header "Content-Length: 0" for it before sending it back to Firefox. > >Inside the cache, this URL has no "Content-Length" header as you can see: > >1) CACHE BACKEND ---> VARNISH >----------------------------------------------------- >HTTP/1.1 200 OK >Date: Tue, 15 Jun 2010 09:18:29 GMT >Content-Type: text/html; charset=UTF-8 >X-Powered-By: ASP.NET >Set-Cookie: jsessionid=XXXXXXXXXXXXXXXXXXX; path=/ > >[payload] > > >2) VARNISH ----> FIREFOX >----------------------------------------- >Content-Type text/html; charset=UTF-8 >X-Powered-By ASP.NET >Set-Cookie jsessionid=XXXXXXXXXXXXXXXXXXX; path=/ >Content-Length 0 >Date Mon, 12 Jul 2010 10:11:06 GMT >X-Varnish 353742751 >Age 0 >Via 1.1 varnish > >[payload] > > >How can I tell "Varnish" to always compute the "Content-Length" if it's not >specified (in the headers response from the cache)? > >Help appreciated guys!!! > >N.B: getting this URL directly from the cache (i.e without using Varnish) >works perfectly. > >-- >Regards >Zab > >--0015174be612c79937048b2e98c0 >Content-Type: text/html; charset=ISO-8859-1 >Content-Transfer-Encoding: quoted-printable > >Hi list,<div><br></div><div><div>I'm facing a little problem with my ac= >tual varnish config.</div><div>Currently, Varnish have only one backend (it= >'s a caching server).</div><div><br></div><div>When trying to get a spe= >cific URL from the cache through Varnish, it always</div> ><div>set the header "Content-Length: 0" for it before sending it = >back to Firefox.</div><div><br></div><div>Inside the cache, this URL has no= > "Content-Length" header as you can see:</div><div><br></div> ><div>1) CACHE BACKEND ---> VARNISH</div><div>---------------------------= >--------------------------</div><div>HTTP/1.1 200 OK</div><div>Date: Tue, 1= >5 Jun 2010 09:18:29 GMT</div><div>Content-Type: text/html; charset=3DUTF-8<= >/div> ><div>X-Powered-By: <a href=3D"http://ASP.NET">ASP.NET</a></div><div>Set-Coo= >kie: jsessionid=3DXXXXXXXXXXXXXXXXXXX; path=3D/</div><div><br></div><div>[p= >ayload]</div><div><br></div><div><br></div><div>2) VARNISH ----> FIREFOX= ></div> ><div>-----------------------------------------</div><div><div>Content-Type<= >span class=3D"Apple-tab-span" style=3D"white-space:pre"> ></span>text/html; = >charset=3DUTF-8</div><div>X-Powered-By<span class=3D"Apple-tab-span" style= >=3D"white-space:pre"> </span><a href=3D"http://ASP.NET">ASP.NET</a></div> ><div>Set-Cookie<span class=3D"Apple-tab-span" style=3D"white-space:pre"> ></= >span>jsessionid=3DXXXXXXXXXXXXXXXXXXX; path=3D/</div><div>Content-Length<sp= >an class=3D"Apple-tab-span" style=3D"white-space:pre"> </span>0</div><div>D= >ate<span class=3D"Apple-tab-span" style=3D"white-space:pre"> </span>Mon, 12= > Jul 2010 10:11:06 GMT</div> ><div>X-Varnish<span class=3D"Apple-tab-span" style=3D"white-space:pre"> ></s= >pan>353742751</div><div>Age<span class=3D"Apple-tab-span" style=3D"white-sp= >ace:pre"> </span>0</div><div>Via<span class=3D"Apple-tab-span" >style=3D"whi= >te-space:pre"> </span>1.1 varnish</div> ></div><div><br></div><div>[payload]</div><div><br></div><div><br></div><div= >>How can I tell "Varnish" to always compute the "Content-Len= >gth" if it's not specified (in the headers response from the cache= >)?</div> ><div><br></div>Help appreciated guys!!!</div><div><br></div><div>N.B: getti= >ng this URL directly from the cache (i.e without using Varnish) works perfe= >ctly.</div><div><br>-- <br>Regards<br>Zab<br> ></div> > >--0015174be612c79937048b2e98c0-- > > >--===============8364418252999650435== >Content-Type: text/plain; charset="us-ascii" >MIME-Version: 1.0 >Content-Transfer-Encoding: 7bit >Content-Disposition: inline > >_______________________________________________ >varnish-misc mailing list >[email protected] >http://lists.varnish-cache.org/mailman/listinfo/varnish-misc >--===============8364418252999650435==-- > -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 [email protected] | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. -- Regards Zabrane _______________________________________________ varnish-misc mailing list [email protected] http://lists.varnish-cache.org/mailman/listinfo/varnish-misc
