Nginx的字节范围caching问题与Safari

我在使用MP4字节范围caching和Apple浏览器时遇到了一些问题。 我有一个caching节点,抓取后端节点的内容,并将其caching,然后将其提供给用户。 这是通过使用nginx proxy_pass和nginxcaching来完成的。

我发现许多浏览器会首先请求整个video(字节范围0-无限),然后请求块。 这是一个问题,因为它会导致caching节点立即从后端下载整个video。 为了解决这个问题,无论请求的字节范围有多大,我们都要求caching节点将请求分成10M块。 这几乎适用于所有的浏览器,除了Safari浏览器。 对于桌面以及Safari浏览器,Safari都会立即抛出媒体损坏错误。 发送请求时将错误抛出,字节范围设置为完整文件。 如果我们不重写请求,它在Safari上工作正常,但是导致caching节点端口几乎全部被饱和,因为当有人开始stream式传输文件时,整个文件被下载到caching节点,饱和港口。 任何build议,我怎样才能解决这个将不胜感激。