Re: Re: Nginx не отвечает на запросы

2016-09-23 Пенетрантность Alexey Kuznetsov

Добрый день!

Фиксируем подобную же проблему. FreeBSD 10.3 STABLE. В версии от конца 
мая все работало,  в версии собранной в конце августа уже нет, пробовал 
пересобрать вчера (обновив из svn), результат не меняется.. Бектрейс 
такой же. Помогает или откат кернела на старую версию (достаточно самого 
ядра и модулей) ИЛИ выключение "accf_http" (и модуль не загружен и в 
конфиге соотв выключено, отключать только в конфиге не пробовал). Без 
accf_http работает на любом из 3-х ядер на котором тестировалось. под 
небольшой нагрузкой не проявляется и с accf_http (есть где это работает 
с конца августа, но там от силы 1000 запросов в сутки). accf_datа не 
используется, соотв. и не загружен.


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=212920

нгинс из ports с дефолными настройками. Кернел - генерик.

/Алексей

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

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

2016-09-23 Пенетрантность Maxim Dounin
Hello!

On Fri, Sep 23, 2016 at 12:48:39PM -0400, jtiq wrote:

> > > никто не издевается, а просто из деревни в этих модулях, тем более в
> > README
> > > ничего нет, кроме того как включить в конфиге модуль и какой
> > параметр
> > > передавать.
> > 
> > Это ровно то, что нужно знать про сам модуль.  Больше он ничего и 
> > не умеет: принимает параметр со спецификацией нужных диапазонов в 
> > соответствии с RFC2616, и возвращает запрошенное в виде 200-го ответа.
> > 
> > > была бы нормальная документация, всё было бы норм, модуль частично
> > хорош, но
> > > нет длины файла в байтах целиком, при Range он передаётся в
> > заголовке через
> > > "/". Приходится изза этого юзать костыли, либо вовсе отказаться от
> > данного
> > > модуля.
> > 
> > В range-_запросах_ длина ответа не передаётся.  Длина через "/" 
> > передаётся в заголовке Content-Range в ответах на range-запросы.  
> > Т.к. модуль ответов на range-запросы не шлёт - он, соответственно, 
> > заголовка Content-Range не отправляет, и не должен.  Он шлёт 
> > обычные 200-е ответы, и длины этих ответов отправляются так, как это 
> > положено для 200-х ответов, в заголовках Content-Length.
> > 
> > Если вам зачем-то ещё нужна полная длина исходного ответа - 
> > протаскивайте её отдельно.  В частности, если исходный ответ 
> > получен с бекенда, это можно сделать с помощью стандартной 
> > директивы add_header:
> > 
> > add_header X-Original-Content-Length
> > $upstream_http_content_length;
> > 
> > Но и я бы предложил в очередной раз задуматься, зачем вы всем этим 
> > занимаетесь.
> 
> полная длина НЕ исходного ответа, а файла целиком

Для bytes-фильтра файл целиком и есть исходный ответ.

> а нужен он для видео плеера, который работает в текущий момент на
> заголовках, но не устраивает что запросы с кодом 206 не кэшируются
> это нужно для кэша 200х ответов, передавая диапазон в УРЛ

Т.е. у вас всё работает с нормальными range-запросами, но что-то 
где-то не кешируется, правильно?  Где именно?  Если не кешируется 
в nginx'е, то проблема решается с помощью правильной конфигурации 
кеша.  Если на клиенте - то это вообще странно, т.к. исходя из 
задачи клиент - ваш собственный.

> можно ли реализовать отдачу хотя бы оригинальных заголовков?

Нельзя.  Bytes-фильтр меняет ответ, и соответственно должен 
заменить служебные заголовки, в частности - должен заменить 
Content-Length ответа на новый.  Как получить длину исходного 
ответа (она же - длина файла целиком) - я написал выше.

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

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

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

2016-09-23 Пенетрантность jtiq
Maxim Dounin Wrote:
---
> Hello!
> 
> On Fri, Sep 23, 2016 at 09:57:56AM -0400, jtiq wrote:
> 
> [...]
> 
> > никто не издевается, а просто из деревни в этих модулях, тем более в
> README
> > ничего нет, кроме того как включить в конфиге модуль и какой
> параметр
> > передавать.
> 
> Это ровно то, что нужно знать про сам модуль.  Больше он ничего и 
> не умеет: принимает параметр со спецификацией нужных диапазонов в 
> соответствии с RFC2616, и возвращает запрошенное в виде 200-го ответа.
> 
> > была бы нормальная документация, всё было бы норм, модуль частично
> хорош, но
> > нет длины файла в байтах целиком, при Range он передаётся в
> заголовке через
> > "/". Приходится изза этого юзать костыли, либо вовсе отказаться от
> данного
> > модуля.
> 
> В range-_запросах_ длина ответа не передаётся.  Длина через "/" 
> передаётся в заголовке Content-Range в ответах на range-запросы.  
> Т.к. модуль ответов на range-запросы не шлёт - он, соответственно, 
> заголовка Content-Range не отправляет, и не должен.  Он шлёт 
> обычные 200-е ответы, и длины этих ответов отправляются так, как это 
> положено для 200-х ответов, в заголовках Content-Length.
> 
> Если вам зачем-то ещё нужна полная длина исходного ответа - 
> протаскивайте её отдельно.  В частности, если исходный ответ 
> получен с бекенда, это можно сделать с помощью стандартной 
> директивы add_header:
> 
> add_header X-Original-Content-Length
> $upstream_http_content_length;
> 
> Но и я бы предложил в очередной раз задуматься, зачем вы всем этим 
> занимаетесь.
> 
> -- 
> Maxim Dounin
> http://nginx.org/
> 
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru

