Отключение 206 частичных ответов на контент на nginx
У меня есть веб-приложение HTML5, которое использует тег видео. В зависимости от действий пользователя, различные части видео будут воспроизведены в ответ. Это видео не превышает 5 МБ.
Мне нужно, чтобы это видео было полностью загружено на клиенте, иначе пользователю придется ждать буферизации, если воспроизводимая часть находится в конце видео. Действительно, поведение браузеров состоит в том, чтобы спрашивать, поддерживается ли Range Request, и получать частичный ответ HTTP 206 от моего сервера nginx.
Я нашел способ сделать то, что я хочу, используя xhr2 для загрузки всего видео в формате BLOB. Однако мне было интересно, возможно ли для браузеров, которые не поддерживают xhr2, сделать так, чтобы nginx отказывался от Range Request и отправлял классический ответ HTTP 200, чтобы браузер получал все видео.
Это возможно? Большое спасибо за Вашу помощь!
1 ответ
Задавать max_ranges
до 0. Для этого требуется nginx 1.1.2 или выше.
Пример:
location ~ \.mp4$ {
max_ranges 0;
}