Hello<div><br></div><div>I am using Varnish-cache in front of a website based on the Play Framework (<a href="http://www.playframework.org/">http://www.playframework.org/</a> - a java web framework). I started out with a really simple varnish config file:</div>
<div><br></div><div><div>backend default {</div><div>    .host = "127.0.0.1";</div><div>    .port = "9010";</div><div>}</div><div><br></div><div>backend joytools {</div><div>        .host = "127.0.0.1";</div>
<div>        .port = "9020";</div><div>}</div><div><br></div><div>sub vcl_recv {</div><div>    if (req.http.host ~ "^(www.)?(<a href="http://joytools.dk">joytools.dk</a>|<a href="http://xn--bkkenbund-g3a.dk">xn--bkkenbund-g3a.dk</a>)$") {</div>
<div>        set req.backend = joytools;</div><div>    } else {</div><div>        set req.backend = default;</div><div>    }</div><div>}</div><div><br></div></div><div>The purpose is to sort out requests to a HTTP virtual host to one backend server and all other requests to another. This works.</div>
<div><br></div><div>However, on the first request or when doing a "refresh" in a browser the site becomes extremely slow and unresponsive. I did some work with tcpdump to find out what is going on. I captured this:</div>
<div><br></div><div>--REQUEST--</div><div><div>GET /public/javascripts/jquery-1.4.2.min.js HTTP/1.1</div><div>Host: <a href="http://xn--bkkenbund-g3a.dk">xn--bkkenbund-g3a.dk</a></div><div>Referer: <a href="http://xn--bkkenbund-g3a.dk/">http://xn--bkkenbund-g3a.dk/</a></div>
<div>If-Modified-Since: Thu, 11 Mar 2010 09:57:53 GMT</div><div>Accept: */*</div><div>If-None-Match: "1268301473000--44924593"</div><div>User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7</div>
<div>Accept-Encoding: gzip,deflate,sdch</div><div>Accept-Language: da,en-US;q=0.8,en;q=0.6</div><div>Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3</div><div>Cookie: PLAY_FLASH=; PLAY_ERRORS=; PLAY_SESSION=9df837ef975871bcd0e1fc61189dd457420accaf-%00___ID%3A327ad683-323e-4d25-a824-347ad85bc5df%00</div>
<div>X-Forwarded-For: 79.98.193.196</div><div>X-Varnish: 287151663</div><div><br></div><div>--REQUEST END--</div><div>--RESPONSE--</div><div>HTTP/1.1 304 Not Modified</div><div>Server: Play! Framework;1.1;dev</div><div>Cache-Control: no-cache</div>
<div>ETag: "1268301473000--44924593"</div></div><div><br></div><div>--RESPONSE END--</div><div><br></div><div>After this exchange between Play Framework and Varnish the connection is idle for exactly 60 seconds before closing. It looks to me as if Play thinks it is done replying but Varnish is expecting something more.</div>
<div><br></div><div>I hope an expert here can give me a quick pointer to how I proceed resolving this issue.</div><div><br></div><div>Thanks,</div><div><br></div><div>Baldur</div><meta http-equiv="content-type" content="text/html; charset=utf-8">