Re: Подменить Status code

Maxim Dounin mdounin на mdounin.ru
Ср Сен 21 20:44:23 UTC 2016


Hello!

On Wed, Sep 21, 2016 at 03:05:33PM -0400, jtiq wrote:

> Maxim Dounin Wrote:
> -------------------------------------------------------
> > Hello!
> > 
> > On Wed, Sep 21, 2016 at 03:53:46AM -0400, jtiq wrote:
> > 
> > > вообщем надо, чтобы не было 206 кода, но были кусочки
> > > на главном сервере nginx диапазон байтов принимает через аргумент
> > > ($arg_range), а на сервер отдачи передаётся с помощью заголовков
> > > 
> > > proxy_set_header Accept-Ranges "bytes";
> > > proxy_set_header Range "bytes=$arg_range";
> > > 
> > > а суть заключается в том, что нужно кэшировать аякс запросы на
> > получение
> > > кусочков, для я так понял нужен 200 код ответа от сервера
> > 
> > Для подобной задачи я в своё время написал модуль bytes, его можно 
> > взять где-то тут:
> > 
> > http://mdounin.ru/hg/ngx_http_bytes_filter_module/
> > 
> > Позволяет получить из полного ответа заданный диапазон в виде 
> > 200-го ответа.  Соответственно можно использовать на бекенде - 
> > тогда на фронтенд будут вытягиваться только нужные диапазоны.  Или 
> > на фронтенде - тогда будут качаться ответы целиком, и их можно 
> > будет кешировать и уже потом нарезать на куски.
> 
> можете скинуть пример конфига для proxy_pass?

В наиболее простом варианте - как-то так:

    location / {
        bytes on;
        proxy_pass http://backend;
    }

Кеш при необходимости ровно так же, как и обычно.
Описание модуля и примеры использования есть в README,
http://mdounin.ru/hg/ngx_http_bytes_filter_module/file/tip/README.

-- 
Maxim Dounin
http://nginx.org/



Подробная информация о списке рассылки nginx-ru