From nginx-forum на forum.nginx.org Sat Oct 1 17:47:05 2016 From: nginx-forum на forum.nginx.org (skeletor) Date: Sat, 01 Oct 2016 13:47:05 -0400 Subject: =?UTF-8?B?bGltaXQgcmVxIHpvbmUg0L7QsdGJ0LjQuSDQtNC70Y8g0L3QtdGB0LrQvtC70Yw=?= =?UTF-8?B?0LrQuNGFIGxvY2F0aW9uJ9C+0LI=?= Message-ID: <00d1df0c21fe0fa9d6408bb61b019cd1.NginxMailingListRussian@forum.nginx.org> Всем привет. Есть задача задать общий limit_req zone для нескольких локейшинов. То есть, суммарный лимит на любой из определённых локейшинов. Как это правильно/красиво задать? Пока на ум приходит лишь такая схема: location ~ (/loc1/|/some/other/location/|/yet/anotherone) { ... limit_req zone ... ... } Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270009,270009#msg-270009 From nginx-ru на sadok.spb.ru Sat Oct 1 19:56:37 2016 From: nginx-ru на sadok.spb.ru (Dmitry Ivanov) Date: Sat, 1 Oct 2016 22:56:37 +0300 Subject: =?UTF-8?B?UmU6INCd0LUg0YDQsNCx0L7RgtCw0LXRgiBtYXAgYyDQv9C10YDQtdC80LXQvdC9?= =?UTF-8?B?0YvQvNC4ICRzdGF0dXMg0LggJHVwc3RyZWFtIHN0YXR1cyB7b2ZmfQ==?= In-Reply-To: <82e05e4989193f03ec2d071923164389.NginxMailingListRussian@forum.nginx.org> References: <1503889852.20160803115536@sadok.spb.ru> <82e05e4989193f03ec2d071923164389.NginxMailingListRussian@forum.nginx.org> Message-ID: <1691479690.20161001225637@sadok.spb.ru> Здравствуйте, YuriV. Вы писали 3 августа 2016 г., 12:08:00: > Dmitry Ivanov > У Netscaler'a слабая сторона - кэширование. Да и лицухи нет у нас нет для Припомнился ваш пост )) "Слабая" - это легко сказано. Там какие-то грабли зашиты удивительные. Причем утыкались в них еще на 9.3, так они и в 11.0 не прошли. Странная фича, но сам он мне нравится ) -- С уважением, Dmitry nginx-ru на sadok.spb.ru From vbart на nginx.com Sat Oct 1 20:06:06 2016 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Sat, 01 Oct 2016 23:06:06 +0300 Subject: =?UTF-8?B?UmU6IGxpbWl0IHJlcSB6b25lINC+0LHRidC40Lkg0LTQu9GPINC90LXRgdC60L4=?= =?UTF-8?B?0LvRjNC60LjRhSBsb2NhdGlvbifQvtCy?= In-Reply-To: <00d1df0c21fe0fa9d6408bb61b019cd1.NginxMailingListRussian@forum.nginx.org> References: <00d1df0c21fe0fa9d6408bb61b019cd1.NginxMailingListRussian@forum.nginx.org> Message-ID: <4067517.BVHH7G3VIg@vbart-laptop> On Saturday 01 October 2016 13:47:05 skeletor wrote: > Всем привет. > Есть задача задать общий limit_req zone для нескольких локейшинов. То есть, > суммарный лимит на любой из определённых локейшинов. Как это > правильно/красиво задать? Пока на ум приходит лишь такая схема: > > location ~ (/loc1/|/some/other/location/|/yet/anotherone) { > ... > limit_req zone ... > ... > } > location /loc1/ { limit_req zone ... } location /some/other/location/ { limit_req zone ... } location /yet/anotherone { limit_req zone ... } -- Валентин Бартенев From nginx-forum на forum.nginx.org Sun Oct 2 01:59:51 2016 From: nginx-forum на forum.nginx.org (Trurl) Date: Sat, 01 Oct 2016 21:59:51 -0400 Subject: =?UTF-8?B?ImNsaWVudCBwcmVtYXR1cmVseSBjbG9zZWQgY29ubmVjdGlvbiIg0LzQtdC20LQ=?= =?UTF-8?B?0YMg0LTQstGD0LzRjyBuZ2lueA==?= Message-ID: <1212de8666f14283e8bb4b56800fa125.NginxMailingListRussian@forum.nginx.org> У меня есть несколько "уровней" nginx, один из серверов занимается отдачей статики непосредственно с файлера. При отдаче больших галерей часть фалов (совершенно рандомно) не может отдать нижестоящему nginx. В error.log файлера ошибки типа client prematurely closed connection (104: Connection reset by peer) while sending response to client или client prematurely closed connection while sending response to client На промежуточном nginx ошибок вообще нет, он уверен что ему отдали весь файл, хотя получил только кусочек. Размер кусочка всегда 17376 байт (не зависимо от размера оригинального файла). Кроме того промежуточный nginx отдает не напрямую, а через внутренние редиректы и image_filter, потому подробно отследить путь не удаётся. Если миновать image_filter - то такой ошибки нет. От конкретного типа image_filter это не зависит, ошибка может случиться на любом. Если брать одну конкретную картинку - вероятность ошибки минимальная (особенно если запрос делаю я, а не кто-то другой). Только если их хоть пару десятков одновременно, тогда 10-90% (зависит от кармы юзера) картинок (мелкие превью) будут битые. Повторю: проблема только в сочетании image_filter с proxy_pass, в остальных случаях оной нет. Nginx на файлер не нагружен (там только статика, и то, не больше пары тысяч картинок в минуту). Nginx на промежуточных серверах нагружен, но не слишком (в том числе io). Есть идеи куда копать? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270013,270013#msg-270013 From bgx на protva.ru Sun Oct 2 10:28:01 2016 From: bgx на protva.ru (Evgeniy Berdnikov) Date: Sun, 2 Oct 2016 13:28:01 +0300 Subject: =?UTF-8?B?UmU6ICJjbGllbnQgcHJlbWF0dXJlbHkgY2xvc2VkIGNvbm5lY3Rpb24iINC80LU=?= =?UTF-8?B?0LbQtNGDINC00LLRg9C80Y8gbmdpbng=?= In-Reply-To: <1212de8666f14283e8bb4b56800fa125.NginxMailingListRussian@forum.nginx.org> References: <1212de8666f14283e8bb4b56800fa125.NginxMailingListRussian@forum.nginx.org> Message-ID: <20161002102801.GC4512@sie.protva.ru> On Sat, Oct 01, 2016 at 09:59:51PM -0400, Trurl wrote: > У меня есть несколько "уровней" nginx, один из серверов занимается отдачей > статики непосредственно с файлера. > При отдаче больших галерей часть фалов (совершенно рандомно) не может отдать > нижестоящему nginx. > В error.log файлера ошибки типа > > client prematurely closed connection (104: Connection reset by peer) while > sending response to client > или > client prematurely closed connection while sending response to client > > На промежуточном nginx ошибок вообще нет, он уверен что ему отдали весь > файл, хотя получил только кусочек. Заголовок content-length: присутствует в ответе? > Размер кусочка всегда 17376 байт (не зависимо от размера оригинального > файла). Похоже на 12 сегментов с mss=1448 (17376=12*1448), интересно было бы взглянуть на дамп трафика для такой коннекции. Если есть активное оборудование между узлами -- сравнить дампы с обеих сторон. > Если брать одну конкретную картинку - вероятность ошибки минимальная > (особенно если запрос делаю я, а не кто-то другой). Только если их хоть пару > десятков одновременно, тогда 10-90% (зависит от кармы юзера) картинок > (мелкие превью) будут битые. Замечательно то, что проблема надёжно воспроизводится. :) -- Eugene Berdnikov From public-mail на alekciy.ru Sun Oct 2 10:28:42 2016 From: public-mail на alekciy.ru (=?UTF-8?B?0JDQu9C10LrRgdC10Lkg0KHRg9C90LTRg9C60L7Qsg==?=) Date: Sun, 2 Oct 2016 14:28:42 +0400 Subject: =?UTF-8?B?UmU6INCS0L7Qv9GA0L7RgSDQv9C+INC80L7QtNGD0LvRjiBzdHJlYW0gLSDRhdC+?= =?UTF-8?B?0YfRgyDQv9GA0L7QutGB0LjRgNC+0LLQsNGC0YwgVENQINCyIFVEUA==?= In-Reply-To: References: <2693157.tLVUVjkOZL@note> Message-ID: Не раз уже слышал, что LuaJIT достаточно быстроработающее решение. Может стоит опробывать и посмотреть на сколько укладывается в заданные требования? 29 сентября 2016 г., 19:40 пользователь Pavel Odintsov < pavel.odintsov на gmail.com> написал: > Неа, скорость критична > > > On Thursday, 29 September 2016, Vadim A. Misbakh-Soloviov > wrote: > >> А вы не думали над использованием perl/njs/lua модулей и прогоном через >> них? >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > -- > Sincerely yours, Pavel Odintsov > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum на forum.nginx.org Mon Oct 3 02:03:06 2016 From: nginx-forum на forum.nginx.org (Trurl) Date: Sun, 02 Oct 2016 22:03:06 -0400 Subject: =?UTF-8?B?UmU6ICJjbGllbnQgcHJlbWF0dXJlbHkgY2xvc2VkIGNvbm5lY3Rpb24iINC80LU=?= =?UTF-8?B?0LbQtNGDINC00LLRg9C80Y8gbmdpbng=?= In-Reply-To: <20161002102801.GC4512@sie.protva.ru> References: <20161002102801.GC4512@sie.protva.ru> Message-ID: Evgeniy Berdnikov Wrote: ------------------------------------------------------- > On Sat, Oct 01, 2016 at 09:59:51PM -0400, Trurl wrote: > > Заголовок content-length: присутствует в ответе? на выходе получается 415я ошибка, а nginx при этом всё "лишнее" выкидывает > > > Размер кусочка всегда 17376 байт (не зависимо от размера > оригинального > > файла). > > Похоже на 12 сегментов с mss=1448 (17376=12*1448), интересно было бы > взглянуть на дамп трафика для такой коннекции. Если есть активное > оборудование между узлами -- сравнить дампы с обеих сторон. Это все происходит в локалке в датацентре, и трафик между файлером и нодами там слишком интенсивный, чтобы что-то мониторить. А если нагрузки нет - то и ошибок нет. А так там даже просто логи включать "больно". Сервера все делловские, и файлер, и свитч в unmaged mode между ними. Да, у файлера задействовано 2 интерфейса в одну сетку, но балансировка только через днс, с большим ttl. > > > Если брать одну конкретную картинку - вероятность ошибки минимальная > > (особенно если запрос делаю я, а не кто-то другой). Только если их > хоть пару > > десятков одновременно, тогда 10-90% (зависит от кармы юзера) > картинок > > (мелкие превью) будут битые. > > Замечательно то, что проблема надёжно воспроизводится. :) Думаю, как заставить nginx сначала закешировать картинку, а только потом её обрабатывать ( всё это в одном запросе). Причём кешировать "всё и навсегда" не получится, на нодах просто столько места нет (речь про сотни гигабайт). Если запросить сначала чистый оригинал картинки (в результате чего оный попадёт в кеш, и всегда без ошибок), а потом попросить изменённую картинку, то ошибок тоже не бывает. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270013,270019#msg-270019 From bgx на protva.ru Mon Oct 3 09:54:22 2016 From: bgx на protva.ru (Evgeniy Berdnikov) Date: Mon, 3 Oct 2016 12:54:22 +0300 Subject: =?UTF-8?B?UmU6ICJjbGllbnQgcHJlbWF0dXJlbHkgY2xvc2VkIGNvbm5lY3Rpb24iINC80LU=?= =?UTF-8?B?0LbQtNGDINC00LLRg9C80Y8gbmdpbng=?= In-Reply-To: References: <20161002102801.GC4512@sie.protva.ru> Message-ID: <20161003095422.GE4243@protva.ru> On Sun, Oct 02, 2016 at 10:03:06PM -0400, Trurl wrote: > Evgeniy Berdnikov Wrote: > ------------------------------------------------------- > > On Sat, Oct 01, 2016 at 09:59:51PM -0400, Trurl wrote: > > > > > Заголовок content-length: присутствует в ответе? > > на выходе получается 415я ошибка, а nginx при этом всё "лишнее" выкидывает Я имел в виду ответ того сервера, который выдаёт файлы. Для статики наличие content-length: нормально, и наоборот, было бы странно, если бы такой хедер отсутствовал. А если такой хедер есть, непонятно, как клиент может "не заметить" оборванный при передаче ответ и ничего не написать при этом в error_log. > > > Размер кусочка всегда 17376 байт (не зависимо от размера > > оригинального > > > файла). > > > > Похоже на 12 сегментов с mss=1448 (17376=12*1448), интересно было бы > > взглянуть на дамп трафика для такой коннекции. Если есть активное > > оборудование между узлами -- сравнить дампы с обеих сторон. > > Это все происходит в локалке в датацентре, и трафик между файлером и нодами > там слишком интенсивный, чтобы что-то мониторить. А если нагрузки нет - то и > ошибок нет. А так там даже просто логи включать "больно". Запись дампа на нагруженной системе может быть непростым делом, да. :) Но можно начать с простого: взять лишь пакеты SYN, FIN и RST, и проверить фильтром, все ли они имеют mac-адреса серверов с nginx (проверка гипотезы об обрыве коннекций каким-то активным оборудованием по пути или со стороны). Полезно также помониторить icmp. -- Eugene Berdnikov From vbart на nginx.com Mon Oct 3 12:38:30 2016 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Mon, 03 Oct 2016 15:38:30 +0300 Subject: =?UTF-8?B?UmU6ICJjbGllbnQgcHJlbWF0dXJlbHkgY2xvc2VkIGNvbm5lY3Rpb24iINC80LU=?= =?UTF-8?B?0LbQtNGDINC00LLRg9C80Y8gbmdpbng=?= In-Reply-To: <1212de8666f14283e8bb4b56800fa125.NginxMailingListRussian@forum.nginx.org> References: <1212de8666f14283e8bb4b56800fa125.NginxMailingListRussian@forum.nginx.org> Message-ID: <1639135.NEJcABQ0zT@vbart-workstation> On Saturday 01 October 2016 21:59:51 Trurl wrote: > У меня есть несколько "уровней" nginx, один из серверов занимается отдачей > статики непосредственно с файлера. > При отдаче больших галерей часть фалов (совершенно рандомно) не может отдать > нижестоящему nginx. > В error.log файлера ошибки типа > > client prematurely closed connection (104: Connection reset by peer) while > sending response to client > или > client prematurely closed connection while sending response to client > > На промежуточном nginx ошибок вообще нет, он уверен что ему отдали весь > файл, хотя получил только кусочек. [..] Стоит начать с того, что убедиться, что error_log действительно настроен, а не указывает куда-нибудь в /dev/null, и что вы смотрите тот самый error_log. -- Валентин Бартенев From nginx-forum на forum.nginx.org Mon Oct 3 13:35:20 2016 From: nginx-forum на forum.nginx.org (maxpostal) Date: Mon, 03 Oct 2016 09:35:20 -0400 Subject: =?UTF-8?B?0J/RgNC40LzQtdC90LXQvdC40LUg0LTQuNGA0LXQutGC0LjQstGLINC00LvRjyA=?= =?UTF-8?B?0L7Qv9GA0LXQtNC10LvQtdC90L3QvtCz0L4gSVAg0LDQtNGA0LXRgdCw?= Message-ID: <414cb2e5b2f6a4569b1f95eccdf40cd5.NginxMailingListRussian@forum.nginx.org> Здравствуйте! Подскажите можно ли применять директивы для определенного IP адреса, а точнее для всех адресов, кроме указанного. Использую модули ngx_http_limit_req_module и ngx_http_limit_conn_module, так вот, можно ли ограничить их действие для определенного IP, указав, что-то типа: if ($http_x_forwarded_for !~ " ?10\.0\.0\.1?$") { location /download/ { limit_conn addr 1; limit_req zone=one burst=5; } } ? Заранее спасибо. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270039,270039#msg-270039 From nginx на kinetiksoft.com Mon Oct 3 16:07:43 2016 From: nginx на kinetiksoft.com (=?utf-8?B?0JjQstCw0L0=?=) Date: Mon, 03 Oct 2016 19:07:43 +0300 Subject: =?UTF-8?B?UmU6INCf0YDQuNC80LXQvdC10L3QuNC1INC00LjRgNC10LrRgtC40LLRiyDQtNC7?= =?UTF-8?B?0Y8g0L7Qv9GA0LXQtNC10LvQtdC90L3QvtCz0L4gSVAg0LDQtNGA0LXRgdCw?= In-Reply-To: <414cb2e5b2f6a4569b1f95eccdf40cd5.NginxMailingListRussian@forum.nginx.org> References: <414cb2e5b2f6a4569b1f95eccdf40cd5.NginxMailingListRussian@forum.nginx.org> Message-ID: <5510187.Gb9FzXFtXG@cybernote> Здравствуйте! http://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_req_zone "Запросы с пустым значением ключа не учитываются. " То есть делайте что-то типа map $http_x_forwarded_for $key { 10.0.0.1 1; } limit_req_zone $key zone=one:10m rate=1r/s; location /download/ { limit_req zone=one burst=5; } limit_conn аналогично. С уважением, Иван. В письме от 3 октября 2016 09:35:20 пользователь maxpostal написал: > Здравствуйте! > > Подскажите можно ли применять директивы для определенного IP адреса, а > точнее для всех адресов, кроме указанного. > > Использую модули ngx_http_limit_req_module и ngx_http_limit_conn_module, так > вот, можно ли ограничить их действие для определенного IP, указав, что-то > типа: > > if ($http_x_forwarded_for !~ " ?10\.0\.0\.1?$") { > location /download/ { > limit_conn addr 1; > limit_req zone=one burst=5; > } > } > > ? > > Заранее спасибо. > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,270039,270039#msg-270039 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From nginx-forum на forum.nginx.org Tue Oct 4 07:49:29 2016 From: nginx-forum на forum.nginx.org (rba) Date: Tue, 04 Oct 2016 03:49:29 -0400 Subject: =?UTF-8?Q?Re=3A_Upstream_force_to_close+client_keep_alive_=28API_=D0=A1?= =?UTF-8?Q?=D0=B8=29?= In-Reply-To: <20160928141456.GM73038@mdounin.ru> References: <20160928141456.GM73038@mdounin.ru> Message-ID: <36df275c60ef80e81c44157c46b6ba92.NginxMailingListRussian@forum.nginx.org> Если закрыть только функцией, предоставляемой либой для работы с бэкендом, то система говорит что соединение переходит в статут CLOSE_WAIT. А nginx потом начинает дергать мой rev/wev handler, а не парсер заголовка нового запроса. Как вернуться к этой стадии я по прежнему пока не понял. Своего output_filtra нету. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,269904,270050#msg-270050 From mdounin на mdounin.ru Tue Oct 4 12:45:31 2016 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 4 Oct 2016 15:45:31 +0300 Subject: =?UTF-8?Q?Re=3A_Upstream_force_to_close+client_keep_alive_=28API_=D0=A1?= =?UTF-8?Q?=D0=B8=29?= In-Reply-To: <36df275c60ef80e81c44157c46b6ba92.NginxMailingListRussian@forum.nginx.org> References: <20160928141456.GM73038@mdounin.ru> <36df275c60ef80e81c44157c46b6ba92.NginxMailingListRussian@forum.nginx.org> Message-ID: <20161004124530.GI73038@mdounin.ru> Hello! On Tue, Oct 04, 2016 at 03:49:29AM -0400, rba wrote: > Если закрыть только функцией, предоставляемой либой для работы с бэкендом, > то система говорит что соединение переходит в статут CLOSE_WAIT. > > А nginx потом начинает дергать мой rev/wev handler, а не парсер заголовка > нового запроса. > Как вернуться к этой стадии я по прежнему пока не понял. > Своего output_filtra нету. Для начала, видимо, вам надо ещё раз посмотреть на свой код, и ответить себе на вопрос "зачем там собственный rev/wev handler?". Потому что если вы пишите модуль реализации протокола для модуля upstream - то своих обработчиков событий вы ставить не должны, совсем. А если поставили - вы, вероятно, пишите что-то другое, и тогда вам лучше знать, что и как должно происходить, тут вряд ли помогут. -- Maxim Dounin http://nginx.org/ From nginx-forum на forum.nginx.org Wed Oct 5 11:19:33 2016 From: nginx-forum на forum.nginx.org (maxpostal) Date: Wed, 05 Oct 2016 07:19:33 -0400 Subject: =?UTF-8?B?UmU6INCf0YDQuNC80LXQvdC10L3QuNC1INC00LjRgNC10LrRgtC40LLRiyDQtNC7?= =?UTF-8?B?0Y8g0L7Qv9GA0LXQtNC10LvQtdC90L3QvtCz0L4gSVAg0LDQtNGA0LXRgdCw?= In-Reply-To: <414cb2e5b2f6a4569b1f95eccdf40cd5.NginxMailingListRussian@forum.nginx.org> References: <414cb2e5b2f6a4569b1f95eccdf40cd5.NginxMailingListRussian@forum.nginx.org> Message-ID: Спасибо! То есть получается меняем только общие директивы, в моем случае в nginx.conf, а в локэйшене ничего не меняем? # Настраиваем лимиты кроме одного ip map $http_x_forwarded_for $key { 15.267.98.155 1; } limit_req_zone $key zone=perserver:10m rate=1r/s; limit_conn_zone $key zone=perip:10m; p. s. Подскажите, а для чего единица после указания ip адреса? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270039,270075#msg-270075 From nginx на kinetiksoft.com Wed Oct 5 14:44:21 2016 From: nginx на kinetiksoft.com (=?utf-8?B?0JjQstCw0L0=?=) Date: Wed, 05 Oct 2016 17:44:21 +0300 Subject: =?UTF-8?B?UmU6INCf0YDQuNC80LXQvdC10L3QuNC1INC00LjRgNC10LrRgtC40LLRiyDQtNC7?= =?UTF-8?B?0Y8g0L7Qv9GA0LXQtNC10LvQtdC90L3QvtCz0L4gSVAg0LDQtNGA0LXRgdCw?= In-Reply-To: References: <414cb2e5b2f6a4569b1f95eccdf40cd5.NginxMailingListRussian@forum.nginx.org> Message-ID: <36002831.5CFObfW4IA@cybernote> В письме от 5 октября 2016 07:19:33 пользователь maxpostal написал: > Спасибо! > > # Настраиваем лимиты кроме одного ip > map $http_x_forwarded_for $key { > 15.267.98.155 1; > } > > p. s. Подскажите, а для чего единица после указания ip адреса? > Почитайте как работает map. Если $http_x_forwarded_for равняется 15.267.98.155, то $key выставляется в единицу, вместо единицы может быть любая строка. Потом $key используется в качестве ключа в соотвествующих zone. Для одного и того же ключа ограничения будут общими, для разных - разными. С уважением, Иван. From nginx-forum на forum.nginx.org Wed Oct 5 21:30:59 2016 From: nginx-forum на forum.nginx.org (bakake) Date: Wed, 05 Oct 2016 17:30:59 -0400 Subject: =?UTF-8?B?0J/QvtGB0LvQtSDQvtCx0L3QvtCy0LvQtdC90LjRjyDRgSAxLjYuMyDQtNC+IDEu?= =?UTF-8?B?MTAuMSDQt9Cw0YfQsNGB0YLQuNC70Lggc2VnZmF1bHQn0Ysg0LLQvtGA0Lo=?= =?UTF-8?B?0LXRgNC+0LIu?= Message-ID: <24d47d3e3d1a5045d8a756f64612d4e4.NginxMailingListRussian@forum.nginx.org> Всем привет! Subj. Воркеры стали падать по 11-му сигналу пару раз в день. В результате "залипают" кэши некоторых страниц. Пока прикрутил вот такой костыль в кроне /usr/local/sbin/logtail /var/log/nginx/alert.log | /usr/bin/grep '\[alert\].*exited on signal 11' && /usr/sbin/service nginx restart; но долго так оставлять не хочется. Хотелось бы понять что надо подкрутит, чтобы избавиться от этой напасти. На nginx приходит в зависимости от времени суток 10k-30k запросов в секунду. Падения с нагрузкой не коррелируют. # uname -a FreeBSD zzz.zzzzzzz.zz 10.3-RELEASE-p7 FreeBSD 10.3-RELEASE-p7 #0: Thu Aug 11 18:38:15 UTC 2016 root на amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64 # nginx -V nginx version: nginx/1.10.1 built with OpenSSL 1.0.2h 3 May 2016 (running with OpenSSL 1.0.2j 26 Sep 2016) TLS SNI support enabled configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt='-I /usr/local/include' --with-ld-opt='-L /usr/local/lib' --conf-path=/usr/local/etc/nginx/nginx.conf --sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid --error-log-path=/var/log/nginx/error.log --user=www --group=www --with-file-aio --http-client-body-temp-path=/var/tmp/nginx/client_body_temp --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp --http-proxy-temp-path=/var/tmp/nginx/proxy_temp --http-scgi-temp-path=/var/tmp/nginx/scgi_temp --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi_temp --http-log-path=/var/log/nginx/access.log --with-http_dav_module --with-http_geoip_module --with-http_gzip_static_module --with-http_realip_module --with-http_slice_module --with-http_stub_status_module --with-http_sub_module --with-pcre --with-http_v2_module --with-stream --with-stream_ssl_module --with-threads --with-http_ssl_module # gdb /usr/local/sbin/nginx ./nginx.core GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "amd64-marcel-freebsd"... Core was generated by `nginx'. Program terminated with signal 11, Segmentation fault. Reading symbols from /lib/libthr.so.3...done. Loaded symbols for /lib/libthr.so.3 Reading symbols from /lib/libcrypt.so.5...done. Loaded symbols for /lib/libcrypt.so.5 Reading symbols from /usr/local/lib/libpcre.so.1...done. Loaded symbols for /usr/local/lib/libpcre.so.1 Reading symbols from /usr/local/lib/libssl.so.8...done. Loaded symbols for /usr/local/lib/libssl.so.8 Reading symbols from /usr/local/lib/libcrypto.so.8...done. Loaded symbols for /usr/local/lib/libcrypto.so.8 Reading symbols from /lib/libz.so.6...done. Loaded symbols for /lib/libz.so.6 Reading symbols from /usr/local/lib/libGeoIP.so.1...done. Loaded symbols for /usr/local/lib/libGeoIP.so.1 Reading symbols from /lib/libc.so.7...done. Loaded symbols for /lib/libc.so.7 Reading symbols from /libexec/ld-elf.so.1...done. Loaded symbols for /libexec/ld-elf.so.1 #0 0x000000000047e707 in ngx_http_finalize_connection (r=0x81c88d020) at src/http/ngx_http_request.c:2549 2549 if (clcf->lingering_close == NGX_HTTP_LINGERING_ALWAYS [New Thread 802406400 (LWP 100194/)] (gdb) backtrace full #0 0x000000000047e707 in ngx_http_finalize_connection (r=0x81c88d020) at src/http/ngx_http_request.c:2549 clcf = (ngx_http_core_loc_conf_t *) 0x81b8854c0 #1 0x000000000047cfc3 in ngx_http_finalize_request (r=0x81c88d020, rc=-4) at src/http/ngx_http_request.c:2271 c = (ngx_connection_t *) 0x80280fa20 pr = (ngx_http_request_t *) 0x0 clcf = (ngx_http_core_loc_conf_t *) 0x17700000000 #2 0x000000000049b03c in ngx_http_upstream_finalize_request (r=0x81c88d020, u=0x81c88e020, rc=499) at src/http/ngx_http_upstream.c:4075 flush = 34398228152 #3 0x00000000004a32f8 in ngx_http_upstream_check_broken_connection (r=0x81c88d020, ev=0x81e407020) at src/http/ngx_http_upstream.c:1169 n = 8 buf = "\034" err = 32767 event = 4711209 c = (ngx_connection_t *) 0x80280fa20 u = (ngx_http_upstream_t *) 0x81c88e020 #4 0x000000000049be71 in ngx_http_upstream_rd_check_broken_connection (r=0x81c88d020) at src/http/ngx_http_upstream.c:1127 No locals. #5 0x000000000047e320 in ngx_http_request_handler (ev=0x81e407020) at src/http/ngx_http_request.c:2194 c = (ngx_connection_t *) 0x80280fa20 r = (ngx_http_request_t *) 0x81c88d020 #6 0x0000000000458ed7 in ngx_kqueue_process_events (cycle=0x8024b3050, timer=200, flags=1) at src/event/modules/ngx_kqueue_module.c:669 events = 4 n = 2 i = 2 instance = 0 level = 140737488349120 err = 0 ev = (ngx_event_t *) 0x81e407020 queue = (ngx_queue_t *) 0x44ae8c ts = {tv_sec = 0, tv_nsec = 200000000} tp = (struct timespec *) 0x7fffffffe758 #7 0x0000000000448eee in ngx_process_events_and_timers (cycle=0x8024b3050) at src/event/ngx_event.c:242 flags = 1 timer = 200 delta = 1475698621569 #8 0x0000000000456f43 in ngx_worker_process_cycle (cycle=0x8024b3050, data=0xb) at src/os/unix/ngx_process_cycle.c:753 worker = 11 #9 0x00000000004531d0 in ngx_spawn_process (cycle=0x8024b3050, proc=0x456e70 , data=0xb, name=0x527706 "worker process", respawn=-4) at src/os/unix/ngx_process.c:198 on = 1 pid = 0 s = 28 #10 0x0000000000454ec9 in ngx_start_worker_processes (cycle=0x8024b3050, n=16, type=-4) at src/os/unix/ngx_process_cycle.c:358 i = 11 ch = {command = 1, pid = 7163, slot = 27, fd = 24} #11 0x0000000000454c5e in ngx_master_process_cycle (cycle=0x8024b3050) at src/os/unix/ngx_process_cycle.c:243 title = 0x8097f203c "master process /usr/local/sbin/nginx" p = (u_char *) 0x8097f2060 "" size = 37 i = 1 n = 140737488349776 sigio = 0 set = {__bits = {0, 0, 0, 0}} itv = {it_interval = {tv_sec = 0, tv_usec = 34398023784}, it_value = {tv_sec = 0, tv_usec = 0}} live = 1 delay = 0 ls = (ngx_listening_t *) 0x0 ccf = (ngx_core_conf_t *) 0x8024b4b68 #12 0x0000000000413448 in main (argc=1, argv=0x7fffffffed60) at src/core/nginx.c:367 b = (ngx_buf_t *) 0x800749c00 log = (ngx_log_t *) 0x75f878 i = 34389200627 cycle = (ngx_cycle_t *) 0x802483050 init_cycle = {conf_ctx = 0x0, pool = 0x802406800, log = 0x75f878, new_log = {log_level = 0, file = 0x0, connection = 0, disk_full_time = 0, handler = 0, data = 0x0, writer = 0, wdata = 0x0, action = 0x0, next = 0x0}, log_use_stderr = 0, files = 0x0, free_connections = 0x0, free_connection_n = 0, modules = 0x0, modules_n = 0, modules_used = 0, reusable_connections_queue = {prev = 0x0, next = 0x0}, listening = {elts = 0x0, nelts = 0, size = 0, nalloc = 0, pool = 0x0}, paths = { elts = 0x0, nelts = 0, size = 0, nalloc = 0, pool = 0x0}, config_dump = {elts = 0x0, nelts = 0, size = 0, nalloc = 0, pool = 0x0}, open_files = {last = 0x0, part = { elts = 0x0, nelts = 0, next = 0x0}, size = 0, nalloc = 0, pool = 0x0}, shared_memory = {last = 0x0, part = {elts = 0x0, nelts = 0, next = 0x0}, size = 0, nalloc = 0, pool = 0x0}, connection_n = 0, files_n = 0, connections = 0x0, read_events = 0x0, write_events = 0x0, old_cycle = 0x0, conf_file = {len = 31, data = 0x523d28 "/usr/local/etc/nginx/nginx.conf"}, conf_param = {len = 0, data = 0x0}, conf_prefix = {len = 21, data = 0x523d28 "/usr/local/etc/nginx/nginx.conf"}, prefix = {len = 21, data = 0x523d12 "/usr/local/etc/nginx/"}, lock_file = {len = 0, data = 0x0}, hostname = {len = 0, data = 0x0}} cd = (ngx_conf_dump_t *) 0x80076e000 ccf = (ngx_core_conf_t *) 0x802484d18 Current language: auto; currently minimal (gdb) Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270095,270095#msg-270095 From bazilek на gmail.com Thu Oct 6 12:52:44 2016 From: bazilek на gmail.com (Vasil Mikhalenya) Date: Thu, 6 Oct 2016 15:52:44 +0300 Subject: nginx 10K maps Message-ID: Добрый день, коллеги, возможно вы подскажите насколько хорошо nginx справится с 1000 или 10000 map' ов в конфигурации, вида map $geoip_country_code $8048cd487a8d1c21c436e30a9184bac7_country_allow { default 1; RU 0; GB 0; US 0; } какие возможны ограничения или проблемы, нужно ли менять map_hash_bucket_size и map_hash_max_size Спасибо. -- Best regards, Vasil Mikhalenya ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mdounin на mdounin.ru Thu Oct 6 13:38:51 2016 From: mdounin на mdounin.ru (Maxim Dounin) Date: Thu, 6 Oct 2016 16:38:51 +0300 Subject: nginx 10K maps In-Reply-To: References: Message-ID: <20161006133851.GB73038@mdounin.ru> Hello! On Thu, Oct 06, 2016 at 03:52:44PM +0300, Vasil Mikhalenya wrote: > Добрый день, > > коллеги, возможно вы подскажите насколько хорошо nginx справится с 1000 или > 10000 map' ов в конфигурации, вида > > map $geoip_country_code $8048cd487a8d1c21c436e30a9184bac7_country_allow { > default 1; > RU 0; > GB 0; > US 0; > } > > какие возможны ограничения или проблемы, нужно ли > менять map_hash_bucket_size и map_hash_max_size Крутить надо будет variables_hash_bucket_size и variables_hash_max_size. В остальном каких-либо проблем быть не должно, но небольшое количество комбинированных блоков map{} - скорее всего будет эффективнее. -- Maxim Dounin http://nginx.org/ From sargaskn на gmail.com Thu Oct 6 14:45:15 2016 From: sargaskn на gmail.com (Sargas) Date: Thu, 6 Oct 2016 17:45:15 +0300 Subject: =?UTF-8?B?0JrQsNGB0YLQvtC80L3QsNGPIDQwNCDQtNC70Y8g0L7Qv9GA0LXQtNC10LvQtdC9?= =?UTF-8?B?0L3Ri9GFINC70L7QutC10LnRiNC10L3QvtCyLg==?= Message-ID: Здравствуйте. Подскажите, пожалуйста, как решить следующую задачу. Нужно для админки /admin сделать обработку 404 ошибок скриптом app.php, а для остальных локейшенов чтобы отдавался файл 404.html server { listen 127.0.0.1:80; server_name example.com; error_log /vhosts/example.com/logs/nginx.error.log; access_log /vhosts/example.com/logs/nginx.main.log main; location ~ /\. { deny all; } index app.php; root /vhosts/example.com/www; error_page 404 /404.html; location / { try_files $uri /app.php$is_args$args; } location ~ ^/app\.php { include fastcgi_params; fastcgi_param DOCUMENT_ROOT $realpath_root; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; fastcgi_pass phpfpm; fastcgi_index app.php; fastcgi_connect_timeout 1; fastcgi_intercept_errors on; internal; } location ~ \.php$ { return 404; } location /admin { include conf.d/adminips.conf; try_files $uri /app.php$is_args$args; } location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|bin|rar|bz2|woff|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|js|html|htm|flv)$ { expires max; } } Пробовал делать именованный локейшен и отправлять в него 404, но все равно отдается 404.html location /admin { include conf.d/adminips.conf; try_files $uri /app.php$is_args$args; error_page 404 = @err404; } location @err404 { include fastcgi_params; fastcgi_param DOCUMENT_ROOT $realpath_root; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; fastcgi_pass phpfpm; fastcgi_index app.php; fastcgi_connect_timeout 1; fastcgi_intercept_errors on; } ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mdounin на mdounin.ru Thu Oct 6 18:22:42 2016 From: mdounin на mdounin.ru (Maxim Dounin) Date: Thu, 6 Oct 2016 21:22:42 +0300 Subject: =?UTF-8?B?UmU6INCf0L7RgdC70LUg0L7QsdC90L7QstC70LXQvdC40Y8g0YEgMS42LjMg0LQ=?= =?UTF-8?B?0L4gMS4xMC4xINC30LDRh9Cw0YHRgtC40LvQuCBzZWdmYXVsdCfRiyDQstC+?= =?UTF-8?B?0YDQutC10YDQvtCyLg==?= In-Reply-To: <24d47d3e3d1a5045d8a756f64612d4e4.NginxMailingListRussian@forum.nginx.org> References: <24d47d3e3d1a5045d8a756f64612d4e4.NginxMailingListRussian@forum.nginx.org> Message-ID: <20161006182242.GE73038@mdounin.ru> Hello! On Wed, Oct 05, 2016 at 05:30:59PM -0400, bakake wrote: > Всем привет! > Subj. Воркеры стали падать по 11-му сигналу пару раз в день. В результате > "залипают" кэши некоторых страниц. Пока прикрутил вот такой костыль в кроне > > /usr/local/sbin/logtail /var/log/nginx/alert.log | /usr/bin/grep > '\[alert\].*exited on signal 11' && /usr/sbin/service nginx restart; > но долго так оставлять не хочется. Хотелось бы понять что надо подкрутит, > чтобы избавиться от этой напасти. > На nginx приходит в зависимости от времени суток 10k-30k запросов в секунду. > Падения с нагрузкой не коррелируют. > > # uname -a > FreeBSD zzz.zzzzzzz.zz 10.3-RELEASE-p7 FreeBSD 10.3-RELEASE-p7 #0: Thu Aug > 11 18:38:15 UTC 2016 > root на amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64 > > # nginx -V > nginx version: nginx/1.10.1 > built with OpenSSL 1.0.2h 3 May 2016 (running with OpenSSL 1.0.2j 26 Sep > 2016) > TLS SNI support enabled [...] А в конфиге при этом что? -- Maxim Dounin http://nginx.org/ From nginx-forum на forum.nginx.org Fri Oct 7 10:20:48 2016 From: nginx-forum на forum.nginx.org (bakake) Date: Fri, 07 Oct 2016 06:20:48 -0400 Subject: =?UTF-8?B?UmU6INCf0L7RgdC70LUg0L7QsdC90L7QstC70LXQvdC40Y8g0YEgMS42LjMg0LQ=?= =?UTF-8?B?0L4gMS4xMC4xINC30LDRh9Cw0YHRgtC40LvQuCBzZWdmYXVsdCfRiyDQstC+?= =?UTF-8?B?0YDQutC10YDQvtCyLg==?= In-Reply-To: <20161006182242.GE73038@mdounin.ru> References: <20161006182242.GE73038@mdounin.ru> Message-ID: <0cf209a735e124c7a44008e19462749d.NginxMailingListRussian@forum.nginx.org> Конфиг длинный и древний как песня о Роланде, с кучей вхостов и инклюдов. В паблик выкладывать как-то стесняюсь. Максим, можно я его Вам приватным образом зашлю? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270095,270108#msg-270108 From simplebox66 на gmail.com Fri Oct 7 12:05:02 2016 From: simplebox66 на gmail.com (=?UTF-8?B?0JjQstCw0L0g0JzQuNGI0LjQvQ==?=) Date: Fri, 7 Oct 2016 15:05:02 +0300 Subject: =?UTF-8?B?0YDQsNC30LzQtdGAINGB0L7QvtCx0YnQtdC90LjRjyDQvtGC0L/RgNCw0LLQu9GP?= =?UTF-8?B?0LXQvNC+0LPQviDQv9C+IHN5c2xvZw==?= Message-ID: Добрый день коллеги. Заметил что длинные веб логи (например POST запросы) Не доходят до syslog сервер . Предположительно все что больше 32к не проходит. Подскажите есть ли какие-либо ограничения по этому поводу? ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From annulen на yandex.ru Fri Oct 7 12:07:36 2016 From: annulen на yandex.ru (Konstantin Tokarev) Date: Fri, 07 Oct 2016 15:07:36 +0300 Subject: =?UTF-8?B?UmU6INGA0LDQt9C80LXRgCDRgdC+0L7QsdGJ0LXQvdC40Y8g0L7RgtC/0YDQsNCy?= =?UTF-8?B?0LvRj9C10LzQvtCz0L4g0L/QviBzeXNsb2c=?= In-Reply-To: References: Message-ID: <3475231475842056@web23h.yandex.ru> 07.10.2016, 15:05, "Иван Мишин" : > Добрый день коллеги. > Заметил что длинные веб логи (например POST запросы) > Не доходят до  syslog сервер . Предположительно все что больше 32к не проходит. > > Подскажите есть ли какие-либо ограничения по этому поводу? Вообще по RFC максимальная длина сообщения - 1K -- Regards, Konstantin From stalker на altlinux.ru Fri Oct 7 12:12:46 2016 From: stalker на altlinux.ru (Anton Gorlov) Date: Fri, 7 Oct 2016 15:12:46 +0300 Subject: =?UTF-8?B?UmU6INGA0LDQt9C80LXRgCDRgdC+0L7QsdGJ0LXQvdC40Y8g0L7RgtC/0YDQsNCy?= =?UTF-8?B?0LvRj9C10LzQvtCz0L4g0L/QviBzeXNsb2c=?= In-Reply-To: References: Message-ID: На сколько помню это ограничение самого syslog размер 1 сообщение не может превышать размер сетевого пакета-хидеры. 07.10.2016 15:05, Иван Мишин пишет: > Добрый день коллеги. > Заметил что длинные веб логи (например POST запросы) > Не доходят до syslog сервер . Предположительно все что больше 32к не > проходит. > From mdounin на mdounin.ru Fri Oct 7 12:47:37 2016 From: mdounin на mdounin.ru (Maxim Dounin) Date: Fri, 7 Oct 2016 15:47:37 +0300 Subject: =?UTF-8?B?UmU6INCf0L7RgdC70LUg0L7QsdC90L7QstC70LXQvdC40Y8g0YEgMS42LjMg0LQ=?= =?UTF-8?B?0L4gMS4xMC4xINC30LDRh9Cw0YHRgtC40LvQuCBzZWdmYXVsdCfRiyDQstC+?= =?UTF-8?B?0YDQutC10YDQvtCyLg==?= In-Reply-To: <0cf209a735e124c7a44008e19462749d.NginxMailingListRussian@forum.nginx.org> References: <20161006182242.GE73038@mdounin.ru> <0cf209a735e124c7a44008e19462749d.NginxMailingListRussian@forum.nginx.org> Message-ID: <20161007124737.GG73038@mdounin.ru> Hello! On Fri, Oct 07, 2016 at 06:20:48AM -0400, bakake wrote: > Конфиг длинный и древний как песня о Роланде, с кучей вхостов и инклюдов. В > паблик выкладывать как-то стесняюсь. Максим, можно я его Вам приватным > образом зашлю? Да, почта - в поле From. Впрочем, меня, на самом деле, интересуют более или менее конкретные вещи, а именно: - используется ли aio; - используется ли X-Accel-Redirect. Если да - то, возможно, это известная проблема, в качестве workaround'а должен помочь "proxy_ignore_client_abort on". Предудущее обсуждение было где-то тут: http://mailman.nginx.org/pipermail/nginx-ru/2015-August/056670.html -- Maxim Dounin http://nginx.org/ From simplebox66 на gmail.com Fri Oct 7 12:54:47 2016 From: simplebox66 на gmail.com (=?UTF-8?B?0JjQstCw0L0g0JzQuNGI0LjQvQ==?=) Date: Fri, 7 Oct 2016 15:54:47 +0300 Subject: =?UTF-8?B?UmU6INGA0LDQt9C80LXRgCDRgdC+0L7QsdGJ0LXQvdC40Y8g0L7RgtC/0YDQsNCy?= =?UTF-8?B?0LvRj9C10LzQvtCz0L4g0L/QviBzeXNsb2c=?= In-Reply-To: References: Message-ID: попробовал другой контент POST запроса пропихнуть, прошло 39К. Странно... 7 октября 2016 г., 15:12 пользователь Anton Gorlov написал: > На сколько помню это ограничение самого syslog > размер 1 сообщение не может превышать размер сетевого пакета-хидеры. > > 07.10.2016 15:05, Иван Мишин пишет: > > Добрый день коллеги. > > Заметил что длинные веб логи (например POST запросы) > > Не доходят до syslog сервер . Предположительно все что больше 32к не > > проходит. > > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From simplebox66 на gmail.com Fri Oct 7 14:44:18 2016 From: simplebox66 на gmail.com (=?UTF-8?B?0JjQstCw0L0g0JzQuNGI0LjQvQ==?=) Date: Fri, 7 Oct 2016 17:44:18 +0300 Subject: =?UTF-8?B?0L/QvtGF0L7QttC1INC90LAg0LHQsNCz0YMg0YEgc3lzbG9nIG5naW54?= Message-ID: В ходе разбирательства с прошлым моим вопросом > > Добрый день коллеги. > Заметил что длинные веб логи (например POST запросы) > Не доходят до syslog сервер . Предположительно все что больше 32к не > проходит. > Подскажите есть ли какие-либо ограничения по этому поводу? Выяснил следующую вещь. Если отправлять POST запрос на nginx содержащий латиницу более 9000 символов, то nginx данное сообщение в логи не отправляет по syslog. Как проверял, отправлял POST содержащий текст вида "приветмир" длинна запроса 9000 символов, писал слитно без пробелов. На принимающем syslog сервере слушал tcpdump ом, тишина. Nginx настройки: > access_log syslog:server=x.x.x.x:514,facility=local4,severity=notice main; > log_format main '$http_host $remote_addr $remote_user [$time_local] > "$request" $status "$sent_http_content_type" $body_bytes_sent > "$http_referer" "$http_user_agent" "$http_cookie" $request_time > "$upstream_addr" NGINX-CACHE-$upstream_cache_status "$request_body" '; ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From onokonem на gmail.com Fri Oct 7 22:10:35 2016 From: onokonem на gmail.com (Daniel Podolsky) Date: Sat, 8 Oct 2016 01:10:35 +0300 Subject: =?UTF-8?B?UmU6INGA0LDQt9C80LXRgCDRgdC+0L7QsdGJ0LXQvdC40Y8g0L7RgtC/0YDQsNCy?= =?UTF-8?B?0LvRj9C10LzQvtCz0L4g0L/QviBzeXNsb2c=?= In-Reply-To: References: Message-ID: > Заметил что длинные веб логи (например POST запросы) > Не доходят до syslog сервер . Предположительно все что больше 32к не > проходит. там же UDP. плохо, если оно будет больше одного пакета, а один пакет - это MTU минус заголовки то есть - 9000 байт с максимального размера jumbo frames From nginx-forum на forum.nginx.org Mon Oct 10 11:22:31 2016 From: nginx-forum на forum.nginx.org (bakake) Date: Mon, 10 Oct 2016 07:22:31 -0400 Subject: =?UTF-8?B?UmU6INCf0L7RgdC70LUg0L7QsdC90L7QstC70LXQvdC40Y8g0YEgMS42LjMg0LQ=?= =?UTF-8?B?0L4gMS4xMC4xINC30LDRh9Cw0YHRgtC40LvQuCBzZWdmYXVsdCfRiyDQstC+?= =?UTF-8?B?0YDQutC10YDQvtCyLg==?= In-Reply-To: <20161007124737.GG73038@mdounin.ru> References: <20161007124737.GG73038@mdounin.ru> Message-ID: <8d5fd1fb6ef0714505692e92d1dbf5bc.NginxMailingListRussian@forum.nginx.org> Спасибо за ответ! Да, aio включен и X-Accel-Redirect используется очень интенсивно. И да, действительно, сегфолтит преимущественно в момент недоступности некоторых бэков в апстримах. Похоже мой случай. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270095,270148#msg-270148 From mdounin на mdounin.ru Tue Oct 11 15:32:45 2016 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 11 Oct 2016 18:32:45 +0300 Subject: nginx-1.11.5 Message-ID: <20161011153245.GE73038@mdounin.ru> Изменения в nginx 1.11.5 11.10.2016 *) Изменение: параметр configure --with-ipv6 упразднён, поддержка IPv6 теперь собирается автоматически. *) Изменение: теперь, если в блоке upstream не оказалось доступных серверов, nginx не сбрасывает статистику ошибок всех серверов, как делал ранее, а ожидает истечения fail_timeout. *) Добавление: модуль ngx_stream_ssl_preread_module. *) Добавление: директива server в блоке upstream поддерживает параметр max_conns. *) Добавление: параметр configure --with-compat. *) Добавление: параметры manager_files, manager_threshold и manager_sleep директив proxy_cache_path, fastcgi_cache_path, scgi_cache_path и uwsgi_cache_path. *) Исправление: при сборке perl-модуля не использовались флаги, заданные с помощью параметра configure --with-ld-opt. *) Исправление: в директиве add_after_body при использовании совместно с директивой sub_filter. *) Исправление: в переменной $realip_remote_addr. *) Исправление: директивы dav_access, proxy_store_access, fastcgi_store_access, scgi_store_access и uwsgi_store_access игнорировали права, заданные для пользователя. *) Исправление: unix domain listen-сокеты могли не наследоваться при обновлении исполняемого файла на Linux. *) Исправление: nginx возвращал ошибку 400 на запросы с символом "-" в HTTP-методе. -- Maxim Dounin http://nginx.org/ From sargaskn на gmail.com Tue Oct 11 16:43:38 2016 From: sargaskn на gmail.com (Sargas) Date: Tue, 11 Oct 2016 19:43:38 +0300 Subject: =?UTF-8?B?UmU6INCa0LDRgdGC0L7QvNC90LDRjyA0MDQg0LTQu9GPINC+0L/RgNC10LTQtdC7?= =?UTF-8?B?0LXQvdC90YvRhSDQu9C+0LrQtdC50YjQtdC90L7Qsi4=?= In-Reply-To: References: Message-ID: Возможно у кого-то есть какие-то мысли как это реализовать? Буду благодарен. 6 октября 2016 г., 17:45 пользователь Sargas написал: > Здравствуйте. > > Подскажите, пожалуйста, как решить следующую задачу. > Нужно для админки /admin сделать обработку 404 ошибок скриптом app.php, а > для остальных локейшенов чтобы отдавался файл 404.html > > server { > listen 127.0.0.1:80; > server_name example.com; > > error_log /vhosts/example.com/logs/nginx.error.log; > access_log /vhosts/example.com/logs/nginx.main.log main; > > location ~ /\. { deny all; } > index app.php; > root /vhosts/example.com/www; > error_page 404 /404.html; > > > location / { > try_files $uri /app.php$is_args$args; > } > > > location ~ ^/app\.php { > include fastcgi_params; > fastcgi_param DOCUMENT_ROOT $realpath_root; > fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; > fastcgi_pass phpfpm; > fastcgi_index app.php; > fastcgi_connect_timeout 1; > fastcgi_intercept_errors on; > internal; > } > > > location ~ \.php$ { > return 404; > } > > > location /admin { > include conf.d/adminips.conf; > try_files $uri /app.php$is_args$args; > } > > > location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|bin|rar|bz2| > woff|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|js|html|htm|flv)$ { > expires max; > } > > } > > > Пробовал делать именованный локейшен и отправлять в него 404, но все равно > отдается 404.html > location /admin { > include conf.d/adminips.conf; > try_files $uri /app.php$is_args$args; > error_page 404 = @err404; > } > > location @err404 { > include fastcgi_params; > fastcgi_param DOCUMENT_ROOT $realpath_root; > fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; > fastcgi_pass phpfpm; > fastcgi_index app.php; > fastcgi_connect_timeout 1; > fastcgi_intercept_errors on; > } > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From ngnx8810773a83 на avksrv.org Tue Oct 11 19:39:56 2016 From: ngnx8810773a83 на avksrv.org (Alexey Kuznetsov) Date: Tue, 11 Oct 2016 22:39:56 +0300 Subject: =?UTF-8?B?UmU6IE5naW54INC90LUg0L7RgtCy0LXRh9Cw0LXRgiDQvdCwINC30LDQv9GA0L4=?= =?UTF-8?B?0YHRiw==?= In-Reply-To: <736ae1af91e09678ccc063158b350055.NginxMailingListRussian@forum.nginx.org> References: <353cb8cf-aa4a-d1a1-608e-1f1293a71bab@avksrv.org> <736ae1af91e09678ccc063158b350055.NginxMailingListRussian@forum.nginx.org> Message-ID: <8afa1fb0-9f89-48f7-771d-e02f24320ab2@avksrv.org> Добрый день! Наша часть проблемы решилась, вчера закоммитили изменения в 11 и 10 ветки. У меня полет нормальный. Судя по СВНу в 11 релиз оно не вошло. /Алексей From nnex на mail.ru Wed Oct 12 02:00:29 2016 From: nnex на mail.ru (=?UTF-8?B?SyBL?=) Date: Wed, 12 Oct 2016 05:00:29 +0300 Subject: =?UTF-8?B?UmVbMl06INCa0LDRgdGC0L7QvNC90LDRjyA0MDQg0LTQu9GPINC+0L/RgNC10LQ=?= =?UTF-8?B?0LXQu9C10L3QvdGL0YUg0LvQvtC60LXQudGI0LXQvdC+0LIu?= In-Reply-To: References: Message-ID: <1476237629.853945065@f157.i.mail.ru> Првет Скоре всего тебе надо возвращать от бекэнда 404ую с 200ым ответом, а уже nginx'ом переписывать код ответа на 404 -- k k вторник, 11 октября 2016г., 21:43 +05:00 от Sargas sargaskn на gmail.com : >Возможно у кого-то есть какие-то мысли как это реализовать? >Буду благодарен. > >6 октября 2016 г., 17:45 пользователь Sargas < sargaskn на gmail.com > написал: >>Здравствуйте. >> >>Подскажите, пожалуйста, как решить следующую задачу. >>Нужно для админки /admin сделать обработку 404 ошибок скриптом app.php, а для остальных локейшенов чтобы отдавался файл 404.html >> >>server { >>    listen 127.0.0.1:80 ; >>    server_name example.com ; >> >>    error_log /vhosts/ example.com/logs/nginx.error.log ; >>    access_log /vhosts/ example.com/logs/nginx.main.log main; >> >>    location ~ /\. { deny all; } >>    index app.php; >>    root /vhosts/ example.com/www ; >>    error_page 404 /404.html; >> >> >>    location / { >>        try_files $uri /app.php$is_args$args; >>    } >> >> >>    location ~ ^/app\.php { >>        include fastcgi_params; >>        fastcgi_param DOCUMENT_ROOT $realpath_root; >>        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; >>        fastcgi_pass phpfpm; >>        fastcgi_index app.php; >>        fastcgi_connect_timeout 1; >>        fastcgi_intercept_errors on; >>        internal; >>    } >> >> >>    location ~ \.php$ { >>        return 404; >>    } >> >> >>    location /admin { >>        include conf.d/adminips.conf; >>        try_files $uri /app.php$is_args$args; >>    } >> >> >>    location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|bin|rar|bz2|woff|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|js|html|htm|flv)$ { >>        expires max; >>    } >> >>} >> >> >>Пробовал делать именованный локейшен и отправлять в него 404, но все равно отдается 404.html >>    location /admin { >>        include conf.d/adminips.conf; >>        try_files $uri /app.php$is_args$args; >>        error_page 404 = @err404; >>    } >> >>    location @err404 { >>        include fastcgi_params; >>        fastcgi_param DOCUMENT_ROOT $realpath_root; >>        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; >>        fastcgi_pass phpfpm; >>        fastcgi_index app.php; >>        fastcgi_connect_timeout 1; >>        fastcgi_intercept_errors on; >>    } >> > >_______________________________________________ >nginx-ru mailing list >nginx-ru на nginx.org >http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From sargaskn на gmail.com Wed Oct 12 13:04:40 2016 From: sargaskn на gmail.com (Sargas) Date: Wed, 12 Oct 2016 16:04:40 +0300 Subject: =?UTF-8?B?UmU6IFJlWzJdOiDQmtCw0YHRgtC+0LzQvdCw0Y8gNDA0INC00LvRjyDQvtC/0YA=?= =?UTF-8?B?0LXQtNC10LvQtdC90L3Ri9GFINC70L7QutC10LnRiNC10L3QvtCyLg==?= In-Reply-To: <1476237629.853945065@f157.i.mail.ru> References: <1476237629.853945065@f157.i.mail.ru> Message-ID: Запрос до бекенда не доходит. Нужно как раз сделать чтобы в определенном локейшене запрос шел на php скрипт в случае 404 ошибки, а не на статичный файл. 12 октября 2016 г., 5:00 пользователь K K написал: > Првет > > Скоре всего тебе надо возвращать от бекэнда 404ую с 200ым ответом, а уже > nginx'ом переписывать код ответа на 404 > > -- > k k > вторник, 11 октября 2016г., 21:43 +05:00 от Sargas sargaskn на gmail.com: > > Возможно у кого-то есть какие-то мысли как это реализовать? > Буду благодарен. > > 6 октября 2016 г., 17:45 пользователь Sargas > написал: > > Здравствуйте. > > Подскажите, пожалуйста, как решить следующую задачу. > Нужно для админки /admin сделать обработку 404 ошибок скриптом app.php, а > для остальных локейшенов чтобы отдавался файл 404.html > > server { > listen 127.0.0.1:80; > server_name example.com; > > error_log /vhosts/example.com/logs/nginx.error.log; > access_log /vhosts/example.com/logs/nginx.main.log main; > > location ~ /\. { deny all; } > index app.php; > root /vhosts/example.com/www; > error_page 404 /404.html; > > > location / { > try_files $uri /app.php$is_args$args; > } > > > location ~ ^/app\.php { > include fastcgi_params; > fastcgi_param DOCUMENT_ROOT $realpath_root; > fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; > fastcgi_pass phpfpm; > fastcgi_index app.php; > fastcgi_connect_timeout 1; > fastcgi_intercept_errors on; > internal; > } > > > location ~ \.php$ { > return 404; > } > > > location /admin { > include conf.d/adminips.conf; > try_files $uri /app.php$is_args$args; > } > > > location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|bin|rar|bz2| > woff|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|js|html|htm|flv)$ { > expires max; > } > > } > > > Пробовал делать именованный локейшен и отправлять в него 404, но все равно > отдается 404.html > location /admin { > include conf.d/adminips.conf; > try_files $uri /app.php$is_args$args; > error_page 404 = @err404; > } > > location @err404 { > include fastcgi_params; > fastcgi_param DOCUMENT_ROOT $realpath_root; > fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; > fastcgi_pass phpfpm; > fastcgi_index app.php; > fastcgi_connect_timeout 1; > fastcgi_intercept_errors on; > } > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From error500 на error500.ru Thu Oct 13 10:34:19 2016 From: error500 на error500.ru (Panfilov Konstantin) Date: Thu, 13 Oct 2016 13:34:19 +0300 Subject: =?UTF-8?B?UmU6INCa0LDRgdGC0L7QvNC90LDRjyA0MDQg0LTQu9GPINC+0L/RgNC10LTQtdC7?= =?UTF-8?B?0LXQvdC90YvRhSDQu9C+0LrQtdC50YjQtdC90L7Qsi4=?= In-Reply-To: References: <1476237629.853945065@f157.i.mail.ru> Message-ID: <44b09c2a-ff0e-b1f2-4a79-735e6ef38a44@error500.ru> try_files не стоит использовать вообще ну и какойто странный конфиг у вас в именованом локейшене укажите не $fastcgi_script_name который к этому моменту непонятно какой а конкретно app.php ну и дебаг лог прекрасно расказывает что происходит в момент запроса и что куда редиректит и почему недоходит до бэка 12.10.2016 16:04, Sargas пишет: > Запрос до бекенда не доходит. Нужно как раз сделать чтобы в > определенном локейшене запрос шел на php скрипт в случае 404 ошибки, а > не на статичный файл. > > 12 октября 2016 г., 5:00 пользователь K K > написал: > > Првет > > Скоре всего тебе надо возвращать от бекэнда 404ую с 200ым ответом, > а уже nginx'ом переписывать код ответа на 404 > > -- > k k > > вторник, 11 октября 2016г., 21:43 +05:00 от Sargas > sargaskn на gmail.com : > > Возможно у кого-то есть какие-то мысли как это реализовать? > Буду благодарен. > > 6 октября 2016 г., 17:45 пользователь Sargas > > > написал: > > Здравствуйте. > > Подскажите, пожалуйста, как решить следующую задачу. > Нужно для админки /admin сделать обработку 404 ошибок > скриптом app.php, а для остальных локейшенов чтобы > отдавался файл 404.html > > server { > listen 127.0.0.1:80 ; > server_name example.com ; > > error_log /vhosts/example.com/logs/nginx.error.log > ; > access_log /vhosts/example.com/logs/nginx.main.log > main; > > location ~ /\. { deny all; } > index app.php; > root /vhosts/example.com/www ; > error_page 404 /404.html; > > > location / { > try_files $uri /app.php$is_args$args; > } > > > location ~ ^/app\.php { > include fastcgi_params; > fastcgi_param DOCUMENT_ROOT $realpath_root; > fastcgi_param SCRIPT_FILENAME > $realpath_root$fastcgi_script_name; > fastcgi_pass phpfpm; > fastcgi_index app.php; > fastcgi_connect_timeout 1; > fastcgi_intercept_errors on; > internal; > } > > > location ~ \.php$ { > return 404; > } > > > location /admin { > include conf.d/adminips.conf; > try_files $uri /app.php$is_args$args; > } > > > location ~* > ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|bin|rar|bz2|woff|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|js|html|htm|flv)$ > { > expires max; > } > > } > > > Пробовал делать именованный локейшен и отправлять в него > 404, но все равно отдается 404.html > location /admin { > include conf.d/adminips.conf; > try_files $uri /app.php$is_args$args; > error_page 404 = @err404; > } > > location @err404 { > include fastcgi_params; > fastcgi_param DOCUMENT_ROOT $realpath_root; > fastcgi_param SCRIPT_FILENAME > $realpath_root$fastcgi_script_name; > fastcgi_pass phpfpm; > fastcgi_index app.php; > fastcgi_connect_timeout 1; > fastcgi_intercept_errors on; > } > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From sargaskn на gmail.com Thu Oct 13 13:18:54 2016 From: sargaskn на gmail.com (Sargas) Date: Thu, 13 Oct 2016 16:18:54 +0300 Subject: =?UTF-8?B?UmU6INCa0LDRgdGC0L7QvNC90LDRjyA0MDQg0LTQu9GPINC+0L/RgNC10LTQtdC7?= =?UTF-8?B?0LXQvdC90YvRhSDQu9C+0LrQtdC50YjQtdC90L7Qsi4=?= In-Reply-To: <44b09c2a-ff0e-b1f2-4a79-735e6ef38a44@error500.ru> References: <1476237629.853945065@f157.i.mail.ru> <44b09c2a-ff0e-b1f2-4a79-735e6ef38a44@error500.ru> Message-ID: >try_files не стоит использовать >вообще Почему? >ну и какойто странный конфиг у вас Все запросы отправляем на app.php, при попытке открыть php скрипт который не прописан как локейшен в конфиге nginx - отдаем 404 ошибку. Сделано на случай если зальют вебшелл и попытаются его выполнить. К сожалению приложение переделывать никто не будет, а залить файл можно много куда. >в именованом локейшене укажите не $fastcgi_script_name который к этому моменту непонятно какой а конкретно app.php попробую, благодарю. 13 октября 2016 г., 13:34 пользователь Panfilov Konstantin < error500 на error500.ru> написал: > try_files не стоит использовать > вообще > > ну и какойто странный конфиг у вас > > в именованом локейшене укажите не $fastcgi_script_name который к этому > моменту непонятно какой а конкретно app.php > > ну и дебаг лог прекрасно расказывает что происходит в момент запроса и что > куда редиректит и почему недоходит до бэка > > > 12.10.2016 16:04, Sargas пишет: > > Запрос до бекенда не доходит. Нужно как раз сделать чтобы в определенном > локейшене запрос шел на php скрипт в случае 404 ошибки, а не на статичный > файл. > > 12 октября 2016 г., 5:00 пользователь K K написал: > >> Првет >> >> Скоре всего тебе надо возвращать от бекэнда 404ую с 200ым ответом, а уже >> nginx'ом переписывать код ответа на 404 >> >> -- >> k k >> вторник, 11 октября 2016г., 21:43 +05:00 от Sargas sargaskn на gmail.com: >> >> Возможно у кого-то есть какие-то мысли как это реализовать? >> Буду благодарен. >> >> 6 октября 2016 г., 17:45 пользователь Sargas > > написал: >> >> Здравствуйте. >> >> Подскажите, пожалуйста, как решить следующую задачу. >> Нужно для админки /admin сделать обработку 404 ошибок скриптом app.php, а >> для остальных локейшенов чтобы отдавался файл 404.html >> >> server { >> listen 127.0.0.1:80; >> server_name example.com; >> >> error_log /vhosts/example.com/logs/nginx.error.log; >> access_log /vhosts/example.com/logs/nginx.main.log main; >> >> location ~ /\. { deny all; } >> index app.php; >> root /vhosts/example.com/www; >> error_page 404 /404.html; >> >> >> location / { >> try_files $uri /app.php$is_args$args; >> } >> >> >> location ~ ^/app\.php { >> include fastcgi_params; >> fastcgi_param DOCUMENT_ROOT $realpath_root; >> fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; >> fastcgi_pass phpfpm; >> fastcgi_index app.php; >> fastcgi_connect_timeout 1; >> fastcgi_intercept_errors on; >> internal; >> } >> >> >> location ~ \.php$ { >> return 404; >> } >> >> >> location /admin { >> include conf.d/adminips.conf; >> try_files $uri /app.php$is_args$args; >> } >> >> >> location ~* ^.+\.(jpg|jpeg|gif|png|ico|css >> |zip|tgz|gz|bin|rar|bz2|woff|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|js|html|htm|flv)$ >> { >> expires max; >> } >> >> } >> >> >> Пробовал делать именованный локейшен и отправлять в него 404, но все >> равно отдается 404.html >> location /admin { >> include conf.d/adminips.conf; >> try_files $uri /app.php$is_args$args; >> error_page 404 = @err404; >> } >> >> location @err404 { >> include fastcgi_params; >> fastcgi_param DOCUMENT_ROOT $realpath_root; >> fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; >> fastcgi_pass phpfpm; >> fastcgi_index app.php; >> fastcgi_connect_timeout 1; >> fastcgi_intercept_errors on; >> } >> >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> > > > > _______________________________________________ > nginx-ru mailing listnginx-ru на nginx.orghttp://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-ru на sadok.spb.ru Thu Oct 13 17:47:59 2016 From: nginx-ru на sadok.spb.ru (Dmitry Ivanov) Date: Thu, 13 Oct 2016 20:47:59 +0300 Subject: forum.nginx.org Message-ID: <1234200613.20161013204759@sadok.spb.ru> Здравствуйте. Товарищи из Nginx, у вас на forum.nginx.org ус отклеился (зачеркнуто) сертификат просрочился. -- С уважением, Dmitry From maxim на nginx.com Thu Oct 13 18:05:18 2016 From: maxim на nginx.com (Maxim Konovalov) Date: Thu, 13 Oct 2016 21:05:18 +0300 Subject: forum.nginx.org In-Reply-To: <1234200613.20161013204759@sadok.spb.ru> References: <1234200613.20161013204759@sadok.spb.ru> Message-ID: <97403917-AA68-4DA9-A31E-9955425357FE@nginx.com> Не совсем у нас. Спасибо, передадим мейнтейнеру. -- Maxim Konovalov > 13 окт. 2016 г., в 20:47, Dmitry Ivanov написал(а): > > Здравствуйте. > > Товарищи из Nginx, у вас на forum.nginx.org ус отклеился (зачеркнуто) > сертификат просрочился. > > -- > С уважением, > Dmitry > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From nginx-forum на forum.nginx.org Fri Oct 14 10:16:04 2016 From: nginx-forum на forum.nginx.org (avk) Date: Fri, 14 Oct 2016 06:16:04 -0400 Subject: =?UTF-8?Q?proxy_pass_=D0=B4=D0=BB=D1=8F_subfolders?= Message-ID: <5950edfc0e423afedcbdf3c4a6de67a6.NginxMailingListRussian@forum.nginx.org> Здравствуйте! Ребята, нужна ваша помощь. Есть задача. Необходимо проксировать запросы через nginx proxy к другим серверам через различные сабфолдеры. Пример, с domain.ltd/1 перенаправить запрос к host1.ltd/app , с domain.ltd//1 на host2.ltd/app и тд. Сабдомейны использовать не можем, потому что нет вильдкард сертификата. Может быть есть идеи? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270265,270265#msg-270265 From aleksey.yakovenko на gmail.com Fri Oct 14 10:20:08 2016 From: aleksey.yakovenko на gmail.com (Alex Yakovenko) Date: Fri, 14 Oct 2016 13:20:08 +0300 Subject: =?UTF-8?B?UmU6IHByb3h5IHBhc3Mg0LTQu9GPIHN1YmZvbGRlcnM=?= In-Reply-To: <5950edfc0e423afedcbdf3c4a6de67a6.NginxMailingListRussian@forum.nginx.org> References: <5950edfc0e423afedcbdf3c4a6de67a6.NginxMailingListRussian@forum.nginx.org> Message-ID: http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass 2016-10-14 13:16 GMT+03:00 avk : > Здравствуйте! Ребята, нужна ваша помощь. Есть задача. Необходимо > проксировать запросы через nginx proxy к другим серверам через различные > сабфолдеры. Пример, с domain.ltd/1 перенаправить запрос к host1.ltd/app , с > domain.ltd//1 на host2.ltd/app и тд. Сабдомейны использовать не можем, > потому что нет вильдкард сертификата. Может быть есть идеи? > > Posted at Nginx Forum: https://forum.nginx.org/read. > php?21,270265,270265#msg-270265 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Sincerely Alex Yakovenko ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на forum.nginx.org Fri Oct 14 11:13:47 2016 From: nginx-forum на forum.nginx.org (avk) Date: Fri, 14 Oct 2016 07:13:47 -0400 Subject: =?UTF-8?B?UmU6IHByb3h5IHBhc3Mg0LTQu9GPIHN1YmZvbGRlcnM=?= In-Reply-To: References: Message-ID: Спасибо, но не работает. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270266,270270#msg-270270 From gmm на csdoc.com Fri Oct 14 12:29:08 2016 From: gmm на csdoc.com (Gena Makhomed) Date: Fri, 14 Oct 2016 15:29:08 +0300 Subject: https://letsencrypt.org/ In-Reply-To: <5950edfc0e423afedcbdf3c4a6de67a6.NginxMailingListRussian@forum.nginx.org> References: <5950edfc0e423afedcbdf3c4a6de67a6.NginxMailingListRussian@forum.nginx.org> Message-ID: <3a13fe86-8107-9716-4625-f3d2c757f2ba@csdoc.com> On 14.10.2016 13:16, avk wrote: >Сабдомейны использовать не можем, > потому что нет вильдкард сертификата. Может быть есть идеи? https://letsencrypt.org/ - бесплатные SSL сертификаты. конфиг nginx: location /.well-known/acme-challenge { default_type text/plain; root /opt/letsencrypt; } получение сертификата: #!/bin/bash OPT="-a webroot --webroot-path=/opt/letsencrypt --agree-dev-preview" /opt/letsencrypt/letsencrypt-auto $OPT certonly -d example.com -d www.example.com обновление сертификата: (запускать через крон) #!/bin/sh if ! /opt/letsencrypt/letsencrypt-auto renew -nvv --webroot --webroot-path=/opt/letsencrypt > /var/log/letsencrypt/renew.log 2>&1 ; then echo Automated renewal failed: cat /var/log/letsencrypt/renew.log fi systemctl reload nginx exit использование: listen 11.22.33.44:443 ssl http2; server_name www.example.com example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # https://gist.github.com/plentz/6737338 # http://tautt.com/best-nginx-configuration-for-security/ add_header Strict-Transport-Security "max-age=31536000" always; add_header X-XSS-Protection "1; mode=block"; add_header X-Content-Type-Options nosniff; add_header X-Frame-Options DENY; проверка: https://www.ssllabs.com/ssltest/ -- Best regards, Gena From nginx на mva.name Fri Oct 14 13:12:29 2016 From: nginx на mva.name (Vadim A. Misbakh-Soloviov) Date: Fri, 14 Oct 2016 20:12:29 +0700 Subject: =?UTF-8?B?UmU6IHByb3h5IHBhc3Mg0LTQu9GPIHN1YmZvbGRlcnM=?= In-Reply-To: <5950edfc0e423afedcbdf3c4a6de67a6.NginxMailingListRussian@forum.nginx.org> References: <5950edfc0e423afedcbdf3c4a6de67a6.NginxMailingListRussian@forum.nginx.org> Message-ID: <4220669.3ojGWCe2yQ@note> В письме от пятница, 14 октября 2016 г. 6:16:04 +07 пользователь avk написал: > потому что нет вильдкард сертификата. https://assl.loovit.net/ (подписывает в т.ч. wildcard CSR'ы). Ну и как уже сказали, letsencrypt (там не wildcard, но сколько угодно третьеуровневых). From simplebox66 на gmail.com Fri Oct 14 13:33:04 2016 From: simplebox66 на gmail.com (=?UTF-8?B?0JjQstCw0L0g0JzQuNGI0LjQvQ==?=) Date: Fri, 14 Oct 2016 16:33:04 +0300 Subject: =?UTF-8?B?UmU6INC/0L7RhdC+0LbQtSDQvdCwINCx0LDQs9GDINGBIHN5c2xvZyBuZ2lueA==?= In-Reply-To: References: Message-ID: Не ужели никто не в курсе почему nginx не отправляет access логи в случае описанном выше? 7 октября 2016 г., 17:44 пользователь Иван Мишин написал: > В ходе разбирательства с прошлым моим вопросом >> >> Добрый день коллеги. >> Заметил что длинные веб логи (например POST запросы) >> Не доходят до syslog сервер . Предположительно все что больше 32к не >> проходит. >> Подскажите есть ли какие-либо ограничения по этому поводу? > > > Выяснил следующую вещь. Если отправлять POST запрос на nginx содержащий > латиницу более 9000 символов, то nginx данное сообщение в логи не > отправляет по syslog. Как проверял, отправлял POST содержащий текст вида > "приветмир" длинна запроса 9000 символов, писал слитно без пробелов. На > принимающем syslog сервере слушал tcpdump ом, тишина. > Nginx настройки: > >> access_log syslog:server=x.x.x.x:514,facility=local4,severity=notice >> main; >> log_format main '$http_host $remote_addr $remote_user [$time_local] >> "$request" $status "$sent_http_content_type" $body_bytes_sent >> "$http_referer" "$http_user_agent" "$http_cookie" $request_time >> "$upstream_addr" NGINX-CACHE-$upstream_cache_status "$request_body" '; > > > > > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From vl на nginx.com Fri Oct 14 13:56:17 2016 From: vl на nginx.com (Vladimir Homutov) Date: Fri, 14 Oct 2016 16:56:17 +0300 Subject: =?UTF-8?B?UmU6INC/0L7RhdC+0LbQtSDQvdCwINCx0LDQs9GDINGBIHN5c2xvZyBuZ2lueA==?= In-Reply-To: References: Message-ID: <15018017-e3c9-2718-7e28-00c347a3fb85@nginx.com> 14.10.2016 16:33, Иван Мишин пишет: > Не ужели никто не в курсе почему nginx не отправляет access логи в > случае описанном выше? > для начала: 1) проверьте логи 2) проверьте tcpdump'ом на той машине, где nginx, чтобы исключить разного рода проблемы с сетью > 7 октября 2016 г., 17:44 пользователь Иван Мишин > написал: > > В ходе разбирательства с прошлым моим вопросом > > Добрый день коллеги. > Заметил что длинные веб логи (например POST запросы) > Не доходят до syslog сервер . Предположительно все что больше > 32к не проходит. > Подскажите есть ли какие-либо ограничения по этому поводу? > > > Выяснил следующую вещь. Если отправлять POST запрос на nginx > содержащий латиницу более 9000 символов, то nginx данное сообщение в > логи не отправляет по syslog. Как проверял, отправлял POST > содержащий текст вида "приветмир" длинна запроса 9000 символов, > писал слитно без пробелов. На принимающем syslog сервере слушал > tcpdump ом, тишина. > Nginx настройки: > > access_log > syslog:server=x.x.x.x:514,facility=local4,severity=notice main; > log_format main '$http_host $remote_addr $remote_user > [$time_local] "$request" $status "$sent_http_content_type" > $body_bytes_sent "$http_referer" "$http_user_agent" > "$http_cookie" $request_time "$upstream_addr" > NGINX-CACHE-$upstream_cache_status "$request_body" '; > > > > > > > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > From mdounin на mdounin.ru Fri Oct 14 13:58:34 2016 From: mdounin на mdounin.ru (Maxim Dounin) Date: Fri, 14 Oct 2016 16:58:34 +0300 Subject: =?UTF-8?B?UmU6INC/0L7RhdC+0LbQtSDQvdCwINCx0LDQs9GDINGBIHN5c2xvZyBuZ2lueA==?= In-Reply-To: References: Message-ID: <20161014135834.GX73038@mdounin.ru> Hello! On Fri, Oct 14, 2016 at 04:33:04PM +0300, Иван Мишин wrote: > Не ужели никто не в курсе почему nginx не отправляет access логи в случае > описанном выше? Вам же ответили в соседнем треде, созданном вами же: по стандарту больше 1 килобайта нельзя, и всё что больше - доходить не обязано (точнее - обязано не доходить, но nginx не проверяет). Дойдёт или не дойдёт - зависит от многих факторов, цифра в 9000 - очевидно, из размера jumbo frames. Да и вообще не стоит забывать, что UDP не является средством гарантированной доставки. Хотите гарантированной доставки - пишите локальные файлы. Или в локальный же unix-сокет syslog-демона, и уже из им отправляйте куда надо надёжным транспортом. -- Maxim Dounin http://nginx.org/ From gmkrab на gmail.com Fri Oct 14 14:30:01 2016 From: gmkrab на gmail.com (Aleksey Kravchenko) Date: Fri, 14 Oct 2016 17:30:01 +0300 Subject: https://letsencrypt.org/ In-Reply-To: <3a13fe86-8107-9716-4625-f3d2c757f2ba@csdoc.com> References: <5950edfc0e423afedcbdf3c4a6de67a6.NginxMailingListRussian@forum.nginx.org> <3a13fe86-8107-9716-4625-f3d2c757f2ba@csdoc.com> Message-ID: Спасибо за ответы. Другие сертификаты использовать не можем. Есть только один. Такое условие. Здесь дали рекомендацию, но не срабатывает https://forum.nginx.org/read.php?2,270269,270271#msg-270271 2016-10-14 15:29 GMT+03:00 Gena Makhomed : > On 14.10.2016 13:16, avk wrote: > > Сабдомейны использовать не можем, >> потому что нет вильдкард сертификата. Может быть есть идеи? >> > > https://letsencrypt.org/ - бесплатные SSL сертификаты. > > конфиг nginx: > > location /.well-known/acme-challenge { > default_type text/plain; > root /opt/letsencrypt; > } > > получение сертификата: > > #!/bin/bash > > OPT="-a webroot --webroot-path=/opt/letsencrypt --agree-dev-preview" > /opt/letsencrypt/letsencrypt-auto $OPT certonly -d example.com -d > www.example.com > > обновление сертификата: (запускать через крон) > > #!/bin/sh > > if ! /opt/letsencrypt/letsencrypt-auto renew -nvv --webroot > --webroot-path=/opt/letsencrypt > /var/log/letsencrypt/renew.log 2>&1 ; > then > echo Automated renewal failed: > cat /var/log/letsencrypt/renew.log > fi > > systemctl reload nginx > > exit > > использование: > > listen 11.22.33.44:443 ssl http2; > > server_name www.example.com example.com; > > ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; > ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; > > # https://gist.github.com/plentz/6737338 > # http://tautt.com/best-nginx-configuration-for-security/ > add_header Strict-Transport-Security "max-age=31536000" always; > add_header X-XSS-Protection "1; mode=block"; > add_header X-Content-Type-Options nosniff; > add_header X-Frame-Options DENY; > > проверка: > > https://www.ssllabs.com/ssltest/ > > -- > Best regards, > Gena > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From gmm на csdoc.com Fri Oct 14 15:00:05 2016 From: gmm на csdoc.com (Gena Makhomed) Date: Fri, 14 Oct 2016 18:00:05 +0300 Subject: =?UTF-8?Q?proxy_pass_=D0=B4=D0=BB=D1=8F_subfolders?= In-Reply-To: References: <5950edfc0e423afedcbdf3c4a6de67a6.NginxMailingListRussian@forum.nginx.org> <3a13fe86-8107-9716-4625-f3d2c757f2ba@csdoc.com> Message-ID: On 14.10.2016 17:30, Aleksey Kravchenko wrote: > Здесь дали рекомендацию, но не срабатывает надо смотреть логи, http://nginx.org/ru/docs/debugging_log.html из логов будет понятно почему не работает так, как ожидалось. -- Best regards, Gena From nginx-ru на sadok.spb.ru Fri Oct 14 17:02:14 2016 From: nginx-ru на sadok.spb.ru (Dmitry Ivanov) Date: Fri, 14 Oct 2016 20:02:14 +0300 Subject: =?UTF-8?B?UmU6IHByb3h5IHBhc3Mg0LTQu9GPIHN1YmZvbGRlcnM=?= In-Reply-To: <4220669.3ojGWCe2yQ@note> References: <5950edfc0e423afedcbdf3c4a6de67a6.NginxMailingListRussian@forum.nginx.org> <4220669.3ojGWCe2yQ@note> Message-ID: <1492876784.20161014200214@sadok.spb.ru> Здравствуйте, Vadim. Вы писали 14 октября 2016 г., 16:12:29: > В письме от пятница, 14 октября 2016 г. 6:16:04 +07 пользователь avk написал: >> потому что нет вильдкард сертификата. > https://assl.loovit.net/ > (подписывает в т.ч. wildcard CSR'ы). Ого! Спасибо, не знал. -- С уважением, Dmitry nginx-ru на sadok.spb.ru From ngnx8810773a83 на avksrv.org Fri Oct 14 22:25:33 2016 From: ngnx8810773a83 на avksrv.org (Alexey Kuznetsov) Date: Sat, 15 Oct 2016 01:25:33 +0300 Subject: nginx image resizer && gd 2.2.3 Message-ID: День добрый! Используем нгинкс для ресайза картинок. после очередного обновления словили проблему. есть PNG с прозрачным фоном. (ну для примера вот нарисовал https://ih.avksrv.org/img/nginx_test2.png ) и пропускаем его через image_filter rotate 270; image_filter resize 100 100; на выходе Малевич: https://ih.avksrv.org/r/l100x100/nginx_test2.png судя по всему появилось как результат https://github.com/libgd/libgd/issues/201 и вытекающего оттуда https://github.com/libgd/libgd/issues/268 в версии GD 2.2.3. Пересборка GD на 2.2.2 проблему решает. зависит от преобразования картинки. При разных входящих размерах, пропорциях ресайза и отсутствии или наличии вращения бывает разный результат. эта картинка без вращения не бьется http://ih.avksrv.org/r/n100x100/nginx_test2.png но варианты бывают разные. при более кривом соотношении пикселей на входе и выходе или кропе будет более "стабильный" результат. FreeBSD, 10.3 nginx (nginx-1.10.1_2,2), libgd (libgd-2.2.3,1) итд из портов. /Алексей ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на forum.nginx.org Sun Oct 16 09:46:17 2016 From: nginx-forum на forum.nginx.org (ingtar) Date: Sun, 16 Oct 2016 05:46:17 -0400 Subject: =?UTF-8?B?MiBzZWN1cmUgbGluayDQsiDQvtC00L3QvtC8INC70L7QutC10LnRiNC10L3QtQ==?= Message-ID: Доброго дня! Возможно реализовать механизм отдачи файла с проверкой по двум secure link'ам? Если первая не сработала, то пробуем вторую. Пытался найти что-то похожее но не смог. Пока приходит на ум идея переопределения secure_link внутри проверки if ($secure_link = ""), но вдруг есть еще вариант... Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270302,270302#msg-270302 From simplebox66 на gmail.com Mon Oct 17 06:45:20 2016 From: simplebox66 на gmail.com (=?UTF-8?B?0JjQstCw0L0g0JzQuNGI0LjQvQ==?=) Date: Mon, 17 Oct 2016 09:45:20 +0300 Subject: =?UTF-8?B?UmU6INC/0L7RhdC+0LbQtSDQvdCwINCx0LDQs9GDINGBIHN5c2xvZyBuZ2lueA==?= In-Reply-To: <20161014135834.GX73038@mdounin.ru> References: <20161014135834.GX73038@mdounin.ru> Message-ID: > > для начала: > 1) проверьте логи > 2) проверьте tcpdump'ом на той машине, где nginx, чтобы исключить > разного рода проблемы с сетью Это все уже проверял. Вам же ответили в соседнем треде, созданном вами же: по стандарту > больше 1 килобайта нельзя, но у меня есть куча логов на 10-30кб и больше которые проходят без проблем. всё что больше - доходить не обязано > (точнее - обязано не доходить, но nginx не проверяет) то что доходить не обязаны это понятно. Но nginx то обязан их отправлять. А я слушал tcpdump ом и знаю точно что nginx не отправляет. В этом и вопрос, почему nginx не отправляет? (а не почему не доходит) 14 октября 2016 г., 16:58 пользователь Maxim Dounin написал: > Hello! > > On Fri, Oct 14, 2016 at 04:33:04PM +0300, Иван Мишин wrote: > > > Не ужели никто не в курсе почему nginx не отправляет access логи в случае > > описанном выше? > > Вам же ответили в соседнем треде, созданном вами же: по стандарту > больше 1 килобайта нельзя, и всё что больше - доходить не обязано > (точнее - обязано не доходить, но nginx не проверяет). Дойдёт или > не дойдёт - зависит от многих факторов, цифра в 9000 - очевидно, > из размера jumbo frames. > > Да и вообще не стоит забывать, что UDP не является средством > гарантированной доставки. Хотите гарантированной доставки - > пишите локальные файлы. Или в локальный же unix-сокет > syslog-демона, и уже из им отправляйте куда надо надёжным > транспортом. > > -- > Maxim Dounin > http://nginx.org/ > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx на mva.name Mon Oct 17 07:01:06 2016 From: nginx на mva.name (Vadim A. Misbakh-Soloviov) Date: Mon, 17 Oct 2016 14:01:06 +0700 Subject: =?UTF-8?B?UmU6INC/0L7RhdC+0LbQtSDQvdCwINCx0LDQs9GDINGBIHN5c2xvZyBuZ2lueA==?= In-Reply-To: References: <20161014135834.GX73038@mdounin.ru> Message-ID: <2366393.rFLDFR94Yd@note> > но у меня есть куча логов на 10-30кб и больше которые проходят без проблем. То, что у вас есть - никак не кореллирует с тем, что это нарушает стандарт и следовательно, если не работает - чинить никто не будет. > Но nginx то обязан их отправлять нет > я слушал tcpdump ом и знаю точно что nginx не отправляет. В этом и вопрос, > почему nginx не отправляет? (а не почему не доходит) Судя по написанному в треде, вы таки слушали на принимающем сервере, а не на отправляющем. Это может ответить только именно что на вопрос доходит-не доходит. Для того, чтобы проверить отправляется ли - слушать нужно на сервере с NginX, как вам уже и сказали. А вообще, вам и *правильное* готовое решение уже дали. Мне казалось, что на этом тред можно закрыть... From nginx-forum на forum.nginx.org Mon Oct 17 13:49:56 2016 From: nginx-forum на forum.nginx.org (avk) Date: Mon, 17 Oct 2016 09:49:56 -0400 Subject: =?UTF-8?B?UmU6IHByb3h5IHBhc3Mg0LTQu9GPIHN1YmZvbGRlcnM=?= In-Reply-To: References: Message-ID: <9a086d0220402ece5f0fb9546b0bcda4.NginxMailingListRussian@forum.nginx.org> Делалось всё согласно документации. Не срабатывает. Кто-нибудь на практике подобное делал? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270266,270323#msg-270323 From nginx-forum на forum.nginx.org Mon Oct 17 20:24:17 2016 From: nginx-forum на forum.nginx.org (maxpostal) Date: Mon, 17 Oct 2016 16:24:17 -0400 Subject: =?UTF-8?B?UmU6INCf0YDQuNC80LXQvdC10L3QuNC1INC00LjRgNC10LrRgtC40LLRiyDQtNC7?= =?UTF-8?B?0Y8g0L7Qv9GA0LXQtNC10LvQtdC90L3QvtCz0L4gSVAg0LDQtNGA0LXRgdCw?= In-Reply-To: <36002831.5CFObfW4IA@cybernote> References: <36002831.5CFObfW4IA@cybernote> Message-ID: <021cd7b55bba46e0079104596c67a0e1.NginxMailingListRussian@forum.nginx.org> Иван, здравствуйте. Спасибо за помощь. Здесь http://nginx.org/ru/docs/http/ngx_http_limit_req_module.html указана директива: limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; $binary_remote_addr - это переменная nginx обозначающая ip-адрес клиента? В итоге указанный мой ранее кусок конфига не работает, то есть модули лимитов nginx не отрабатывают, а если изменить конфиг на: # Настраиваем лимиты кроме ip адреса map $http_x_forwarded_for $binary_remote_addr { 15.267.98.155 1; } limit_req_zone $binary_remote_addr zone=perserver:10m rate=1r/s; limit_conn_zone $binary_remote_addr zone=perip:10m; То получаю ошибку: -- Unit nginx.service has begun starting up. Oct 17 23:17:41 domain.ru nginx[29398]: nginx: [emerg] the duplicate "binary_remote_addr" variable in /etc/nginx/nginx.conf:39 Oct 17 23:17:41 domain.ru systemd[1]: nginx.service: control process exited, code=exited status=1 Oct 17 23:17:41 domain.ru systemd[1]: Failed to start LSB: Stop/start nginx. Соответственно директивы: limit_req_zone $binary_remote_addr zone=perserver:10m rate=1r/s; limit_conn_zone $binary_remote_addr zone=perip:10m; работают, а если указать $key: limit_req_zone $key zone=perserver:10m rate=1r/s; limit_conn_zone $key zone=perip:10m; то лимиты не работают :( Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270039,270336#msg-270336 From nginx-forum на forum.nginx.org Mon Oct 17 23:42:31 2016 From: nginx-forum на forum.nginx.org (waster) Date: Mon, 17 Oct 2016 19:42:31 -0400 Subject: =?UTF-8?B?dXBzdHJlYW0gYyBrZWVwYWxpdmUg0Lgg0L/QtdGA0LjQvtC00LjRh9C10YHQutC4?= =?UTF-8?B?IDUwMiDQvtGI0LjQsdC60LA=?= Message-ID: <40ab8a275c8b919579595b3df36cd617.NginxMailingListRussian@forum.nginx.org> Доброго времени суток, Для раздачи HLS настроена схема из двух серверов cache-origin, где ts-чанки отдаются cache, а все запросы на m3u8-плейлисты проксируются на origin. На cache настроено проксирование с keepalive. Для примера приведу соотвествующие куски конфига cache: -------------------------------------------------------------------------------------------------- upstream hls01 { server X.X.X.X:80 fail_timeout=10 max_fails=3; keepalive 500; } proxy_cache_path /var/cache/nginx/edge_video levels=1:2 keys_zone=e_v:10m inactive=1m max_size=1g; proxy_http_version 1.1; location ~* \.m3u8$ { include /etc/nginx/proxy/proxy_headers.conf; proxy_set_header Host "hls01.XXXXXXX.ru"; proxy_set_header X-Cache-Host $host; proxy_cache off; expires -1; proxy_pass http://hls01; include /etc/nginx/cors.conf; } location ~* \.ts$ { include /etc/nginx/proxy/proxy_headers.conf; include /etc/nginx/cors.conf; proxy_set_header Host "hls01.XXXXXXXX.ru"; proxy_buffer_size 16k; proxy_buffers 32 16k; proxy_ignore_headers "Cache-Control" "Expires"; proxy_cache e_v; proxy_cache_key $host$uri$is_args$args; proxy_cache_valid any 1m; proxy_cache_use_stale updating; proxy_cache_lock on; proxy_pass http://hls01; add_header X-Proxy-Cache $upstream_cache_status; } ... proxy_headers.conf: proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Connection ""; ... -------------------------------------------------------------------------------------------------- Сам cache имеет 10G интерфейс, sysctl поднастроен. В пике исходящий трафик на cache достигает 2Gbps (~6K handled_requests/sec), но на origin по понятной причине входящий трафик падает в пике до 25Mbps (~2.7К handled_requests/sec). В большинстве случаев все запросы к upstream обрабатываются быстро и без проблем, но в логах периодически появляется ошибка 502 "upstream prematurely closed connection while reading response header from upstream". Я включал логирование $upstream_status и видно, что в этот момент возвращается 502. Также снимал дамп трафика, в этот момент видно, что шлется RST-пакет. Эта проблема очень похожа на ту, которая описана тут: https://github.com/h2o/h2o/issues/281 В чем может быть причина, и можно ли как-то избавиться от 502 на cache? Для примера я также включал логирование различных времен ответов на запросы к upstream (request_time, upstream_response_time и др.) и в периоды большой нагрузки на cache, периодически наблюдаются задержки с ответами, т.е. upstream_connect_time, upstream_header_time, например от 1 до 5 сек. Хотя на origin трафик и нагрузка небольшие (см. выше). Пинг между origin и cache ~8ms. С уважением, Андрей. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270342,270342#msg-270342 From mdounin на mdounin.ru Tue Oct 18 01:36:02 2016 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 18 Oct 2016 04:36:02 +0300 Subject: =?UTF-8?B?UmU6IHVwc3RyZWFtIGMga2VlcGFsaXZlINC4INC/0LXRgNC40L7QtNC40YfQtdGB?= =?UTF-8?B?0LrQuCA1MDIg0L7RiNC40LHQutCw?= In-Reply-To: <40ab8a275c8b919579595b3df36cd617.NginxMailingListRussian@forum.nginx.org> References: <40ab8a275c8b919579595b3df36cd617.NginxMailingListRussian@forum.nginx.org> Message-ID: <20161018013602.GF73038@mdounin.ru> Hello! On Mon, Oct 17, 2016 at 07:42:31PM -0400, waster wrote: > Доброго времени суток, > > Для раздачи HLS настроена схема из двух серверов cache-origin, где ts-чанки > отдаются cache, а все запросы на m3u8-плейлисты проксируются на origin. На > cache настроено проксирование с keepalive. Для примера приведу > соотвествующие куски конфига cache: > > upstream hls01 { > server X.X.X.X:80 fail_timeout=10 max_fails=3; > keepalive 500; > } [...] > В большинстве случаев все запросы к upstream обрабатываются быстро и без > проблем, но в логах периодически появляется ошибка 502 "upstream prematurely > closed connection while reading response header from upstream". Я включал > логирование $upstream_status и видно, что в этот момент возвращается 502. > Также снимал дамп трафика, в этот момент видно, что шлется RST-пакет. Эта > проблема очень похожа на ту, которая описана тут: > https://github.com/h2o/h2o/issues/281 > > В чем может быть причина, и можно ли как-то избавиться от 502 на cache? Соединение с бекендом, какое бы оно ни было постоянное, периодически закрывается. Если это происходит в тот момент, когда nginx послал в соединение запрос - с точки зрения nginx'а это выглядит как ошибка. Чтобы nginx имел возможность в такой ситуации перепослать запрос ещё раз - стоит описать ещё один server в блоке upstream, можно тот же самый. Тогда вместо возврата 502 клиенту nginx пойдёт на следующий сервер в соответствии с настройкой proxy_next_upstream, и вернёт пользователю полученный ответ. > Для примера я также включал логирование различных времен ответов на запросы > к upstream (request_time, upstream_response_time и др.) и в периоды большой > нагрузки на cache, периодически наблюдаются задержки с ответами, т.е. > upstream_connect_time, upstream_header_time, например от 1 до 5 сек. Хотя на > origin трафик и нагрузка небольшие (см. выше). Пинг между origin и cache > ~8ms. Задержки в $upstream_connect_time - это скорее всего либо потери пакетов, либо переполненная listen queue на бекенде (что на Linux'е при настройках по умолчанию выглядит как потеря SYN-пакета). -- Maxim Dounin http://nginx.org/ From nginx-forum на forum.nginx.org Tue Oct 18 09:31:00 2016 From: nginx-forum на forum.nginx.org (waster) Date: Tue, 18 Oct 2016 05:31:00 -0400 Subject: =?UTF-8?B?UmU6IHVwc3RyZWFtIGMga2VlcGFsaXZlINC4INC/0LXRgNC40L7QtNC40YfQtdGB?= =?UTF-8?B?0LrQuCA1MDIg0L7RiNC40LHQutCw?= In-Reply-To: <20161018013602.GF73038@mdounin.ru> References: <20161018013602.GF73038@mdounin.ru> Message-ID: Maxim Dounin Wrote: ------------------------------------------------------- > Соединение с бекендом, какое бы оно ни было постоянное, > периодически закрывается. Если это происходит в тот момент, когда > nginx послал в соединение запрос - с точки зрения nginx'а это > выглядит как ошибка. > > Чтобы nginx имел возможность в такой ситуации перепослать запрос > ещё раз - стоит описать ещё один server в блоке upstream, можно > тот же самый. Тогда вместо возврата 502 клиенту nginx пойдёт на > следующий сервер в соответствии с настройкой proxy_next_upstream, > и вернёт пользователю полученный ответ. Похоже, что даже с одним server в блоке upstream уже происходит перепосылка запроса, судя по нескольким ответам, сначала 502, потом 200 в логах в $upstream_status, предположу, что такое поведение обеспечивается за счет max_fails. То есть можно игнорировать эти ошибки или может как-то можно их минимизировать, скажем, выставив keepalive_timeout на бэкенде больше, чем что-либо на прокси (правда не знаю что)? > Задержки в $upstream_connect_time - это скорее всего либо потери > пакетов, либо переполненная listen queue на бекенде (что на > Linux'е при настройках по умолчанию выглядит как потеря > SYN-пакета). Вряд ли это переполненная очередь на бэкенде, там сейчас backlog=65535 и net.core.somaxconn = 65535 net.ipv4.tcp_max_syn_backlog = 65535 и net.ipv4.ip_local_port_range = 16384 65535. Такие же задержки возникают и на уровне upstream_header_time, например, upstream_header_time > 1, а upstream_connect_time=0.02. Бывает вообще только upstream_response_time > 1, а все остальные = 0.02. Это и странно, поскольку трафик и нагрузка на бэкенде небольшие. Большое спасибо за ответы. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270342,270350#msg-270350 From nginx-forum на forum.nginx.org Tue Oct 18 12:23:01 2016 From: nginx-forum на forum.nginx.org (nerjin) Date: Tue, 18 Oct 2016 08:23:01 -0400 Subject: =?UTF-8?B?0KDQsNCx0L7RgtCw0LXRgiDQu9C4INC/0LXRgNC10LzQtdC90L3QsNGPICR1cHN0?= =?UTF-8?B?cmVhbSBhZGRyINC00LjRgNC10LrRgtC40LLQtSBsaW1pdCByZXEgem9uZT8=?= Message-ID: <7533e443a2995946a8344bc2dffd1a68.NginxMailingListRussian@forum.nginx.org> Хотелось ограничивать скорость запросов на каждый upstream. Пытался сделать вот так: limit_req_zone $upstream_addr zone=low_speed:10m rate=1r/s; Но скорость так не ограничивалась. Вопрос: работает ли тут переменная $upstream_addr и если нет, то как можно такое ограничение реализовать? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270352,270352#msg-270352 From mdounin на mdounin.ru Tue Oct 18 13:16:14 2016 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 18 Oct 2016 16:16:14 +0300 Subject: =?UTF-8?B?UmU6IHVwc3RyZWFtIGMga2VlcGFsaXZlINC4INC/0LXRgNC40L7QtNC40YfQtdGB?= =?UTF-8?B?0LrQuCA1MDIg0L7RiNC40LHQutCw?= In-Reply-To: References: <20161018013602.GF73038@mdounin.ru> Message-ID: <20161018131614.GH73038@mdounin.ru> Hello! On Tue, Oct 18, 2016 at 05:31:00AM -0400, waster wrote: > Maxim Dounin Wrote: > ------------------------------------------------------- > > Соединение с бекендом, какое бы оно ни было постоянное, > > периодически закрывается. Если это происходит в тот момент, когда > > nginx послал в соединение запрос - с точки зрения nginx'а это > > выглядит как ошибка. > > > > Чтобы nginx имел возможность в такой ситуации перепослать запрос > > ещё раз - стоит описать ещё один server в блоке upstream, можно > > тот же самый. Тогда вместо возврата 502 клиенту nginx пойдёт на > > следующий сервер в соответствии с настройкой proxy_next_upstream, > > и вернёт пользователю полученный ответ. > > Похоже, что даже с одним server в блоке upstream уже происходит перепосылка > запроса, судя по нескольким ответам, сначала 502, потом 200 в логах в > $upstream_status, предположу, что такое поведение обеспечивается за счет > max_fails. Нет, это я ошибся: если сервер строго один, то запрос будет перепосылаться на него же, если ошибка произошла при попытке воспользоваться закешированным keepalive-соединением. > То есть можно игнорировать эти ошибки или может как-то можно их > минимизировать, скажем, выставив keepalive_timeout на бэкенде больше, чем > что-либо на прокси (правда не знаю что)? Если клиенту возвращается 502 - значит, получить ответ не удалось. Если же ошибка 502 видна только в $upstream_status - то это может быть нормальным следствием того, что бекенд закрыл keepalive-соединение. Может, впрочем, и не быть. > > Задержки в $upstream_connect_time - это скорее всего либо потери > > пакетов, либо переполненная listen queue на бекенде (что на > > Linux'е при настройках по умолчанию выглядит как потеря > > SYN-пакета). > > Вряд ли это переполненная очередь на бэкенде, там сейчас backlog=65535 и > net.core.somaxconn = 65535 > net.ipv4.tcp_max_syn_backlog = 65535 и net.ipv4.ip_local_port_range = 16384 > 65535. Такие же задержки возникают и на уровне upstream_header_time, > например, upstream_header_time > 1, а upstream_connect_time=0.02. Бывает > вообще только upstream_response_time > 1, а все остальные = 0.02. Это и > странно, поскольку трафик и нагрузка на бэкенде небольшие. Переполнения очереди лучше посмотреть явно, благо статистику система ведёт (а "netstat -s" умеет показывать). И/или включить на бекендах net.ipv4.tcp_abort_on_overflow, чтобы задержек при переполнении очереди не было, а сразу была ошибка. Но в целом да, всё указывает на то, что вероятнее всего просто где-то теряются пакеты. -- Maxim Dounin http://nginx.org/ From mdounin на mdounin.ru Tue Oct 18 13:37:19 2016 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 18 Oct 2016 16:37:19 +0300 Subject: =?UTF-8?B?UmU6INCg0LDQsdC+0YLQsNC10YIg0LvQuCDQv9C10YDQtdC80LXQvdC90LDRjyAk?= =?UTF-8?B?dXBzdHJlYW0gYWRkciDQtNC40YDQtdC60YLQuNCy0LUgbGltaXQgcmVxIHpv?= =?UTF-8?B?bmU/?= In-Reply-To: <7533e443a2995946a8344bc2dffd1a68.NginxMailingListRussian@forum.nginx.org> References: <7533e443a2995946a8344bc2dffd1a68.NginxMailingListRussian@forum.nginx.org> Message-ID: <20161018133719.GI73038@mdounin.ru> Hello! On Tue, Oct 18, 2016 at 08:23:01AM -0400, nerjin wrote: > Хотелось ограничивать скорость запросов на каждый upstream. Пытался сделать > вот так: > > limit_req_zone $upstream_addr zone=low_speed:10m rate=1r/s; > > Но скорость так не ограничивалась. > > Вопрос: работает ли тут переменная $upstream_addr и если нет, то как можно > такое ограничение реализовать? Так работать не будет, т.к. $upstream_addr - это переменная, в которой содержатся адреса выбранных для работы бекендов, и какое-либо осмысленное значение в ней появляется только того, когда бекенд выбран и запрос отправляется на него. Если по какой-то причине хочется ограничивать именно частоту запросов на конкретные бекенды - запросы надо разделить между бекендами заранее, чтобы в момент работы limit_req было известно, какой именно бекенд будет использован. Это можно сделать, например, с помощью модуля split_clients, ну или совсем общий вариант - с помощью дополнительного проксирования. -- Maxim Dounin http://nginx.org/ From mdounin на mdounin.ru Tue Oct 18 15:34:13 2016 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 18 Oct 2016 18:34:13 +0300 Subject: nginx-1.10.2 Message-ID: <20161018153412.GL73038@mdounin.ru> Изменения в nginx 1.10.2 18.10.2016 *) Изменение: при попытке запросить виртуальный сервер, отличающийся от согласованного в процессе SSL handshake, теперь возвращается ответ "421 Misdirected Request"; это улучшает совместимость с некоторыми HTTP/2-клиентами в случае использования клиентских сертификатов. *) Изменение: HTTP/2-клиенты теперь могут сразу присылать тело запроса; директива http2_body_preread_size позволяет указать размер буфера, который будет использоваться до того, как nginx начнёт читать тело. *) Исправление: при использовании HTTP/2 и директивы proxy_request_buffering в рабочем процессе мог произойти segmentation fault. *) Исправление: при использовании HTTP/2 к запросам, передаваемым на бэкенд, всегда добавлялась строка заголовка "Content-Length", даже если у запроса не было тела. *) Исправление: при использовании HTTP/2 в логах могли появляться сообщения "http request count is zero". *) Исправление: при использовании директивы sub_filter могло буферизироваться больше данных, чем это необходимо; проблема появилась в 1.9.4. *) Исправление: утечки сокетов при использовании HTTP/2. *) Исправление: при использовании директив "aio threads" и sendfile мог возвращаться некорректный ответ; ошибка появилась в 1.9.13. *) Изменение: совместимость с OpenSSL 1.1.0. -- Maxim Dounin http://nginx.org/ From swood на fotofor.biz Tue Oct 18 23:57:18 2016 From: swood на fotofor.biz (Anton Kiryushkin) Date: Wed, 19 Oct 2016 00:57:18 +0100 Subject: proxy_cache & cache-control Message-ID: Здравствуйте. У меня два вопроса к собравшимся. 1. Чем обсуловлено условие, по которому add_headers и expires нельзя добавить для кода ответа 502. Его можно кэшировать, но нельзя пытаться управлять этим кэшированием. Например, с помощью expires. 2. Собственно сам этот expires и cache-control, похоже, не сильно-то жалуются самим nginx. Решил проверить, что будет, если разрешить добавлять заголовки для 502-го кода и с помощью именованного локейшена их туда добавил. Nginx, который стоит выше уровнем отлично это дело прокэшировал и получились вот такие чудесные заголовки: HTTP/1.1 502 Bad Gateway Server: nginx Date: Tue, 18 Oct 2016 23:45:07 GMT Content-Type: text/html Content-Length: 169 Connection: close Expires: Tue, 18 Oct 2016 23:46:07 GMT Cache-Control: max-age=120,public,must-revalidate В конфиге написано, что 502-й код можно кэшировать только на минуту. На деле выходит, что даже в 23:46:07 элемент все еще находится в кэше. Ждем еще минуту и чудо все равно не случается. Nginx игнорирует этот элемент кэша. Почему/зачем совершенно не понятно. Может кто-то тут сможет дать совет, как лучше поступить? -- Best regards, Anton Kiryushkin -------------- next part -------------- An HTML attachment was scrubbed... URL: From mdounin на mdounin.ru Wed Oct 19 11:35:15 2016 From: mdounin на mdounin.ru (Maxim Dounin) Date: Wed, 19 Oct 2016 14:35:15 +0300 Subject: proxy_cache & cache-control In-Reply-To: References: Message-ID: <20161019113515.GU73038@mdounin.ru> Hello! On Wed, Oct 19, 2016 at 12:57:18AM +0100, Anton Kiryushkin wrote: > Здравствуйте. > > У меня два вопроса к собравшимся. > 1. Чем обсуловлено условие, по которому add_headers и expires нельзя > добавить для кода ответа 502. Его можно кэшировать, но нельзя пытаться > управлять этим кэшированием. Например, с помощью expires. > 2. Собственно сам этот expires и cache-control, похоже, не сильно-то > жалуются самим nginx. > > Решил проверить, что будет, если разрешить добавлять заголовки для 502-го > кода и с помощью именованного локейшена их туда добавил. Nginx, который > стоит выше уровнем отлично это дело прокэшировал и получились вот такие > чудесные заголовки: > > HTTP/1.1 502 Bad Gateway > Server: nginx > Date: Tue, 18 Oct 2016 23:45:07 GMT > Content-Type: text/html > Content-Length: 169 > Connection: close > Expires: Tue, 18 Oct 2016 23:46:07 GMT > Cache-Control: max-age=120,public,must-revalidate > > В конфиге написано, что 502-й код можно кэшировать только на минуту. > На деле выходит, что даже в 23:46:07 элемент все еще находится в кэше. Ждем > еще минуту и чудо все равно не случается. Nginx игнорирует этот элемент > кэша. Почему/зачем совершенно не понятно. > > Может кто-то тут сможет дать совет, как лучше поступить? Для начала стоит разобраться, что вы понимаете под словами "всё ещё находится в кэше" и "чудо". Ответ будет находится в кеше до достижения времени inactive, указанного в директиве proxy_cache_path, по умолчанию - 10 минут, либо до принудительного удаления по max_size, указанного там же. Следует, однако, различать состояния "находится" и "будет использоваться для ответов пользователям". После достижения заданного времени ответ, даже находящийся в кеше, считается устаревшим и перестаёт использоваться кроме как для нужд директивы proxy_cache_use_stale. Отмечу так же, что в соответствии с "max-age=120" в заголовке Cache-Control, приведённый выше ответ устареет через 2 минуты (если в конфиге не сказано игнорировать Cache-Control). Заголовок Cache-Control имеет больший приоритет, чем Expires, и оба имеют приоритет над директивой proxy_cache_valid. -- Maxim Dounin http://nginx.org/ From nginx-forum на forum.nginx.org Thu Oct 20 10:30:39 2016 From: nginx-forum на forum.nginx.org (YuriV) Date: Thu, 20 Oct 2016 06:30:39 -0400 Subject: =?UTF-8?B?0JTQuNGA0LXQutGC0LjQstCwIG1hcCDQuCByZWdleCBjYXB0dXJpbmcgZ3JvdXBz?= =?UTF-8?B?INC90LUg0LTRgNGD0LbQsNGC?= Message-ID: Всем привет. Наверное тема баянистая, но что-то никак не выходит каменный цветок :( Итак, есть nginx 1.8.0 или 1.10.2, ну и регулярка в мапе не работает нивкакую: map $http_host $new_host { ~*^resources\.(?P.+) res.$dom1; ~*^(www\.)?(?P.+) proxy.$dom; default $http_host; } Читал многие форумы, у некоторых почему-то именованные группы работали. Но тут хоть убейся - не работает и все - вместо переменной просто строка $dom или $dom1 подставляется. Вот цитата и мана (http://nginx.org/ru/docs/http/ngx_http_map_module.html): Перед регулярным выражением ставится символ “~”, если при сравнении следует учитывать регистр символов, либо символы “~*” (1.0.4), если регистр символов учитывать не нужно. Регулярное выражение может содержать именованные и позиционные выделения, которые могут затем использоваться в других директивах совместно с результирующей переменной. Ну про позиционные выделения уже было давно сказано, что работать никогда не будет. Но вот про именованное выделение как раз утверждалось, что должно работать.. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270436,270436#msg-270436 From maxout.mail на gmail.com Thu Oct 20 16:05:06 2016 From: maxout.mail на gmail.com (=?UTF-8?B?0JzQsNC60YHQuNC8?=) Date: Thu, 20 Oct 2016 23:05:06 +0700 Subject: =?UTF-8?B?UmU6INCU0LjRgNC10LrRgtC40LLQsCBtYXAg0LggcmVnZXggY2FwdHVyaW5nIGdy?= =?UTF-8?B?b3VwcyDQvdC1INC00YDRg9C20LDRgg==?= In-Reply-To: References: Message-ID: В качестве результирующего значения можно указать текст, переменную (0.9.0) и их комбинации (1.11.0). 2016-10-20 17:30 GMT+07:00 YuriV : > Всем привет. > Наверное тема баянистая, но что-то никак не выходит каменный цветок :( > Итак, есть nginx 1.8.0 или 1.10.2, ну и регулярка в мапе не работает > нивкакую: > > map $http_host $new_host { > ~*^resources\.(?P.+) res.$dom1; > ~*^(www\.)?(?P.+) proxy.$dom; > default $http_host; } > > Читал многие форумы, у некоторых почему-то именованные группы работали. Но > тут хоть убейся - не работает и все - вместо переменной просто строка $dom > или $dom1 подставляется. > > Вот цитата и мана (http://nginx.org/ru/docs/http/ngx_http_map_module.html) > : > Перед регулярным выражением ставится символ “~”, если при сравнении следует > учитывать регистр символов, либо символы “~*” (1.0.4), если регистр > символов > учитывать не нужно. Регулярное выражение может содержать именованные и > позиционные выделения, которые могут затем использоваться в других > директивах совместно с результирующей переменной. > > Ну про позиционные выделения уже было давно сказано, что работать никогда > не > будет. Но вот про именованное выделение как раз утверждалось, что должно > работать.. > > Posted at Nginx Forum: https://forum.nginx.org/read. > php?21,270436,270436#msg-270436 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From maxout.mail на gmail.com Thu Oct 20 16:10:03 2016 From: maxout.mail на gmail.com (=?UTF-8?B?0JzQsNC60YHQuNC8?=) Date: Thu, 20 Oct 2016 23:10:03 +0700 Subject: =?UTF-8?B?UmU6INCU0LjRgNC10LrRgtC40LLQsCBtYXAg0LggcmVnZXggY2FwdHVyaW5nIGdy?= =?UTF-8?B?b3VwcyDQvdC1INC00YDRg9C20LDRgg==?= In-Reply-To: References: Message-ID: Если нет возможности поставить 1.11.0, то нужную логику можно реализовать на нескольких map + set 2016-10-20 17:30 GMT+07:00 YuriV : > Всем привет. > Наверное тема баянистая, но что-то никак не выходит каменный цветок :( > Итак, есть nginx 1.8.0 или 1.10.2, ну и регулярка в мапе не работает > нивкакую: > > map $http_host $new_host { > ~*^resources\.(?P.+) res.$dom1; > ~*^(www\.)?(?P.+) proxy.$dom; > default $http_host; } > > Читал многие форумы, у некоторых почему-то именованные группы работали. Но > тут хоть убейся - не работает и все - вместо переменной просто строка $dom > или $dom1 подставляется. > > Вот цитата и мана (http://nginx.org/ru/docs/http/ngx_http_map_module.html) > : > Перед регулярным выражением ставится символ “~”, если при сравнении следует > учитывать регистр символов, либо символы “~*” (1.0.4), если регистр > символов > учитывать не нужно. Регулярное выражение может содержать именованные и > позиционные выделения, которые могут затем использоваться в других > директивах совместно с результирующей переменной. > > Ну про позиционные выделения уже было давно сказано, что работать никогда > не > будет. Но вот про именованное выделение как раз утверждалось, что должно > работать.. > > Posted at Nginx Forum: https://forum.nginx.org/read. > php?21,270436,270436#msg-270436 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From alex на vorona.com.ua Fri Oct 21 07:02:59 2016 From: alex на vorona.com.ua (Alex Vorona) Date: Fri, 21 Oct 2016 10:02:59 +0300 Subject: =?UTF-8?B?UmU6INCU0LjRgNC10LrRgtC40LLQsCBtYXAg0LggcmVnZXggY2FwdHVyaW5nIGdy?= =?UTF-8?B?b3VwcyDQvdC1INC00YDRg9C20LDRgg==?= In-Reply-To: References: Message-ID: Hello, 20.10.16 13:30, YuriV wrote: > Всем привет. > Наверное тема баянистая, но что-то никак не выходит каменный цветок :( > Итак, есть nginx 1.8.0 или 1.10.2, ну и регулярка в мапе не работает > нивкакую: > > map $http_host $new_host { > ~*^resources\.(?P.+) res.$dom1; > ~*^(www\.)?(?P.+) proxy.$dom; > default $http_host; } > > Читал многие форумы, у некоторых почему-то именованные группы работали. Но > тут хоть убейся - не работает и все - вместо переменной просто строка $dom > или $dom1 подставляется. Копипаст map из вашего сообщения и тестовый location location = /test1 { return 200 "$new_host"; } curl -HHost:www.ya.ru 127.1/test1 proxy.ya.ru curl -HHost:resources.ya.ru 127.1/test1 res.ya.ru nginx version: nginx/1.11.4 From nginx на kinetiksoft.com Fri Oct 21 11:43:52 2016 From: nginx на kinetiksoft.com (=?utf-8?B?0JjQstCw0L0=?=) Date: Fri, 21 Oct 2016 14:43:52 +0300 Subject: =?UTF-8?B?UmU6INCf0YDQuNC80LXQvdC10L3QuNC1INC00LjRgNC10LrRgtC40LLRiyDQtNC7?= =?UTF-8?B?0Y8g0L7Qv9GA0LXQtNC10LvQtdC90L3QvtCz0L4gSVAg0LDQtNGA0LXRgdCw?= In-Reply-To: <021cd7b55bba46e0079104596c67a0e1.NginxMailingListRussian@forum.nginx.org> References: <36002831.5CFObfW4IA@cybernote> <021cd7b55bba46e0079104596c67a0e1.NginxMailingListRussian@forum.nginx.org> Message-ID: <2812745.6Kxb1k3MKb@cybernote> В письме от 17 октября 2016 16:24:17 пользователь maxpostal написал: > Иван, здравствуйте. Спасибо за помощь. > > > limit_req_zone $key zone=perserver:10m rate=1r/s; > limit_conn_zone $key zone=perip:10m; > > то лимиты не работают :( > Если их правильно прописать, они точно работают. :) У меня используются в продакшене. Покажите как конкретно Вы до этого map прописали. From nginx-forum на forum.nginx.org Sat Oct 22 14:50:41 2016 From: nginx-forum на forum.nginx.org (maxpostal) Date: Sat, 22 Oct 2016 10:50:41 -0400 Subject: =?UTF-8?B?UmU6INCf0YDQuNC80LXQvdC10L3QuNC1INC00LjRgNC10LrRgtC40LLRiyDQtNC7?= =?UTF-8?B?0Y8g0L7Qv9GA0LXQtNC10LvQtdC90L3QvtCz0L4gSVAg0LDQtNGA0LXRgdCw?= In-Reply-To: <2812745.6Kxb1k3MKb@cybernote> References: <2812745.6Kxb1k3MKb@cybernote> Message-ID: <2c34ba7943615143c682b16a0b0f0530.NginxMailingListRussian@forum.nginx.org> Иван, спасибо за помощь. Использую панель управления Vesta на веб-сервере, nginx.conf: load_module "modules/ngx_http_geoip_module.so"; ... http { ... # Защита от F5 # Настраиваем лимиты кроме ip адреса #map $http_x_forwarded_for $binary_remote_addr { # 5.187.78.183 1; #} #limit_req_zone $binary_remote_addr zone=perserver:10m rate=1r/s; #limit_conn_zone $binary_remote_addr zone=perip:10m; limit_req_zone $binary_remote_addr zone=perserver:10m rate=1r/s; limit_conn_zone $binary_remote_addr zone=perip:10m; ... } Закоментированный код, как раз не работает :( Конфиги виртуальных хостов: server { ... location / { limit_req zone=perserver burst=10 nodelay; limit_conn perip 10; proxy_pass http://XXX.X.XXX.XX:8080; } ... } Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270039,270477#msg-270477 From nginx-forum на forum.nginx.org Fri Oct 21 05:25:37 2016 From: nginx-forum на forum.nginx.org (YuriV) Date: Fri, 21 Oct 2016 01:25:37 -0400 Subject: =?UTF-8?B?UmU6INCU0LjRgNC10LrRgtC40LLQsCBtYXAg0LggcmVnZXggY2FwdHVyaW5nIGdy?= =?UTF-8?B?b3VwcyDQvdC1INC00YDRg9C20LDRgg==?= In-Reply-To: References: Message-ID: <9faf450e819d71846aa3573aabec3d1a.NginxMailingListRussian@forum.nginx.org> Ох, ну ничоси. Спасибо, ща стремительно закомпиляю и посмотрим :) Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270436,270446#msg-270446 From chipitsine на gmail.com Sun Oct 23 15:46:35 2016 From: chipitsine на gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Sun, 23 Oct 2016 20:46:35 +0500 Subject: =?UTF-8?B?0L3QsNGB0YLRgNC+0LnQutCwIHN5c3RlbWQg0LIgY2VudG9zIDc=?= Message-ID: Добрый день! не стартовал nginx из официального репозитория при запуске системы падает с ошибкой Oct 23 20:43:49 vm-14c6d53b nginx[571]: nginx: [emerg] bind() to X.X.X.X:80 failed (99: Cannot assign requested address) поменял в /lib/systemd/system/nginx.service: After=network-online.target стало запускаться при старте. чем-то обусловлена зависимость именно от network.target ? похоже на баг Илья Шипицин ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx на kinetiksoft.com Sun Oct 23 15:51:15 2016 From: nginx на kinetiksoft.com (=?utf-8?B?0JjQstCw0L0=?=) Date: Sun, 23 Oct 2016 18:51:15 +0300 Subject: =?UTF-8?B?UmU6INCf0YDQuNC80LXQvdC10L3QuNC1INC00LjRgNC10LrRgtC40LLRiyDQtNC7?= =?UTF-8?B?0Y8g0L7Qv9GA0LXQtNC10LvQtdC90L3QvtCz0L4gSVAg0LDQtNGA0LXRgdCw?= In-Reply-To: <2c34ba7943615143c682b16a0b0f0530.NginxMailingListRussian@forum.nginx.org> References: <2812745.6Kxb1k3MKb@cybernote> <2c34ba7943615143c682b16a0b0f0530.NginxMailingListRussian@forum.nginx.org> Message-ID: <1576030.PdLdUvBqoL@cybernote> В письме от 22 октября 2016 10:50:41 пользователь maxpostal написал: > #map $http_x_forwarded_for $binary_remote_addr { > # 5.187.78.183 1; > #} > #limit_req_zone $binary_remote_addr zone=perserver:10m rate=1r/s; > #limit_conn_zone $binary_remote_addr zone=perip:10m; Закомментированный код измените дословно (не надо ни на что заменять $key!) на: map $http_x_forwarded_for $key { 5.187.78.183 1; } limit_req_zone $key zone=perserver:10m rate=1r/s; limit_conn_zone $key zone=perip:10m; Тогда лимиты будут применены для всех с данным значением $key. Чтоб лимиты не применялись, значение $key должно быть пустым. Прочитайте, пожалуйста, описание map в документации, тогда станет понятнее. From skobolo на gmail.com Sun Oct 23 16:13:22 2016 From: skobolo на gmail.com (SK) Date: Sun, 23 Oct 2016 19:13:22 +0300 Subject: =?UTF-8?B?UmU6INC90LDRgdGC0YDQvtC50LrQsCBzeXN0ZW1kINCyIGNlbnRvcyA3?= In-Reply-To: References: Message-ID: <46AEC231-5E40-409D-AE8D-07D040B42252@gmail.com> Подозреваю, в listen указан конкретный адрес? SK > 23 окт. 2016 г., в 18:46, Илья Шипицин написал(а): > > Добрый день! > > не стартовал nginx из официального репозитория > при запуске системы падает с ошибкой > > Oct 23 20:43:49 vm-14c6d53b nginx[571]: nginx: [emerg] bind() to X.X.X.X:80 failed (99: Cannot assign requested address) > > поменял в /lib/systemd/system/nginx.service: > > > After=network-online.target > > > стало запускаться при старте. > > чем-то обусловлена зависимость именно от network.target ? > похоже на баг > > Илья Шипицин > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From chipitsine на gmail.com Sun Oct 23 16:19:20 2016 From: chipitsine на gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Sun, 23 Oct 2016 21:19:20 +0500 Subject: =?UTF-8?B?UmU6INC90LDRgdGC0YDQvtC50LrQsCBzeXN0ZW1kINCyIGNlbnRvcyA3?= In-Reply-To: <46AEC231-5E40-409D-AE8D-07D040B42252@gmail.com> References: <46AEC231-5E40-409D-AE8D-07D040B42252@gmail.com> Message-ID: именно воскресенье, 23 октября 2016 г. пользователь SK написал: > Подозреваю, в listen указан конкретный адрес? > > SK > > > 23 окт. 2016 г., в 18:46, Илья Шипицин > написал(а): > > > > Добрый день! > > > > не стартовал nginx из официального репозитория > > при запуске системы падает с ошибкой > > > > Oct 23 20:43:49 vm-14c6d53b nginx[571]: nginx: [emerg] bind() to > X.X.X.X:80 failed (99: Cannot assign requested address) > > > > поменял в /lib/systemd/system/nginx.service: > > > > > > After=network-online.target > > > > > > стало запускаться при старте. > > > > чем-то обусловлена зависимость именно от network.target ? > > похоже на баг > > > > Илья Шипицин > > _______________________________________________ > > nginx-ru mailing list > > nginx-ru на nginx.org > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From skobolo на gmail.com Sun Oct 23 16:38:50 2016 From: skobolo на gmail.com (SK) Date: Sun, 23 Oct 2016 19:38:50 +0300 Subject: =?UTF-8?B?UmU6INC90LDRgdGC0YDQvtC50LrQsCBzeXN0ZW1kINCyIGNlbnRvcyA3?= In-Reply-To: References: Message-ID: <11D978EA-8D5D-4FFB-837D-EF946CDC9D9C@gmail.com> Nginx не может проверить возможность забиндиться на адрес, пока адрес отсутствует. Выглядит логично. При необходимости изменить поведение, емнип был рычажок, позволяющий биндиться на нелокальный адрес. Но лично не проверял. Или баг в отсутствии указанной зависимости в офисборке? Тогда наверное соглашусь... SK > 23 окт. 2016 г., в 18:46, Илья Шипицин написал(а): > > Добрый день! > > не стартовал nginx из официального репозитория > при запуске системы падает с ошибкой > > Oct 23 20:43:49 vm-14c6d53b nginx[571]: nginx: [emerg] bind() to X.X.X.X:80 failed (99: Cannot assign requested address) > > поменял в /lib/systemd/system/nginx.service: > > > After=network-online.target > > > стало запускаться при старте. > > чем-то обусловлена зависимость именно от network.target ? > похоже на баг > > Илья Шипицин > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From nginx-forum на forum.nginx.org Sun Oct 23 19:52:58 2016 From: nginx-forum на forum.nginx.org (maxpostal) Date: Sun, 23 Oct 2016 15:52:58 -0400 Subject: =?UTF-8?B?UmU6INCf0YDQuNC80LXQvdC10L3QuNC1INC00LjRgNC10LrRgtC40LLRiyDQtNC7?= =?UTF-8?B?0Y8g0L7Qv9GA0LXQtNC10LvQtdC90L3QvtCz0L4gSVAg0LDQtNGA0LXRgdCw?= In-Reply-To: <1576030.PdLdUvBqoL@cybernote> References: <1576030.PdLdUvBqoL@cybernote> Message-ID: Почитал http://nginx.org/ru/docs/http/ngx_http_map_module.html, спасибо. То есть код: map $http_x_forwarded_for $key { 5.187.78.183 1; } создает новую переменную $key и если значение текущего IP клиента - $http_x_forwarded_for соответствует нужному IP-адресу - 5.187.78.183, то переменной $key присваивается значение 1? и соответственно лимиты: limit_req_zone $key zone=perserver:10m rate=1r/s; limit_conn_zone $key zone=perip:10m; будут использоваться только для этого IP, для всех других $key будет пустым. А как же сделать, чтобы этот IP выступал в виде исключения? Может так? if (!$key) { limit_req_zone $binary_remote_addr zone=perserver:10m rate=1r/s; limit_conn_zone $binary_remote_addr zone=perip:10m; } Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270039,270493#msg-270493 From oleg на mamontov.net Sun Oct 23 20:54:41 2016 From: oleg на mamontov.net (Oleg A. Mamontov) Date: Sun, 23 Oct 2016 23:54:41 +0300 Subject: =?UTF-8?B?UmU6INCf0YDQuNC80LXQvdC10L3QuNC1INC00LjRgNC10LrRgtC40LLRiyDQtNC7?= =?UTF-8?B?0Y8g0L7Qv9GA0LXQtNC10LvQtdC90L3QvtCz0L4gSVAg0LDQtNGA0LXRgdCw?= In-Reply-To: References: <1576030.PdLdUvBqoL@cybernote> Message-ID: <20161023205441.GB92529@xenon.mamontov.net> On Sun, Oct 23, 2016 at 03:52:58PM -0400, maxpostal wrote: > Почитал http://nginx.org/ru/docs/http/ngx_http_map_module.html, спасибо. > > То есть код: > > map $http_x_forwarded_for $key { > 5.187.78.183 1; > } > > создает новую переменную $key и если значение текущего IP клиента - > $http_x_forwarded_for соответствует нужному IP-адресу - 5.187.78.183, то > переменной $key присваивается значение 1? > > и соответственно лимиты: > limit_req_zone $key zone=perserver:10m rate=1r/s; > limit_conn_zone $key zone=perip:10m; > > будут использоваться только для этого IP, для всех других $key будет > пустым. > > А как же сделать, чтобы этот IP выступал в виде исключения? map $http_x_forwarded_for $key { 5.187.78.183 ''; default $http_x_forwarded_for; } > Может так? > > if (!$key) { > limit_req_zone $binary_remote_addr zone=perserver:10m rate=1r/s; > limit_conn_zone $binary_remote_addr zone=perip:10m; > } > > Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270039,270493#msg-270493 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Cheers, Oleg A. Mamontov mailto: oleg на mamontov.net skype: lonerr11 cell: +7 (903) 798-1352 From nginx-forum на forum.nginx.org Mon Oct 24 05:51:10 2016 From: nginx-forum на forum.nginx.org (maxpostal) Date: Mon, 24 Oct 2016 01:51:10 -0400 Subject: =?UTF-8?B?UmU6INCf0YDQuNC80LXQvdC10L3QuNC1INC00LjRgNC10LrRgtC40LLRiyDQtNC7?= =?UTF-8?B?0Y8g0L7Qv9GA0LXQtNC10LvQtdC90L3QvtCz0L4gSVAg0LDQtNGA0LXRgdCw?= In-Reply-To: <20161023205441.GB92529@xenon.mamontov.net> References: <20161023205441.GB92529@xenon.mamontov.net> Message-ID: <51fb95360f4d3a4a354168685340d22a.NginxMailingListRussian@forum.nginx.org> Спасибо! Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270039,270497#msg-270497 From nginx-forum на forum.nginx.org Mon Oct 24 06:03:26 2016 From: nginx-forum на forum.nginx.org (maxpostal) Date: Mon, 24 Oct 2016 02:03:26 -0400 Subject: =?UTF-8?B?UmU6INCf0YDQuNC80LXQvdC10L3QuNC1INC00LjRgNC10LrRgtC40LLRiyDQtNC7?= =?UTF-8?B?0Y8g0L7Qv9GA0LXQtNC10LvQtdC90L3QvtCz0L4gSVAg0LDQtNGA0LXRgdCw?= In-Reply-To: <20161023205441.GB92529@xenon.mamontov.net> References: <20161023205441.GB92529@xenon.mamontov.net> Message-ID: <92b5b2fa65d45ab8ce47812be8ca3026.NginxMailingListRussian@forum.nginx.org> Соответственно, чтобы указать несколько игнорируемых айпишников, нужно написать: map $http_x_forwarded_for $key { 5.187.78.183 ''; 5.187.78.184 ''; 5.187.78.185 ''; default $http_x_forwarded_for; } ? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270039,270498#msg-270498 From oleg на mamontov.net Mon Oct 24 09:12:47 2016 From: oleg на mamontov.net (Oleg A. Mamontov) Date: Mon, 24 Oct 2016 12:12:47 +0300 Subject: =?UTF-8?B?UmU6INCf0YDQuNC80LXQvdC10L3QuNC1INC00LjRgNC10LrRgtC40LLRiyDQtNC7?= =?UTF-8?B?0Y8g0L7Qv9GA0LXQtNC10LvQtdC90L3QvtCz0L4gSVAg0LDQtNGA0LXRgdCw?= In-Reply-To: <92b5b2fa65d45ab8ce47812be8ca3026.NginxMailingListRussian@forum.nginx.org> References: <20161023205441.GB92529@xenon.mamontov.net> <92b5b2fa65d45ab8ce47812be8ca3026.NginxMailingListRussian@forum.nginx.org> Message-ID: <20161024091247.GC92529@xenon.mamontov.net> On Mon, Oct 24, 2016 at 02:03:26AM -0400, maxpostal wrote: > Соответственно, чтобы указать несколько игнорируемых айпишников, нужно > написать: > > map $http_x_forwarded_for $key { > 5.187.78.183 ''; > 5.187.78.184 ''; > 5.187.78.185 ''; > default $http_x_forwarded_for; > } > > ? Да. -- Cheers, Oleg A. Mamontov mailto: oleg на mamontov.net skype: lonerr11 cell: +7 (903) 798-1352 From mdounin на mdounin.ru Mon Oct 24 12:00:44 2016 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 24 Oct 2016 15:00:44 +0300 Subject: =?UTF-8?B?UmU6INC90LDRgdGC0YDQvtC50LrQsCBzeXN0ZW1kINCyIGNlbnRvcyA3?= In-Reply-To: References: Message-ID: <20161024120043.GL73038@mdounin.ru> Hello! On Sun, Oct 23, 2016 at 08:46:35PM +0500, Илья Шипицин wrote: > Добрый день! > > не стартовал nginx из официального репозитория > при запуске системы падает с ошибкой > > Oct 23 20:43:49 vm-14c6d53b nginx[571]: nginx: [emerg] bind() to X.X.X.X:80 > failed (99: Cannot assign requested address) > > поменял в /lib/systemd/system/nginx.service: > > > After=network-online.target > > > стало запускаться при старте. > > чем-то обусловлена зависимость именно от network.target ? > похоже на баг OpenVZ? Вот тут разбор проблемы от Кости Павлова: http://mailman.nginx.org/pipermail/nginx-ru/2016-January/057311.html -- Maxim Dounin http://nginx.org/ From chipitsine на gmail.com Mon Oct 24 12:28:14 2016 From: chipitsine на gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Mon, 24 Oct 2016 17:28:14 +0500 Subject: =?UTF-8?B?UmU6INC90LDRgdGC0YDQvtC50LrQsCBzeXN0ZW1kINCyIGNlbnRvcyA3?= In-Reply-To: <20161024120043.GL73038@mdounin.ru> References: <20161024120043.GL73038@mdounin.ru> Message-ID: 24 октября 2016 г., 17:00 пользователь Maxim Dounin написал: > Hello! > > On Sun, Oct 23, 2016 at 08:46:35PM +0500, Илья Шипицин wrote: > > > Добрый день! > > > > не стартовал nginx из официального репозитория > > при запуске системы падает с ошибкой > > > > Oct 23 20:43:49 vm-14c6d53b nginx[571]: nginx: [emerg] bind() to > X.X.X.X:80 > > failed (99: Cannot assign requested address) > > > > поменял в /lib/systemd/system/nginx.service: > > > > > > After=network-online.target > > > > > > стало запускаться при старте. > > > > чем-то обусловлена зависимость именно от network.target ? > > похоже на баг > > OpenVZ? > нет. > > Вот тут разбор проблемы от Кости Павлова: > http://mailman.nginx.org/pipermail/nginx-ru/2016-January/057311.html > > -- > Maxim Dounin > http://nginx.org/ > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From chipitsine на gmail.com Mon Oct 24 17:07:46 2016 From: chipitsine на gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Mon, 24 Oct 2016 22:07:46 +0500 Subject: =?UTF-8?B?UmU6INC90LDRgdGC0YDQvtC50LrQsCBzeXN0ZW1kINCyIGNlbnRvcyA3?= In-Reply-To: <20161024120043.GL73038@mdounin.ru> References: <20161024120043.GL73038@mdounin.ru> Message-ID: 24 октября 2016 г., 17:00 пользователь Maxim Dounin написал: > Hello! > > On Sun, Oct 23, 2016 at 08:46:35PM +0500, Илья Шипицин wrote: > > > Добрый день! > > > > не стартовал nginx из официального репозитория > > при запуске системы падает с ошибкой > > > > Oct 23 20:43:49 vm-14c6d53b nginx[571]: nginx: [emerg] bind() to > X.X.X.X:80 > > failed (99: Cannot assign requested address) > > > > поменял в /lib/systemd/system/nginx.service: > > > > > > After=network-online.target > > > > > > стало запускаться при старте. > > > > чем-то обусловлена зависимость именно от network.target ? > > похоже на баг > > OpenVZ? > [root на vm-14c6d53b ~]# cat /proc/user_beancounters cat: /proc/user_beancounters: No such file or directory [root на vm-14c6d53b ~]# это kvm-ная виртуалка. но, да, это хостинг. леший знает, чем она отличается от "vanilla centos". я еще поизучаю. на ней апач, кстати, ровно так же валится (и так же лечится) > > Вот тут разбор проблемы от Кости Павлова: > http://mailman.nginx.org/pipermail/nginx-ru/2016-January/057311.html > > -- > Maxim Dounin > http://nginx.org/ > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From gmm на csdoc.com Mon Oct 24 17:32:42 2016 From: gmm на csdoc.com (Gena Makhomed) Date: Mon, 24 Oct 2016 20:32:42 +0300 Subject: =?UTF-8?B?UmU6INC90LDRgdGC0YDQvtC50LrQsCBzeXN0ZW1kINCyIGNlbnRvcyA3?= In-Reply-To: <20161024120043.GL73038@mdounin.ru> References: <20161024120043.GL73038@mdounin.ru> Message-ID: <09849a61-162e-06ad-629d-0fb5d135a2e6@csdoc.com> On 24.10.2016 15:00, Maxim Dounin wrote: >> не стартовал nginx из официального репозитория >> при запуске системы падает с ошибкой >> >> Oct 23 20:43:49 vm-14c6d53b nginx[571]: nginx: [emerg] bind() to X.X.X.X:80 >> failed (99: Cannot assign requested address) >> >> поменял в /lib/systemd/system/nginx.service: >> >> >> After=network-online.target >> >> >> стало запускаться при старте. >> >> чем-то обусловлена зависимость именно от network.target ? >> похоже на баг > > OpenVZ? > > Вот тут разбор проблемы от Кости Павлова: > http://mailman.nginx.org/pipermail/nginx-ru/2016-January/057311.html > А что мешает в официальном nginx сделать After=network-online.target ? т.е. запускать nginx только после того, как активирована сеть. будет стабильнее без этих глюков с Cannot assign requested address. P.S. сейчас приходится прописывать sysctl net.ipv4.ip_nonlocal_bind=1 и совсем не понятно чей это глюк - OpenVZ, KVM или самого nginx. P.P.S. даже если глюк в OpenVZ и KVM и systemd - они его поправить не смогут. логично было бы в nginx добавить workaround для бага. -- Best regards, Gena From chipitsine на gmail.com Mon Oct 24 18:02:05 2016 From: chipitsine на gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Mon, 24 Oct 2016 23:02:05 +0500 Subject: =?UTF-8?B?UmU6INC90LDRgdGC0YDQvtC50LrQsCBzeXN0ZW1kINCyIGNlbnRvcyA3?= In-Reply-To: <09849a61-162e-06ad-629d-0fb5d135a2e6@csdoc.com> References: <20161024120043.GL73038@mdounin.ru> <09849a61-162e-06ad-629d-0fb5d135a2e6@csdoc.com> Message-ID: 24 октября 2016 г., 22:32 пользователь Gena Makhomed написал: > On 24.10.2016 15:00, Maxim Dounin wrote: > > не стартовал nginx из официального репозитория >>> при запуске системы падает с ошибкой >>> >>> Oct 23 20:43:49 vm-14c6d53b nginx[571]: nginx: [emerg] bind() to >>> X.X.X.X:80 >>> failed (99: Cannot assign requested address) >>> >>> поменял в /lib/systemd/system/nginx.service: >>> >>> >>> After=network-online.target >>> >>> >>> стало запускаться при старте. >>> >>> чем-то обусловлена зависимость именно от network.target ? >>> похоже на баг >>> >> >> OpenVZ? >> >> Вот тут разбор проблемы от Кости Павлова: >> http://mailman.nginx.org/pipermail/nginx-ru/2016-January/057311.html >> >> > А что мешает в официальном nginx сделать After=network-online.target ? > > т.е. запускать nginx только после того, как активирована сеть. > > будет стабильнее без этих глюков с Cannot assign requested address. > > P.S. > > сейчас приходится прописывать sysctl net.ipv4.ip_nonlocal_bind=1 > и совсем не понятно чей это глюк - OpenVZ, KVM или самого nginx. > > P.P.S. > > даже если глюк в OpenVZ и KVM и systemd - они его поправить не смогут. > логично было бы в nginx добавить workaround для бага. > ну, с точки зрения kvm, сетевой интерфейс честный. природа глюка, видимо, другая. > > -- > Best regards, > Gena > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From gmm на csdoc.com Mon Oct 24 18:23:38 2016 From: gmm на csdoc.com (Gena Makhomed) Date: Mon, 24 Oct 2016 21:23:38 +0300 Subject: =?UTF-8?B?UmU6INC90LDRgdGC0YDQvtC50LrQsCBzeXN0ZW1kINCyIGNlbnRvcyA3?= In-Reply-To: References: <20161024120043.GL73038@mdounin.ru> <09849a61-162e-06ad-629d-0fb5d135a2e6@csdoc.com> Message-ID: <34e4f546-6f2a-50a2-40f8-564060ca61e6@csdoc.com> On 24.10.2016 21:02, Илья Шипицин wrote: >>>> чем-то обусловлена зависимость именно от network.target ? вот и мне не понятно, network.target - это же глюкодром. > ну, с точки зрения kvm, сетевой интерфейс честный. > природа глюка, видимо, другая. природа глюка описана тут: https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/ и решение там же описано: After=network-online.target and Wants=network-online.target тогда nginx стабильно будет стартовать везде и без проблем. -- Best regards, Gena From schors на gmail.com Mon Oct 24 18:52:25 2016 From: schors на gmail.com (Phil Kulin) Date: Mon, 24 Oct 2016 21:52:25 +0300 Subject: =?UTF-8?Q?non-ASCII_=D0=B2_URI_=D0=B2_location?= Message-ID: На старости лет вруг понял, что не понял. Смотрите, есть какие-то non-ASCII символы в URI. И например это не UTF-8. Хочу в location и например в map ловить такие URI. Что-то не могу ни найти, ни нагуглить как. В исходный текст посмотреть как nginx разбирает такие строки конфига не залезал. P.S. Хорошо, если это CP1251, а если нет? Например, название каталога с переводом строки "/static/rm -rf\n" :) -- Non nobis Domine non nobis sed Nomini Tuo da gloriam Phil Kulin From nginx-ru на sadok.spb.ru Mon Oct 24 19:17:17 2016 From: nginx-ru на sadok.spb.ru (Dmitry Ivanov) Date: Mon, 24 Oct 2016 22:17:17 +0300 Subject: =?UTF-8?B?UmU6INC90LDRgdGC0YDQvtC50LrQsCBzeXN0ZW1kINCyIGNlbnRvcyA3?= In-Reply-To: <09849a61-162e-06ad-629d-0fb5d135a2e6@csdoc.com> References: <20161024120043.GL73038@mdounin.ru> <09849a61-162e-06ad-629d-0fb5d135a2e6@csdoc.com> Message-ID: <118100137.20161024221717@sadok.spb.ru> Здравствуйте, Gena. Вы писали 24 октября 2016 г., 20:32:42: > логично было бы в nginx добавить workaround для бага. нелогично. ибо забивание костылей -- С уважением, Dmitry nginx-ru на sadok.spb.ru From nginx-forum на forum.nginx.org Mon Oct 24 19:23:55 2016 From: nginx-forum на forum.nginx.org (S.A.N) Date: Mon, 24 Oct 2016 15:23:55 -0400 Subject: =?UTF-8?B?UmU6INC90LDRgdGC0YDQvtC50LrQsCBzeXN0ZW1kINCyIGNlbnRvcyA3?= In-Reply-To: References: Message-ID: Мне ещё не нравится, из официального репозитория, вот эта директива: [Service] PrivateTmp=true Огромный подводный камень, например вот это из коробки работать не будет client_body_temp_path /tmp/; client_body_in_file_only on; Потому что PrivateTmp=true, процес бекенда как правило работает под другим юзером и получить доступ к временной папке процесса Nginx сможет. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270488,270530#msg-270530 From nginx-forum на forum.nginx.org Mon Oct 24 19:25:55 2016 From: nginx-forum на forum.nginx.org (S.A.N) Date: Mon, 24 Oct 2016 15:25:55 -0400 Subject: =?UTF-8?B?UmU6INC90LDRgdGC0YDQvtC50LrQsCBzeXN0ZW1kINCyIGNlbnRvcyA3?= In-Reply-To: References: Message-ID: > Потому что PrivateTmp=true, процес бекенда как правило работает под > другим юзером и получить доступ к временной папке процесса Nginx > сможет. Конечно, НЕ сможет, получить доступ к файлу, моя опечатка ) Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270488,270531#msg-270531 From mdounin на mdounin.ru Mon Oct 24 19:56:59 2016 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 24 Oct 2016 22:56:59 +0300 Subject: =?UTF-8?Q?Re=3A_non-ASCII_=D0=B2_URI_=D0=B2_location?= In-Reply-To: References: Message-ID: <20161024195659.GU73038@mdounin.ru> Hello! On Mon, Oct 24, 2016 at 09:52:25PM +0300, Phil Kulin wrote: > На старости лет вруг понял, что не понял. > Смотрите, есть какие-то non-ASCII символы в URI. И например это не > UTF-8. Хочу в location и например в map ловить такие URI. Что-то не > могу ни найти, ни нагуглить как. В исходный текст посмотреть как nginx > разбирает такие строки конфига не залезал. > > P.S. Хорошо, если это CP1251, а если нет? Например, название каталога > с переводом строки "/static/rm -rf\n" :) А в чём именно видится проблема? В общем случае - писать в кавычках и экранировать кавычки и обратный слеш с помощью обратного же слеша. В целом nginx знает и умеет \', \", \\, \t, \r, \n, так что "/static/rm -rf\n" можно так и записать: location "/static/rm -rf\n" { return 200 done\n; } С документацией на это, правда, всё плохо. -- Maxim Dounin http://nginx.org/ From gmm на csdoc.com Tue Oct 25 13:34:28 2016 From: gmm на csdoc.com (Gena Makhomed) Date: Tue, 25 Oct 2016 16:34:28 +0300 Subject: =?UTF-8?B?UmU6INC90LDRgdGC0YDQvtC50LrQsCBzeXN0ZW1kINCyIGNlbnRvcyA3?= In-Reply-To: <118100137.20161024221717@sadok.spb.ru> References: <20161024120043.GL73038@mdounin.ru> <09849a61-162e-06ad-629d-0fb5d135a2e6@csdoc.com> <118100137.20161024221717@sadok.spb.ru> Message-ID: On 24.10.2016 22:17, Dmitry Ivanov wrote: >> логично было бы в nginx добавить workaround для бага. > нелогично. ибо забивание костылей Сейчас там и так присутствуют "костыли" - делается 5 попыток bind(), с задержками между ними в 500 миллисекунд: src\core\ngx_connection.c если за 2.5 секунды сеть не успеет подняться - то nginx не запустится. Это race condition - на загруженном KVM/VZ сервере вполне может пройти и больше времени между запуском nginx и поднятием сетевого интерфейса. Что и наблюдается. Так что баг очень даже может быть что в самом nginx. Кроме того, только в случае systemd имеется попытка запускать nginx еще до того как будет сконфигурирована и поднята сеть, во всех остальных операционных системах - nginx запускается только после поднятия сети (!) Чтобы устранить race condition и сделать единообразным запуск nginx во всех случаях - предлагается и для systemd запускать его после сети. В чем тут "забивание костылей" ? Если хочется сделать без костылей, то разработчики systemd говорят как: https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/ # What does this mean for me, a Developer? - ничего этого нет в nginx даже и близко. -- Best regards, Gena From chipitsine на gmail.com Tue Oct 25 13:38:43 2016 From: chipitsine на gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Tue, 25 Oct 2016 18:38:43 +0500 Subject: =?UTF-8?B?UmU6INC90LDRgdGC0YDQvtC50LrQsCBzeXN0ZW1kINCyIGNlbnRvcyA3?= In-Reply-To: References: <20161024120043.GL73038@mdounin.ru> <09849a61-162e-06ad-629d-0fb5d135a2e6@csdoc.com> <118100137.20161024221717@sadok.spb.ru> Message-ID: давайте понизим градус дискуссии. systemd сравнительно недавно массово пошел в продакшен. (и не надо устраивать флейм на эту тему). предлагаю в рабочем порядке порешать вопрос. и да, сделать вариант в том числе для OpenVZ, хотя у меня их и нет)) но ведь у кого-то же есть. чем они виноваты? 25 октября 2016 г., 18:34 пользователь Gena Makhomed написал: > On 24.10.2016 22:17, Dmitry Ivanov wrote: > > логично было бы в nginx добавить workaround для бага. >>> >> > нелогично. ибо забивание костылей >> > > Сейчас там и так присутствуют "костыли" - делается 5 попыток bind(), > с задержками между ними в 500 миллисекунд: src\core\ngx_connection.c > если за 2.5 секунды сеть не успеет подняться - то nginx не запустится. > > Это race condition - на загруженном KVM/VZ сервере вполне может пройти > и больше времени между запуском nginx и поднятием сетевого интерфейса. > Что и наблюдается. Так что баг очень даже может быть что в самом nginx. > > Кроме того, только в случае systemd имеется попытка запускать nginx > еще до того как будет сконфигурирована и поднята сеть, во всех остальных > операционных системах - nginx запускается только после поднятия сети (!) > > Чтобы устранить race condition и сделать единообразным запуск nginx > во всех случаях - предлагается и для systemd запускать его после сети. > > В чем тут "забивание костылей" ? > > Если хочется сделать без костылей, то разработчики systemd говорят как: > > https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/ > > # What does this mean for me, a Developer? > > - ничего этого нет в nginx даже и близко. > > -- > Best regards, > Gena > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx на mva.name Tue Oct 25 14:09:59 2016 From: nginx на mva.name (Vadim A. Misbakh-Soloviov) Date: Tue, 25 Oct 2016 21:09:59 +0700 Subject: =?UTF-8?B?UmU6INC90LDRgdGC0YDQvtC50LrQsCBzeXN0ZW1kINCyIGNlbnRvcyA3?= In-Reply-To: References: Message-ID: <4577121.D88ixVgKZ9@note> Но ведь изначальное предложение топикстартера было идеальным решением проблемы (исправить systemd'шный юнит чтобы он зависел от таргета netwotrk-online, а не от network), разве нет? From chipitsine на gmail.com Tue Oct 25 14:11:52 2016 From: chipitsine на gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Tue, 25 Oct 2016 19:11:52 +0500 Subject: =?UTF-8?B?UmU6INC90LDRgdGC0YDQvtC50LrQsCBzeXN0ZW1kINCyIGNlbnRvcyA3?= In-Reply-To: <4577121.D88ixVgKZ9@note> References: <4577121.D88ixVgKZ9@note> Message-ID: вот в рамках этого предложения и хотелось бы остаться. без скатывания в холивары про ущербность OpenVZ и systemd 25 октября 2016 г., 19:09 пользователь Vadim A. Misbakh-Soloviov < nginx на mva.name> написал: > Но ведь изначальное предложение топикстартера было идеальным решением > проблемы > (исправить systemd'шный юнит чтобы он зависел от таргета netwotrk-online, > а не > от network), разве нет? > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From thresh на nginx.com Tue Oct 25 14:36:36 2016 From: thresh на nginx.com (Konstantin Pavlov) Date: Tue, 25 Oct 2016 17:36:36 +0300 Subject: =?UTF-8?B?UmU6INC90LDRgdGC0YDQvtC50LrQsCBzeXN0ZW1kINCyIGNlbnRvcyA3?= In-Reply-To: References: Message-ID: <6e47a771-58c7-b54d-c903-11fe9ce683bf@nginx.com> Здравствуйте, On 23/10/2016 18:46, Илья Шипицин wrote: > Добрый день! > > не стартовал nginx из официального репозитория > при запуске системы падает с ошибкой > > Oct 23 20:43:49 vm-14c6d53b nginx[571]: nginx: [emerg] bind() to X.X.X.X:80 failed (99: Cannot assign requested address) > > поменял в /lib/systemd/system/nginx.service: > > > After=network-online.target > > > стало запускаться при старте. > > чем-то обусловлена зависимость именно от network.target ? Исключительно опытом дистрибутивов: https://anonscm.debian.org/cgit/collab-maint/nginx.git/tree/debian/nginx-common.nginx.service#n16 https://anonscm.debian.org/cgit/pkg-apache/apache2.git/tree/debian/apache2.service#n3 http://pkgs.fedoraproject.org/cgit/rpms/nginx.git/tree/nginx.service#n3 http://pkgs.fedoraproject.org/cgit/rpms/httpd.git/tree/httpd.service#n14 https://build.opensuse.org/package/view_file/server:http/nginx/nginx.service?expand=1 Включим network-online.target в следующей версии пакета для mainline, не вижу особых причин за него держаться при наличии явных проблем. -- Konstantin Pavlov From phprus на gmail.com Tue Oct 25 15:00:53 2016 From: phprus на gmail.com (=?UTF-8?B?0JLQu9Cw0LTQuNGB0LvQsNCyINCp0LDQv9C+0LI=?=) Date: Tue, 25 Oct 2016 20:00:53 +0500 Subject: =?UTF-8?B?UmU6INC90LDRgdGC0YDQvtC50LrQsCBzeXN0ZW1kINCyIGNlbnRvcyA3?= In-Reply-To: <6e47a771-58c7-b54d-c903-11fe9ce683bf@nginx.com> References: <6e47a771-58c7-b54d-c903-11fe9ce683bf@nginx.com> Message-ID: Добрый день! 25 октября 2016 г., 19:36 пользователь Konstantin Pavlov написал: > Здравствуйте, > > On 23/10/2016 18:46, Илья Шипицин wrote: > > Добрый день! > > > > не стартовал nginx из официального репозитория > > при запуске системы падает с ошибкой > > > > Oct 23 20:43:49 vm-14c6d53b nginx[571]: nginx: [emerg] bind() to > X.X.X.X:80 failed (99: Cannot assign requested address) > > > > поменял в /lib/systemd/system/nginx.service: > > > > > > After=network-online.target > > > > > > стало запускаться при старте. > > > > чем-то обусловлена зависимость именно от network.target ? > > Исключительно опытом дистрибутивов: > > https://anonscm.debian.org/cgit/collab-maint/nginx.git/ > tree/debian/nginx-common.nginx.service#n16 > > https://anonscm.debian.org/cgit/pkg-apache/apache2.git/ > tree/debian/apache2.service#n3 > > http://pkgs.fedoraproject.org/cgit/rpms/nginx.git/tree/nginx.service#n3 > > http://pkgs.fedoraproject.org/cgit/rpms/httpd.git/tree/httpd.service#n14 > > https://build.opensuse.org/package/view_file/server:http/ > nginx/nginx.service?expand=1 > > Во многих из них используется еще и зависимость от цели remote-fs.target, а она сама по себе неявно зависит от network-online.target: https://github.com/systemd/systemd/blob/master/src/core/mount.c#L457 > > Включим network-online.target в следующей версии пакета для mainline, не > вижу особых причин за него держаться при наличии явных проблем. > > > -- > Konstantin Pavlov > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -- С уважением, Владислав Щапов -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum на forum.nginx.org Wed Oct 26 12:16:55 2016 From: nginx-forum на forum.nginx.org (5lava) Date: Wed, 26 Oct 2016 08:16:55 -0400 Subject: =?UTF-8?B?UmU6INCf0LDRgNCwINC60L7QvNC80LXQvdGC0LDRgNC40LXQsiDQviDQtNC40YA=?= =?UTF-8?B?0LXQutGC0LjQstC1IGV4cGlyZXM=?= In-Reply-To: References: Message-ID: <80c0a2ca6add1e9331c26e14ef5fb15b.NginxMailingListRussian@forum.nginx.org> Up. Очередной проект, и снова приходится прикручивать костыли для такого базового функционала :( Posted at Nginx Forum: https://forum.nginx.org/read.php?21,264815,270564#msg-270564 From chipitsine на gmail.com Wed Oct 26 12:31:57 2016 From: chipitsine на gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Wed, 26 Oct 2016 17:31:57 +0500 Subject: =?UTF-8?B?UmU6INCf0LDRgNCwINC60L7QvNC80LXQvdGC0LDRgNC40LXQsiDQviDQtNC40YA=?= =?UTF-8?B?0LXQutGC0LjQstC1IGV4cGlyZXM=?= In-Reply-To: References: Message-ID: параллельный вопрос. если мы отдаем Cache-Control, он по RFC более приоритетный, чем Expires, правильно ? и доля клиентов HTTP/1.0 (которые понимают Expires, но не понимают Cache-Control) в большинстве случаев в районе нуля ? может сделать доп. крутилку (чтобы не менять дефолтное поведение), которая бы позволяла не отдавать Expires ? 25 февраля 2016 г., 13:41 пользователь 5lava написал: > Доброго дня. > > 1. Директива expires создает два хедера — Expires и Cache-Control. Однако, > я > бы хотел также добавить другие параметры Cache-Control, например, "public" > или "no-store". Сделав это через обычный add_header, на выходе я получу два > хедера Cache-Control: в одном "max-age" (созданный директивой expires), в > другом "public" (созданный директивой add_header), вместо одного > "max-age=..., public". Нет, это не катастрофа, но налицо неэффективное > использование bandwidth. Возможные варианты решения: а) опционально мержить > значения всех хедеров Cache-Control в один хедер; б) примерживать результат > работы expires (max-age или no-cache) к ранним add_header Cache-Control, > если таковые были; в) добавить в expires третий параметр, в котором > пользователь мог бы указать дополнительные опции Cache-Control (имхо самый > адекватный вариант). > > 2. expires max это max-age на 10 лет и Expires на 2037 год. Однако RFC 2616 > (https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html) гласит: To mark > a > response as "never expires," an origin server sends an Expires date > approximately one year from the time the response is sent. HTTP/1.1 servers > SHOULD NOT send Expires dates more than one year in the future. Да, should > not это не must not, да и через каких-то 20 с лишним лет вопрос отпадёт сам > собой, но всё же. Гугл, кстати, тоже рекомендует максимум год > (https://developers.google.com/speed/docs/insights/LeverageBrowserCaching > ): > We recommend a minimum cache time of one week and preferably up to one year > for static assets, or assets that change infrequently. > > Спасибо за внимание. > > Posted at Nginx Forum: https://forum.nginx.org/read. > php?21,264815,264815#msg-264815 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на forum.nginx.org Wed Oct 26 14:26:57 2016 From: nginx-forum на forum.nginx.org (5lava) Date: Wed, 26 Oct 2016 10:26:57 -0400 Subject: =?UTF-8?B?UmU6INCf0LDRgNCwINC60L7QvNC80LXQvdGC0LDRgNC40LXQsiDQviDQtNC40YA=?= =?UTF-8?B?0LXQutGC0LjQstC1IGV4cGlyZXM=?= In-Reply-To: References: Message-ID: Осторожнее с этим, многие прокси до сих пор делают реквесты к ориджину по HTTP/1.0 (хотя и принимают реквесты от клиентов по более современным протоколам). Posted at Nginx Forum: https://forum.nginx.org/read.php?21,264815,270569#msg-270569 From chipitsine на gmail.com Wed Oct 26 15:34:00 2016 From: chipitsine на gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Wed, 26 Oct 2016 20:34:00 +0500 Subject: =?UTF-8?B?UmU6INCf0LDRgNCwINC60L7QvNC80LXQvdGC0LDRgNC40LXQsiDQviDQtNC40YA=?= =?UTF-8?B?0LXQutGC0LjQstC1IGV4cGlyZXM=?= In-Reply-To: References: Message-ID: 26 октября 2016 г., 19:26 пользователь 5lava написал: > Осторожнее с этим, многие прокси до сих пор делают реквесты к ориджину по > HTTP/1.0 (хотя и принимают реквесты от клиентов по более современным > протоколам). > я по серверной части (сотни тысяч уникальных клиентов в сутки) не вижу такого. иногда какая-нибудь автоматика (не браузеры) ходят по HTTP/1.0 думаю, что прокси-серверов как таковых уже мало (из-за https), а тех, которые уходят наружу по HTTP/1.0, исчезающе мало. именно поэтому предлагаю дефолтное поведение не менять, а отключение Expires (пока) сделать отдельной директивой. > > Posted at Nginx Forum: https://forum.nginx.org/read. > php?21,264815,270569#msg-270569 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на forum.nginx.org Wed Oct 26 15:34:35 2016 From: nginx-forum на forum.nginx.org (nerjin) Date: Wed, 26 Oct 2016 11:34:35 -0400 Subject: =?UTF-8?B?QmFzaWMgQXV0aG9yaXphdGlvbiDQvdCwIHVwc3RyZWFtINGB0LXRgNCy0LXRgNCw?= =?UTF-8?B?0YU=?= Message-ID: <3fbef25e6eeae2b5b9de04484d0f0c05.NginxMailingListRussian@forum.nginx.org> Может ли nginx авторизоваться на upstream серверах за клиента, т.е. если клиент вообще не шлет заголовка Proxy-Authorization? Указание proxy_set_header Authorization не помогает, nginx шлет 407 Proxy Authentication Required Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270571,270571#msg-270571 From vbart на nginx.com Wed Oct 26 16:51:20 2016 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Wed, 26 Oct 2016 19:51:20 +0300 Subject: =?UTF-8?B?UmU6IEJhc2ljIEF1dGhvcml6YXRpb24g0L3QsCB1cHN0cmVhbSDRgdC10YDQstC1?= =?UTF-8?B?0YDQsNGF?= In-Reply-To: <3fbef25e6eeae2b5b9de04484d0f0c05.NginxMailingListRussian@forum.nginx.org> References: <3fbef25e6eeae2b5b9de04484d0f0c05.NginxMailingListRussian@forum.nginx.org> Message-ID: <12524560.xl8HXKzMG5@vbart-workstation> On Wednesday 26 October 2016 11:34:35 nerjin wrote: > Может ли nginx авторизоваться на upstream серверах за клиента, т.е. > если клиент вообще не шлет заголовка Proxy-Authorization? > > Указание proxy_set_header Authorization не помогает, nginx шлет 407 Proxy > Authentication Required > А nginx отвечать 407 не умеет. Это ваш бекенд и видимо он хочет заголовок "Proxy-Authorization". -- Валентин Бартенев From nginx-forum на forum.nginx.org Wed Oct 26 19:04:45 2016 From: nginx-forum на forum.nginx.org (nerjin) Date: Wed, 26 Oct 2016 15:04:45 -0400 Subject: =?UTF-8?B?UmU6IEJhc2ljIEF1dGhvcml6YXRpb24g0L3QsCB1cHN0cmVhbSDRgdC10YDQstC1?= =?UTF-8?B?0YDQsNGF?= In-Reply-To: <12524560.xl8HXKzMG5@vbart-workstation> References: <12524560.xl8HXKzMG5@vbart-workstation> Message-ID: <4e38d9882be9b6a04d50fd0b61e5db62.NginxMailingListRussian@forum.nginx.org> Спасибо, заработало! Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270571,270580#msg-270580 From alex.hha на gmail.com Thu Oct 27 09:27:24 2016 From: alex.hha на gmail.com (Alex Domoradov) Date: Thu, 27 Oct 2016 12:27:24 +0300 Subject: =?UTF-8?B?ZGVidWcg0LLQtdGA0YHQuNGPIG5naW54IDEuOC4xINC00LvRjyBVYnVudHUgMTIu?= =?UTF-8?B?MDQ=?= Message-ID: Привет всем. собственно не могу найти (возможно ее просто и нет) debug версию nginx, для возможности включения debug в error_log. Смотрел тут - http://nginx.org/packages/ubuntu/pool/nginx/n/nginx/ Начиная с 1.9 nginx-debug уже идет в составе самого пакета nginx, а как мне поставить для 1.8.1? Очень не хочется собирать из исходников ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx на mva.name Thu Oct 27 10:14:19 2016 From: nginx на mva.name (Vadim A. Misbakh-Soloviov) Date: Thu, 27 Oct 2016 17:14:19 +0700 Subject: =?UTF-8?B?UmU6IGRlYnVnINCy0LXRgNGB0LjRjyBuZ2lueCAxLjguMSDQtNC70Y8gVWJ1bnR1?= =?UTF-8?B?IDEyLjA0?= In-Reply-To: References: Message-ID: <1781161.P4kjCASXL9@note> > Начиная с 1.9 nginx-debug уже идет в составе самого пакета nginx, а как мне > поставить для 1.8.1? Очень не хочется собирать из исходников Боюсь что собирать всё-таки придётся. А зачем вам, собственно, именно эта версия, когда на дворе уже 1.11.5? From nginx-forum на forum.nginx.org Thu Oct 27 10:31:26 2016 From: nginx-forum на forum.nginx.org (maks_it) Date: Thu, 27 Oct 2016 06:31:26 -0400 Subject: NGINX rtsp Message-ID: Добрый день! Вкратце стоит ffmpeg+nginx на centos. Берем потоки с камер, записываем, передаем rtmp на сайт все круто. Задача переслать на другой филиал rtsp поток не с каждой камеры отдельно, а с сервера с помощью nginx. В какую сторону копать? Реально ли это сделать? Спасибо! Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270588,270588#msg-270588 From nginx-forum на forum.nginx.org Thu Oct 27 10:37:10 2016 From: nginx-forum на forum.nginx.org (migosm) Date: Thu, 27 Oct 2016 06:37:10 -0400 Subject: NGINX rtsp In-Reply-To: References: Message-ID: Привет! Используйте https://github.com/arut/nginx-rtmp-module Сам недавно пробовал - все работает. Правда вместо rtsp получится все по rtmp рестримить. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270588,270589#msg-270589 From alex.hha на gmail.com Thu Oct 27 10:49:25 2016 From: alex.hha на gmail.com (Alex Domoradov) Date: Thu, 27 Oct 2016 13:49:25 +0300 Subject: =?UTF-8?B?UmU6IGRlYnVnINCy0LXRgNGB0LjRjyBuZ2lueCAxLjguMSDQtNC70Y8gVWJ1bnR1?= =?UTF-8?B?IDEyLjA0?= In-Reply-To: <1781161.P4kjCASXL9@note> References: <1781161.P4kjCASXL9@note> Message-ID: На проде стоит 1.8.1. Обновлять как то особого желания нет. Просто смутило то, что например для centos 6 есть таки debug версия - nginx-debug-1.8.0-1.el6.ngx.x86_64.rpm, но при этом ее нет для 1.8.1 :) 2016-10-27 13:14 GMT+03:00 Vadim A. Misbakh-Soloviov : > > Начиная с 1.9 nginx-debug уже идет в составе самого пакета nginx, а как > мне > > поставить для 1.8.1? Очень не хочется собирать из исходников > > Боюсь что собирать всё-таки придётся. > > А зачем вам, собственно, именно эта версия, когда на дворе уже 1.11.5? > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From vbart на nginx.com Thu Oct 27 11:08:27 2016 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Thu, 27 Oct 2016 14:08:27 +0300 Subject: =?UTF-8?B?UmU6IGRlYnVnINCy0LXRgNGB0LjRjyBuZ2lueCAxLjguMSDQtNC70Y8gVWJ1bnR1?= =?UTF-8?B?IDEyLjA0?= In-Reply-To: References: <1781161.P4kjCASXL9@note> Message-ID: <1675333.CC0oAUlLxV@vbart-laptop> On Thursday 27 October 2016 13:49:25 Alex Domoradov wrote: > На проде стоит 1.8.1. Обновлять как то особого желания нет. Просто смутило > то, что например для centos 6 есть таки debug версия - > nginx-debug-1.8.0-1.el6.ngx.x86_64.rpm, но при этом ее нет для 1.8.1 :) Наличие известной уязвимости в 1.8.1 не смущает? http://mailman.nginx.org/pipermail/nginx-ru-announce/2016/000179.html -- Валентин Бартенев From nginx-forum на forum.nginx.org Thu Oct 27 11:16:56 2016 From: nginx-forum на forum.nginx.org (maks_it) Date: Thu, 27 Oct 2016 07:16:56 -0400 Subject: NGINX rtsp In-Reply-To: References: Message-ID: <0a09a6f227404603ac5a7f3bea6c094c.NginxMailingListRussian@forum.nginx.org> Через него rtmp и настроили. Проблема в том что софт в другом филиале только rtsp принимает, и надо именно rtsp прокидывать Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270588,270592#msg-270592 From maxim на nginx.com Thu Oct 27 11:30:11 2016 From: maxim на nginx.com (Maxim Konovalov) Date: Thu, 27 Oct 2016 14:30:11 +0300 Subject: NGINX rtsp In-Reply-To: <0a09a6f227404603ac5a7f3bea6c094c.NginxMailingListRussian@forum.nginx.org> References: <0a09a6f227404603ac5a7f3bea6c094c.NginxMailingListRussian@forum.nginx.org> Message-ID: <26e002a8-4e90-e7c3-e040-b67a6feb7630@nginx.com> On 10/27/16 2:16 PM, maks_it wrote: > Через него rtmp и настроили. Проблема в том что софт в другом филиале только > rtsp принимает, и надо именно rtsp прокидывать > Еще одним ffmpeg снять с nginx по rtmp и опубликовать по rtsp? -- Maxim Konovalov From nginx-forum на forum.nginx.org Thu Oct 27 12:32:35 2016 From: nginx-forum на forum.nginx.org (migosm) Date: Thu, 27 Oct 2016 08:32:35 -0400 Subject: NGINX rtsp In-Reply-To: <26e002a8-4e90-e7c3-e040-b67a6feb7630@nginx.com> References: <26e002a8-4e90-e7c3-e040-b67a6feb7630@nginx.com> Message-ID: <56318d76094c6bc1b9a1bbd827bd637c.NginxMailingListRussian@forum.nginx.org> Кстати да, можно заюзать exec_push - https://github.com/arut/nginx-rtmp-module/wiki/Directives#exec_push. Прям вот с нужными переменными Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270588,270594#msg-270594 From alex.hha на gmail.com Thu Oct 27 13:58:19 2016 From: alex.hha на gmail.com (Alex Domoradov) Date: Thu, 27 Oct 2016 16:58:19 +0300 Subject: =?UTF-8?B?UmU6IGRlYnVnINCy0LXRgNGB0LjRjyBuZ2lueCAxLjguMSDQtNC70Y8gVWJ1bnR1?= =?UTF-8?B?IDEyLjA0?= In-Reply-To: <1675333.CC0oAUlLxV@vbart-laptop> References: <1781161.P4kjCASXL9@note> <1675333.CC0oAUlLxV@vbart-laptop> Message-ID: Нет, ибо nginx собран с патчем - http://nginx.org/download/patch.2016.write2.txt :) 2016-10-27 14:08 GMT+03:00 Валентин Бартенев : > On Thursday 27 October 2016 13:49:25 Alex Domoradov wrote: > > На проде стоит 1.8.1. Обновлять как то особого желания нет. Просто > смутило > > то, что например для centos 6 есть таки debug версия - > > nginx-debug-1.8.0-1.el6.ngx.x86_64.rpm, но при этом ее нет для 1.8.1 :) > > Наличие известной уязвимости в 1.8.1 не смущает? > http://mailman.nginx.org/pipermail/nginx-ru-announce/2016/000179.html > > -- > Валентин Бартенев > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на forum.nginx.org Thu Oct 27 22:09:47 2016 From: nginx-forum на forum.nginx.org (ngnx8810773a83) Date: Thu, 27 Oct 2016 18:09:47 -0400 Subject: nginx image resizer && gd 2.2.3 In-Reply-To: References: Message-ID: никто image_filter с прозрачными гифками не использует похоже.. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270293,270606#msg-270606 From borepstein на gmail.com Mon Oct 31 22:43:12 2016 From: borepstein на gmail.com (Boris Epstein) Date: Mon, 31 Oct 2016 18:43:12 -0400 Subject: Drupal+nginx: Multibyte string problem In-Reply-To: References: Message-ID: Вот задокументировал решение по-английские. Может, кому пригодится. http://technonutsnbolts.blogspot.com/2016/10/nginx-drupal-and-mbstring-major-mess.html 2016-08-05 5:19 GMT-04:00 Boris Epstein : > Это-то я давно сделал, в нескольких вариантах - но с нулевым результатом. > По следующей причине - там mbstring-модуль отсутствовал вообще. Установил > его: > > yum install php55w-mbstring > > и все пошло. Подсказка где-то была, уже не помню где. > > И таки да, уровень упорина у друпальщиков довольно высокий - они > жаловались на неправильную работу модуля, к > > > > 2016-08-03 17:26 GMT-04:00 Yuriy Medvedev : > >> Настраиваем в соответствии с http://php.net/manual/en/mbstr >> ing.configuration.php#ini.mbstring.http-input >> То есть должно быть значение pass. Перезапускаем php-fpm >> >> 3 авг. 2016 г. 23:41 пользователь "Boris Epstein" >> написал: >> >> Да вроде ищет-то правильно, но не считывает: >>> >>> http://borisepstein.info/php.php >>> >>> Тут тоже какая-то заморочка. >>> >>> 2016-08-03 14:28 GMT-04:00 Alex Domoradov : >>> >>>> Как минимум в выводе phpinfo() будет видно где он ищет ini и какие >>>> подгрузил >>>> >>>> 2016-08-03 20:34 GMT+03:00 Yuriy Medvedev : >>>> >>>>> Вообще /etc/php(5)/fpm там обычно. Либо в пуле переопределить. На >>>>> крайней случай срашивать на форумах по пхп >>>>> >>>>> Отправлено с моего ASUS >>>>> >>>>> -------- Исходное сообщение -------- >>>>> Отправитель:Boris Epstein >>>>> Отправленные:Wed, 03 Aug 2016 20:26:59 +0400 >>>>> Получатель:nginx-ru на nginx.org >>>>> Тема:Re: Drupal+nginx: Multibyte string problem >>>>> >>>>> Ага, спасибо - я это и пытался сделать, кучей способов, но пока >>>>> бестолку, А где этот отдельный php.ini должен быть для php-fpm? У меня есть >>>>> только общий почему-то: тот который /etc/php.ini >>>>> >>>>> 2016-08-03 12:17 GMT-04:00 Yuriy Medvedev : >>>>> >>>>>> Так же можете сделать ансет для переменной >>>>>> https://www.drupal.org/node/207287 >>>>>> >>>>>> 3 авг. 2016 г. 20:16 пользователь "Yuriy Medvedev" < >>>>>> medvedev.yp на gmail.com> написал: >>>>>> >>>>>> У php-fpm отдельный PHP.ini >>>>>>> >>>>>>> 3 авг. 2016 г. 20:15 пользователь "Boris Epstein" < >>>>>>> borepstein на gmail.com> написал: >>>>>>> >>>>>>>> Использую. >>>>>>>> >>>>>>>> Пытался сеттинги в настройках php-fpm изменить в >>>>>>>> /etc/php-fpm.d/conf.d/nginx.conf Но, похоже, эффект от этого был >>>>>>>> просто никакой. >>>>>>>> >>>>>>>> Борис. >>>>>>>> >>>>>>>> 2016-08-03 12:11 GMT-04:00 Yuriy Medvedev : >>>>>>>> >>>>>>>>> Здравствуйте, используете php-fpm? >>>>>>>>> >>>>>>>>> 3 авг. 2016 г. 20:01 пользователь "Boris Epstein" < >>>>>>>>> borepstein на gmail.com> написал: >>>>>>>>> >>>>>>>>>> Доброго времени суток! >>>>>>>>>> >>>>>>>>>> У меня Drupal требует следующего: >>>>>>>>>> >>>>>>>>>> Multibyte string input conversion in PHP is active and must be >>>>>>>>>> disabled. Check the php.ini mbstring.http_input setting. Please refer to >>>>>>>>>> the PHP mbstring documentation for more information. >>>>>>>>>> >>>>>>>>>> Я уже чего только не перепробовал, чтобы поменять mbstring >>>>>>>>>> сеттинги - и пока бестолку. Кто-нибудь с этим сталкивался? Drupal 8, PHP >>>>>>>>>> 5.5, nginx 1.6.3. >>>>>>>>>> >>>>>>>>>> Заранее спасибо:) >>>>>>>>>> >>>>>>>>>> Борис. >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> nginx-ru mailing list >>>>>>>>>> nginx-ru на nginx.org >>>>>>>>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >>>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> nginx-ru mailing list >>>>>>>>> nginx-ru на nginx.org >>>>>>>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> nginx-ru mailing list >>>>>>>> nginx-ru на nginx.org >>>>>>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >>>>>>>> >>>>>>> >>>>>> _______________________________________________ >>>>>> nginx-ru mailing list >>>>>> nginx-ru на nginx.org >>>>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >>>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> nginx-ru mailing list >>>>> nginx-ru на nginx.org >>>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >>>>> >>>> >>>> >>>> _______________________________________________ >>>> nginx-ru mailing list >>>> nginx-ru на nginx.org >>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >>>> >>> >>> >>> _______________________________________________ >>> nginx-ru mailing list >>> nginx-ru на nginx.org >>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >>> >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: