Назад | Перейти на главную страницу

Отключение 206 частичных ответов контента на nginx

У меня есть веб-приложение HTML5, в котором используется тег видео. В зависимости от действий пользователя в ответ будут воспроизводиться разные части видео. Это видео не превышает 5 МБ.

Мне нужно, чтобы это видео было полностью загружено на клиент, иначе пользователю придется ждать буферизации, если часть, которую нужно воспроизвести, находится в конце видео. Действительно, поведение браузеров заключается в том, чтобы спросить, поддерживается ли запрос диапазона, и получить ответ частичного содержимого HTTP 206 от моего сервера nginx.

Я нашел способ делать то, что хочу, используя xhr2 для загрузки всего видео как BLOB. Однако мне было интересно, можно ли для браузеров, не поддерживающих xhr2, сделать так, чтобы nginx отклонил запрос диапазона и отправил классический ответ HTTP 200, чтобы браузер получал все видео.

Это возможно? Спасибо большое за помощь!

Устанавливать max_ranges в 0. Для этого требуется nginx 1.1.2 или выше.

Пример:

location ~ \.mp4$ {
    max_ranges 0;
}