在 nginx 上禁用 206 部分内容响应

在 nginx 上禁用 206 部分内容响应

我有一个使用视频标签的 HTML5 Web 应用。根据用户操作,将播放视频的不同部分作为响应。此视频不超过 5MB。

我需要将此视频完全下载到客户端,否则如果要播放的部分在视频末尾,用户将不得不等待缓冲。事实上,浏览器的行为是询问是否支持范围请求,并从我的服务器 nginx 获取 HTTP 206 部分内容响应。

我找到了一种方法,使用 xhr2 将整个视频下载为 BLOB。但是,我想知道对于不支持 xhr2 的浏览器,是否有可能让 nginx 拒绝范围请求并发送经典的 HTTP 200 响应,以便浏览器获取整个视频。

可以吗?非常感谢您的帮助!

答案1

max_ranges到 0。这需要 nginx 1.1.2 或更高版本。

例子:

location ~ \.mp4$ {
    max_ranges 0;
}

相关内容