Handling HTML5 Video for iOS and Safari clients

info+varnish at shee.org info+varnish at shee.org
Fri Sep 8 16:54:10 UTC 2017

> Am 08.09.2017 um 17:05 schrieb Dridi Boukelmoune <dridi at varni.sh>:
> On Fri, Sep 8, 2017 at 2:55 PM,  <info+varnish at shee.org> wrote:
> <snip>
>> Thanks to pointing to this direction. Looking into it I see following (trimmed):
>> Request 1
>> ReqMethod      GET
>> ReqURL         /test.mp4
>> ReqHeader      range: bytes=0-1
>> VCL_call       HIT
>> RespStatus     200
>> RespReason     OK
>> RespHeader     Content-Length: 7081786
>> VCL_return     deliver
>> RespHeader     Accept-Ranges: bytes
>> RespHeader     Content-Range: bytes 0-1/7081786
>> RespStatus     206
>> RespReason     Partial Content
>> RespUnset      Content-Length: 7081786
>> RespHeader     Content-Length: 2
> <snip>
> Are those actual transactions originating from the browser or you
> using a tool like curl to test the range behavior?

Its the real browser (Safari.app 10.1.2, Mac OS X 10.11.6 (15G1611)). 
Indeed it seems to be strange requesting only 2 bytes initially.

A further investigation shows, that the delivery via plain http through varnish works fine. So, I concentrated then on 
the TLS termination. Downgrading the protocol support to http/1.1 leads to a working mp4 delivery. So far I get another 
dimension to the problem h2-support + range-handling (sorry, I didn't mentioned the enabled "+http2 feature" before). 

Does it make sense?


More information about the varnish-misc mailing list