полная длина НЕ исходного ответа, а файла целиком
а нужен он для видео плеера, который работает в текущий момент на
заголовках, но не устраивает что запросы с кодом 206 не кэшируются
это нужно для кэша 200х ответов, передавая диапазон в УРЛ
можно ли реализовать отдачу хотя бы оригинальных заголовков?

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,269693,269800#msg-269800

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

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

2016-09-23 Пенетрантность Maxim Dounin
Hello!

On Fri, Sep 23, 2016 at 09:57:56AM -0400, jtiq wrote:

[...]

> никто не издевается, а просто из деревни в этих модулях, тем более в README
> ничего нет, кроме того как включить в конфиге модуль и какой параметр
> передавать.

Это ровно то, что нужно знать про сам модуль.  Больше он ничего и 
не умеет: принимает параметр со спецификацией нужных диапазонов в 
соответствии с RFC2616, и возвращает запрошенное в виде 200-го ответа.

> была бы нормальная документация, всё было бы норм, модуль частично хорош, но
> нет длины файла в байтах целиком, при Range он передаётся в заголовке через
> "/". Приходится изза этого юзать костыли, либо вовсе отказаться от данного
> модуля.

В range-_запросах_ длина ответа не передаётся.  Длина через "/" 
передаётся в заголовке Content-Range в ответах на range-запросы.  
Т.к. модуль ответов на range-запросы не шлёт - он, соответственно, 
заголовка Content-Range не отправляет, и не должен.  Он шлёт 
обычные 200-е ответы, и длины этих ответов отправляются так, как это 
положено для 200-х ответов, в заголовках Content-Length.

Если вам зачем-то ещё нужна полная длина исходного ответа - 
протаскивайте её отдельно.  В частности, если исходный ответ 
получен с бекенда, это можно сделать с помощью стандартной 
директивы add_header:

add_header X-Original-Content-Length $upstream_http_content_length;

Но и я бы предложил в очередной раз задуматься, зачем вы всем этим 
занимаетесь.

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

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

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

2016-09-23 Пенетрантность Vadim A. Misbakh-Soloviov
> была бы нормальная документация, всё было бы норм, модуль частично хорош, но
> нет длины файла в байтах целиком, при Range он передаётся в заголовке через
> "/". Приходится изза этого юзать костыли, либо вовсе отказаться от данного
> модуля.

Ну или просто можно не заниматься перанальной тонзилэктомией :)
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

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

2016-09-23 Пенетрантность jtiq
Vadim A. Misbakh-Soloviov Wrote:
---
> > была бы нормальная документация, всё было бы норм, модуль частично
> хорош, но
> > нет длины файла в байтах целиком, при Range он передаётся в
> заголовке через
> > "/". Приходится изза этого юзать костыли, либо вовсе отказаться от
> данного
> > модуля.
> 
> Ну или просто можно не заниматься перанальной тонзилэктомией :)
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru

мне бы ответ каким образом можно реализовать через этот модуль, модуль
реально полезный, но есть мелкие недостатки
очень хочется использовать этот модуль

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,269693,269796#msg-269796

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

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

2016-09-23 Пенетрантность jtiq
Dmitriy Lyalyuev Wrote:
---
> Доброго времени суток, господа.
> 
> Только мне кажется, что человек неадекватен или тупо издевается?
> 
> 
> 23.09.2016 07:16, jtiq пишет:
> > а где у вас хранится длина всего видео в байтах?
> 
> 22.09.2016 22:58, jtiq пишет:
> > а где у вас хранится длина всего видео в байтах?
> 
> 22.09.2016 21:20, jtiq пишет:
> > а где у вас хранится длина всего видео в байтах?
> 
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru

никто не издевается, а просто из деревни в этих модулях, тем более в README
ничего нет, кроме того как включить в конфиге модуль и какой параметр
передавать.
была бы нормальная документация, всё было бы норм, модуль частично хорош, но
нет длины файла в байтах целиком, при Range он передаётся в заголовке через
"/". Приходится изза этого юзать костыли, либо вовсе отказаться от данного
модуля.

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,269693,269794#msg-269794

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru