X-Accel-Redirect а-ля HTTP Range: отдача файла с произвольной позиции

Maxim Dounin mdounin at mdounin.ru
Wed Dec 3 15:18:06 MSK 2008


Hello!

On Wed, Dec 03, 2008 at 02:00:58PM +0300, Грибов Дмитрий wrote:

> Вроде не попадалось мне описание такого действия:
> 
> Хочется отдавать с бэкэнда X-Accel-Redirect с указанием Nginx-у, с какого
> байта следует начать отдачу. Неплохо бы еще и "до какого", но это уже
> опционально :). Эдакий HTTP Range, но с заднего хода - чтобы клиенту
> отдавался фрагмент под видом целого файла.
> 
> Собственно, если это можно сделать - подскажите как. Если нельзя - можно ли
> надеяться на то, что когда-то будет можно?

Вот тут живёт фильтр, позволяющий вернуть пользователю 
произвольную часть реального ответа (диапазон задаётся через 
параметр bytes= в агрументах запроса):

http://mdounin.ru/hg/ngx_http_bytes_filter_module

Должен собираться и нормально работать под 0.7.*.  Соответственно 
X-Accel-Redirect'ом можно направить пользователя на 
соответствующий uri, и в ответе будет только часть файла.

За спонсирование разработки - спасибо Сергею Коровкину.

Maxim Dounin





More information about the nginx-ru mailing list