Re: Re: Nginx не отвечает на запросы
Добрый день! Фиксируем подобную же проблему. 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
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
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
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
> была бы нормальная документация, всё было бы норм, модуль частично хорош, но > нет длины файла в байтах целиком, при Range он передаётся в заголовке через > "/". Приходится изза этого юзать костыли, либо вовсе отказаться от данного > модуля. Ну или просто можно не заниматься перанальной тонзилэктомией :) ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Подменить Status code
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
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