ngx_http_bytes_filter_module & Content-Range

Aleksej Novikov aleksej at novikov.lv
Tue May 26 21:20:49 MSD 2009


Hello Maxim,

Monday, May 25, 2009, 6:31:18 PM, you wrote:

> Hello!

> On Mon, May 25, 2009 at 06:00:11PM +0300, Aleksej Novikov wrote:

>>    Hello Nginx-ru,
>> 
>>      Возникла необходимость в специфической отдаче файлов с
>>    использованием  Range запросов.
>> 
>>    Был обнаружен замечательный патч написанный Maxim Dounin под названием
>>    ngx_http_bytes_filter_module

> Это не патч, это модуль.

Пардон !


>>    И всё бы замечательно но столкнулся с проблемой. Когда я с помощью
>>    этого модуля запрашиваю например отдать мне первые 100 байтов с 0 по 99
>>    от файла размером 100 килобайт
>> 
>>    то nginx выдаёт в ответе свой собственный заголовок  Content-Range:
>>    bytes 0-99/100  (с какого по какой запросил, и суммарный размер)
>> 
>>    А хотелось бы получить вместо этого  Content-Range: bytes 0-1/100000 -
>>    то есть чтобы указывался полный размер файла, а не возвращаемый объём.
>> 
>>    Попытка погасить данный Header c использованием fastch_hide_header
>>    ничего не дала - заголовок явно ставиться после работы модуля (в
>>    internal location)
>> 
>>    Может кто-то может порекомендовать решение длля возникшей проблемы ?

> Выкинуть ngx_http_bytes_filter_module - он вам не нужен.  
> Используйте просто range-запросы.

> Модуль ngx_http_bytes_filter_module нужен в том случае, если 
> требуется получить кусок файла в виде отдельного документа.

Дело  в  том,  что  определение  того, какой range мне нужен (а точнее
необходимо  отдать  клиенту)  определяется в момент запроса к серверу.
Запрос   попадает   на   php  скрипт,  который  определяет  (получает)
необходимый  range  и  делает X-Accel-Redirect на internal location  в
котором используется ngx_http_bytes_filter_module и  происходит отдача
указанного range. Отсюда и вырастает эта проблема.

Был  бы признателен, Максим, если бы Вы подсказали как решить подобное
без Вашего модуля.

Спасибо !



-- 
Best regards,
Aleksej             
ICQ:    293-686-24
GSM:371-293-686-24






More information about the nginx-ru mailing list