Hi, I'm running varnish 3.0.2-1.el5 (x86_64) and just starting to try out the range support feature. However, it doesn't appear to be working for me, and I'm hoping someone can point me in the right direction.
param.show shows: http_range_support on [bool] Directly loading from the backend, I see expected responses: curl -v -i -r 0-10 -H 'Host: testhost' -s "http://backendip/audio/file.mp3?4" 2>&1 |head -n 20 * About to connect() to backendip port 80 (#0) * Trying backendip... connected * Connected to backendip (backendip) port 80 (#0) > GET file.mp3?4 HTTP/1.1 > Range: bytes=0-10 > User-Agent: curl/7.21.4 (universal-apple-darwin11.0) libcurl/7.21.4 > OpenSSL/0.9.8r zlib/1.2.5 > Accept: */* > Host: testhost > < HTTP/1.1 206 Partial Content < Date: Sun, 04 Mar 2012 22:27:51 GMT < Server: Apache/2.2.3 (CentOS) < Cache-Control: public, max-age=3600, must-revalidate, no-transform < Expires: Sun, 04 Mar 2012 23:27:51 +0000 < X-Internal-TTL: 3600 < X-External-Cache-Control: public, max-age=3600, must-revalidate, no-transform < X-Cache-Policy: manual < Accept-Ranges: bytes < Content-Range: bytes 0-10/1489040 < Content-Length: 11 Loading via Varnish, I see: curl -v -i -r 0-10 -H 'Host: testhost' -s "http://varniship/file.mp3?4" 2>&1 |head -n 20 * About to connect() to varniship port 80 (#0) * Trying varniship... connected * Connected to varniship (varniship) port 80 (#0) > GET /file.mp3?4 HTTP/1.1 > Range: bytes=0-10 > User-Agent: curl/7.21.4 (universal-apple-darwin11.0) libcurl/7.21.4 > OpenSSL/0.9.8r zlib/1.2.5 > Accept: */* > Host: testhost > < HTTP/1.1 206 Partial Content < Server: Apache/2.2.3 (CentOS) < Cache-Control: public, max-age=3600, must-revalidate, no-transform < Expires: Sun, 04 Mar 2012 23:30:05 +0000 < X-Internal-TTL: 3600 < X-External-Cache-Control: public, max-age=3600, must-revalidate, no-transform < X-Cache-Policy: manual < Accept-Ranges: bytes < Content-Range: bytes 0-1489039/1489040 < Content-Type: audio/mp3 < Content-Length: 1489040 This is running using the default VCL supplied with the RPM (to ensure that the non-compliance with Range wasn't something we've added in our config). Finally, here's the varnishlog: 13 BackendOpen b default 127.0.0.1 36383 127.0.0.1 80 13 TxRequest b GET 13 TxURL b /file.mp3?4 13 TxProtocol b HTTP/1.1 13 TxHeader b User-Agent: curl/7.21.4 (universal-apple-darwin11.0) libcurl/7.21.4 OpenSSL/0.9.8r zlib/1.2.5 13 TxHeader b Accept: */* 13 TxHeader b Host: testhost 13 TxHeader b X-Forwarded-For: 192.168.33.10 13 TxHeader b X-Varnish: 960993454 13 TxHeader b Accept-Encoding: gzip 13 RxProtocol b HTTP/1.1 13 RxStatus b 206 13 RxResponse b Partial Content 13 RxHeader b Date: Sun, 04 Mar 2012 22:32:38 GMT 13 RxHeader b Server: Apache/2.2.3 (CentOS) 13 RxHeader b Cache-Control: public, max-age=3600, must-revalidate, no-transform 13 RxHeader b Expires: Sun, 04 Mar 2012 23:32:39 +0000 13 RxHeader b X-Internal-TTL: 3600 13 RxHeader b X-External-Cache-Control: public, max-age=3600, must-revalidate, no-transform 13 RxHeader b X-Cache-Policy: manual 13 RxHeader b Accept-Ranges: bytes 13 RxHeader b Content-Range: bytes 0-1489039/1489040 13 RxHeader b Content-Length: 1489040 13 RxHeader b Connection: close 13 RxHeader b Content-Type: audio/mp3 13 Fetch_Body b 4(length) cls 0 mklen 1 13 Length b 1489040 13 BackendClose b default 0 Debug - "lurker: 0x2aaaaac07100 604801 0" 10 SessionOpen c 192.168.33.10 63825 varniship:80 10 ReqStart c 192.168.33.10 63825 960993454 10 RxRequest c GET 10 RxURL c /file.mp3?4 10 RxProtocol c HTTP/1.1 10 RxHeader c Range: bytes=0-10 10 RxHeader c User-Agent: curl/7.21.4 (universal-apple-darwin11.0) libcurl/7.21.4 OpenSSL/0.9.8r zlib/1.2.5 10 RxHeader c Accept: */* 10 RxHeader c Host: testhost 10 VCL_call c recv lookup 10 VCL_call c hash 10 Hash c /file.mp3?4 10 Hash c testhost 10 VCL_return c hash 10 VCL_call c miss fetch 10 Backend c 13 default default 10 TTL c 960993454 RFC -1 -1 -1 1330900359 0 1330900358 0 0 10 VCL_call c fetch 10 TTL c 960993454 VCL 121 -1 -1 1330900358 -1 10 VCL_return c hit_for_pass 10 ObjProtocol c HTTP/1.1 10 ObjResponse c Partial Content 10 ObjHeader c Date: Sun, 04 Mar 2012 22:32:38 GMT 10 ObjHeader c Server: Apache/2.2.3 (CentOS) 10 ObjHeader c Cache-Control: public, max-age=3600, must-revalidate, no-transform 10 ObjHeader c Expires: Sun, 04 Mar 2012 23:32:39 +0000 10 ObjHeader c X-Internal-TTL: 3600 10 ObjHeader c X-External-Cache-Control: public, max-age=3600, must-revalidate, no-transform 10 ObjHeader c X-Cache-Policy: manual 10 ObjHeader c Accept-Ranges: bytes 10 ObjHeader c Content-Range: bytes 0-1489039/1489040 10 ObjHeader c Content-Length: 1489040 10 ObjHeader c Content-Type: audio/mp3 10 SessionClose c remote closed 10 VCL_call c deliver deliver 10 TxProtocol c HTTP/1.1 10 TxStatus c 206 10 TxResponse c Partial Content 10 TxHeader c Server: Apache/2.2.3 (CentOS) 10 TxHeader c Cache-Control: public, max-age=3600, must-revalidate, no-transform 10 TxHeader c Expires: Sun, 04 Mar 2012 23:32:39 +0000 10 TxHeader c X-Internal-TTL: 3600 10 TxHeader c X-External-Cache-Control: public, max-age=3600, must-revalidate, no-transform 10 TxHeader c X-Cache-Policy: manual 10 TxHeader c Accept-Ranges: bytes 10 TxHeader c Content-Range: bytes 0-1489039/1489040 10 TxHeader c Content-Type: audio/mp3 10 TxHeader c Content-Length: 1489040 10 TxHeader c Accept-Ranges: bytes 10 TxHeader c Date: Sun, 04 Mar 2012 22:32:39 GMT 10 TxHeader c X-Varnish: 960993454 10 TxHeader c Age: 0 10 TxHeader c Via: 1.1 varnish 10 TxHeader c Connection: keep-alive 10 Debug c Write error, retval = 62284, len = 1489581, errno = Success 10 ReqEnd c 960993454 1330900358.186229944 1330900359.564546108 0.000057936 0.864976168 0.513339996 10 StatSess c 192.168.33.10 63825 1 1 1 0 0 1 541 1489040 I'd be grateful if anyone who is successfully using Range can indicate where to proceed with our debug. Thanks, Rob _______________________________________________ varnish-misc mailing list [email protected] https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
