Am 07.09.2017 um 17:35 schrieb Dridi Boukelmoune <[email protected]>: > It might be a known bug when browsers ask for multiple ranges in a > single request, Varnish may serve the first one, disregard the rest > and think it is done, so that leaves the browser hanging waiting for > the rest of the response.
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 Request 2 ReqMethod GET ReqURL /test.mp4 ReqHeader range: bytes=65509-7081785 VCL_call HIT RespStatus 200 RespReason OK RespHeader Content-Length: 7081786 VCL_return deliver RespHeader Accept-Ranges: bytes RespHeader Content-Range: bytes 65509-7081785/7081786 RespStatus 206 RespReason Partial Content RespUnset Content-Length: 7081786 RespHeader Content-Length: 7016277 Seems to be mapped correctly, one range in one request. Also the response seems to be "valid" (adapted Content-Length). > I think it you can work around that in VCL by detecting when you have > more than one range and return a 416 response. It seems to be related to the range handling in varnish, but the problem is not clearly right now. Any other suggestions would be greatly appreciated. -- Leon _______________________________________________ varnish-misc mailing list [email protected] https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
