Nginx

在 nginx 上禁用 206 部分內容響應

  • February 5, 2020

我有一個使用影片標籤的 HTML5 網路應用程序。根據使用者的操作,將播放影片的不同部分作為響應。此影片不超過 5MB。

我需要將此影片完全下載到客戶端上,否則如果要播放的部分位於影片的末尾,使用者將不得不等待緩衝。實際上,瀏覽器的行為是詢問是否支持範圍請求並從我的伺服器 nginx 獲取 HTTP 206 部分內容響應。

我找到了一種使用 xhr2 將整個影片下載為 BLOB 的方法。但是,我想知道對於不支持 xhr2 的瀏覽器是否有可能使 nginx 拒絕範圍請求並發送經典的 HTTP 200 響應,以便瀏覽器獲取整個影片。

那可能嗎?非常感謝您的幫助!

設置max_ranges為 0。這需要 nginx 1.1.2 或更高版本。

例子:

location ~ \.mp4$ {
   max_ranges 0;
}

引用自:https://serverfault.com/questions/535889