From nginx на mva.name Tue Aug 1 13:19:48 2017 From: nginx на mva.name (Vadim A. Misbakh-Soloviov) Date: Tue, 01 Aug 2017 20:19:48 +0700 Subject: =?UTF-8?Q?arut/nginx-python-module_=D0=B8_django?= Message-ID: <3986314.pTOW5BlneP@note> Всем привет. Я тут обнаружил довольно интересную штуку, запиленную Ромой Арутюняном: https://github.com/arut/nginx-python-module Впилил её в свой ebuild NginX'а и решил потестировать. Возникла мысль попробовать завести под ним Django (чтобы наконец выкинуть богомерзкий Passenger). И что-то как ни кручу, не могу скрестить ужа с ежом :( Никто доселе не пытался повторить подвиг? // Ну, или если сам Рома будет проходить мимо - я бы и от него ответ был бы рад услышать тоже :) From nginx-forum на forum.nginx.org Tue Aug 1 13:30:57 2017 From: nginx-forum на forum.nginx.org (Vladimir Koshelev) Date: Tue, 01 Aug 2017 09:30:57 -0400 Subject: =?UTF-8?B?0JDQstGC0L7RgNC40LfQsNGG0LjRjyDRgdC+0LXQtNC40L3QtdC90LjRjw==?= Message-ID: Добрый день! Я пробую написать модуль для авторизации клиента с помощью подзапроса, включающего данные из клиентского сертификата. Результат подзапроса содержит токен, на основе которого и принимается решение. Выполнять подзапрос для каждого запроса накладно. поэтому я хотел бы выполнять его только для первого запроса или сразу после TLS handshake и кэшировать для данного соединения. Возможно ли это? Заранее спасибо, Владимир Posted at Nginx Forum: https://forum.nginx.org/read.php?21,275781,275781#msg-275781 From nginx-forum на forum.nginx.org Tue Aug 1 17:43:52 2017 From: nginx-forum на forum.nginx.org (vitcool) Date: Tue, 01 Aug 2017 13:43:52 -0400 Subject: =?UTF-8?B?0L/RgNC+0LHQtdC70Ysg0LIg0L/QtdGA0LXQvNC10L3QvdC+0LkgJHVyaQ==?= Message-ID: вот такой локейшен замечательно работает только если в $uri нет символа "пробел" location ~* \.(jpg|jpeg|png|bmp)$ { proxy_pass http://127.0.0.1:8080/image/transform/resize?width=$arg_width&height=$arg_height&scale=$arg_scale&source=http://www.domain.com$uri; это баг ? нет никакой возможности повлиять на содержимое uri , там могут быть как пробелы так и русские буквы Posted at Nginx Forum: https://forum.nginx.org/read.php?21,275786,275786#msg-275786 From coddoc на mail.ru Thu Aug 3 09:15:16 2017 From: coddoc на mail.ru (=?UTF-8?B?Q29ERG9D?=) Date: Thu, 03 Aug 2017 12:15:16 +0300 Subject: =?UTF-8?B?0JfQsNGG0LjQutC70LjQstCw0L3QuNC1INC90LAg0YDQtdC00LjRgNC10LrRgtC1?= Message-ID: <1501751716.861071367@f375.i.mail.ru> Доброго дня сообществу! Прошу совета по проблеме. Собственно, редирект с www на https без-www server {     #1 http to https without www     listen 1.2.3.4:80;     server_name www.test.com test.com;     rewrite ^ https://test.com$request_uri? permanent; } server {     #2 https with www to https without www     listen 1.2.3.4:443 ssl;     server_name www.test.com;     rewrite ^ https://test.com$request_uri? permanent; } server {     #3 https without www     listen 1.2.3.4:443 ssl;     server_name test.com;     ... } Насколько я понял из документации (http://nginx.org/ru/docs/http/ngx_http_core_module.html#var_host), переменная $host принимает значения "в порядке приоритета: имя хоста из строки запроса, или имя хоста из поля Host заголовка запроса, или имя сервера, соответствующего запросу" Судя по логам, это не совсем так. По крайней мере, в моем случае (nginx/1.10.2), переменная $host получает имя хоста из строки запроса только если не указано поле host заголовка. Т.е. обрабатывается ситуация с HTTP/1.0, без $http_host в заголовке. Но если в заголовке задать какое-то (любое) значение $http_host, это же значение получает и $host. Далее (http://nginx.org/ru/docs/http/request_processing.html): nginx "сопоставляет значение поля Host заголовка запроса с директивами server_name в блоках server, которые соответствуют IP-адресу и порту". Т.е. все-таки $http_host. А туда можно прописать что угодно. Я не рассматриваю сейчас ситуацию, когда в $http_host прописано имя, не совпадающее с перечисленными в server_name. Это все благополучно фильтруется и отправляется на 444. Также, я не рассматриваю браузеры, которые отправляют правильный $http_host и получают правильные редиректы. Вот такой случай: curl -ILH 'Host: www.test.com' https://test.com Если бы переменная $host получила значение в порядке приоритета, оно было бы test.com (имя хоста из строки запроса). Тогда можно было бы реализовать такой костыль, как фильтрация по условию "$host не равно $http_host". Но в запросе присутствует заголовок host, и обе переменные $host и $http_host получают одно и то же значение www.test.com , отфильтровать невозможно. Имя www.test.com перечислено в server_name, в итоге такой запрос успешно проходит фильтрацию. После сопоставления значения $http_host с server_name, nginx отправляет запрос в секцию 2, откуда возвращается 301 и новый location https://test.com , т.е. на выходе получаем тот же самый запрос (curl -ILH 'Host: www.test.com' https://test.com) и, естесвенно, зацикливание на второй секции: curl -ILH 'Host: www.test.com' https://test.com HTTP/1.1 301 Moved Permanently .......... Location: https://test.com/ HTTP/1.1 301 Moved Permanently .......... Location: https://test.com/ .......... Это баг или фича? Или я что-то делаю не так? Как это побороть? Спасибо. -- ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From alex на vorona.com.ua Thu Aug 3 12:45:45 2017 From: alex на vorona.com.ua (Alex Vorona) Date: Thu, 3 Aug 2017 15:45:45 +0300 Subject: =?UTF-8?B?UmU6INC/0YDQvtCx0LXQu9GLINCyINC/0LXRgNC10LzQtdC90L3QvtC5ICR1cmk=?= In-Reply-To: References: Message-ID: <783d4a06-bbed-6496-415f-1632d4895e63@vorona.com.ua> Hello, 01.08.17 20:43, vitcool wrote: > вот такой локейшен замечательно работает только если в $uri нет символа > "пробел" > > location ~* \.(jpg|jpeg|png|bmp)$ { > proxy_pass http://127.0.0.1:8080/image/transform/resize?width=$arg_width&height=$arg_height&scale=$arg_scale&source=http://www.domain.com$uri; > > это баг ? нет никакой возможности повлиять на содержимое uri , там могут > быть как пробелы так и русские буквы Обычно в таких случаях рекомендуют передавать на бекенд значение отдельным заголовком через proxy_set_header, а не как часть URL. proxy_set_header X-Original-URI-with-args $request_uri; proxy_set_header X-Normalized-URI $uri; -- Regards, Alex Vorona From nginx-forum на forum.nginx.org Thu Aug 3 17:31:48 2017 From: nginx-forum на forum.nginx.org (vitcool) Date: Thu, 03 Aug 2017 13:31:48 -0400 Subject: =?UTF-8?B?UmU6INC/0YDQvtCx0LXQu9GLINCyINC/0LXRgNC10LzQtdC90L3QvtC5ICR1cmk=?= In-Reply-To: <783d4a06-bbed-6496-415f-1632d4895e63@vorona.com.ua> References: <783d4a06-bbed-6496-415f-1632d4895e63@vorona.com.ua> Message-ID: <455b5c6d9114946bf430e97fe6117f0f.NginxMailingListRussian@forum.nginx.org> за идею спасибо. рабочая. но придется бекенд допилить чтобы сначала читал хидеры, и только потом get параметры. но это лучше чем ничего вопрос правда остался открытым. почему такое поведение? даже эскейпинг (%20 вместо пробелов) не помогает. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,275786,275836#msg-275836 From alstpostbox на gmail.com Fri Aug 4 05:59:57 2017 From: alstpostbox на gmail.com (Andrey Istochkin) Date: Fri, 4 Aug 2017 08:59:57 +0300 Subject: =?UTF-8?B?UmU6INC/0YDQvtCx0LXQu9GLINCyINC/0LXRgNC10LzQtdC90L3QvtC5ICR1cmk=?= In-Reply-To: <455b5c6d9114946bf430e97fe6117f0f.NginxMailingListRussian@forum.nginx.org> References: <783d4a06-bbed-6496-415f-1632d4895e63@vorona.com.ua> <455b5c6d9114946bf430e97fe6117f0f.NginxMailingListRussian@forum.nginx.org> Message-ID: $uri содержит строку запроса в нормализованном виде(после url-декодирования). Попробуйте передавать $request_uri, это исходная строка запроса. Она, правда, содержит аргументы, но избавиться от них на уровне бэкенда, или даже nginx'а(с помощью map, например), довольно просто. четверг, 3 августа 2017 г. пользователь vitcool написал: > за идею спасибо. рабочая. но придется бекенд допилить чтобы сначала читал > хидеры, и только потом get параметры. но это лучше чем ничего > > вопрос правда остался открытым. почему такое поведение? даже эскейпинг (%20 > вместо пробелов) не помогает. > > Posted at Nginx Forum: https://forum.nginx.org/read. > php?21,275786,275836#msg-275836 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From alstpostbox на gmail.com Fri Aug 4 06:21:44 2017 From: alstpostbox на gmail.com (Andrey Istochkin) Date: Fri, 4 Aug 2017 09:21:44 +0300 Subject: =?UTF-8?B?UmU6INC/0YDQvtCx0LXQu9GLINCyINC/0LXRgNC10LzQtdC90L3QvtC5ICR1cmk=?= In-Reply-To: References: <783d4a06-bbed-6496-415f-1632d4895e63@vorona.com.ua> <455b5c6d9114946bf430e97fe6117f0f.NginxMailingListRussian@forum.nginx.org> Message-ID: Нет, к сожалению, то, что показалось рабочим на первый взгляд, работать не будет :/ Map не поможет, и передача уже кодированных параметров тоже плохая идея. пятница, 4 августа 2017 г. пользователь Andrey Istochkin написал: > $uri содержит строку запроса в нормализованном виде(после > url-декодирования). Попробуйте передавать $request_uri, это исходная > строка запроса. Она, правда, содержит аргументы, но избавиться от них на > уровне бэкенда, или даже nginx'а(с помощью map, например), довольно просто. > > четверг, 3 августа 2017 г. пользователь vitcool написал: > >> за идею спасибо. рабочая. но придется бекенд допилить чтобы сначала читал >> хидеры, и только потом get параметры. но это лучше чем ничего >> >> вопрос правда остался открытым. почему такое поведение? даже эскейпинг >> (%20 >> вместо пробелов) не помогает. >> >> Posted at Nginx Forum: https://forum.nginx.org/read.p >> hp?21,275786,275836#msg-275836 >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From alstpostbox на gmail.com Fri Aug 4 07:40:28 2017 From: alstpostbox на gmail.com (Andrey Istochkin) Date: Fri, 4 Aug 2017 10:40:28 +0300 Subject: =?UTF-8?B?UmU6INC/0YDQvtCx0LXQu9GLINCyINC/0LXRgNC10LzQtdC90L3QvtC5ICR1cmk=?= In-Reply-To: References: <783d4a06-bbed-6496-415f-1632d4895e63@vorona.com.ua> <455b5c6d9114946bf430e97fe6117f0f.NginxMailingListRussian@forum.nginx.org> Message-ID: А если подумать проснувшись, то вариант с map'ом все же рабочий: map $request_uri $request_uri_noargs { "~(?[^\?]+)(\?\.+)?" "$uri_noargs"; } proxy_pass http://127.0.0.1:8080?source=$request_uri_noargs; 4 августа 2017 г., 9:21 пользователь Andrey Istochkin написал: > Нет, к сожалению, то, что показалось рабочим на первый взгляд, работать не > будет :/ Map не поможет, и передача уже кодированных параметров тоже плохая > идея. > > пятница, 4 августа 2017 г. пользователь Andrey Istochkin написал: > > $uri содержит строку запроса в нормализованном виде(после >> url-декодирования). Попробуйте передавать $request_uri, это исходная >> строка запроса. Она, правда, содержит аргументы, но избавиться от них на >> уровне бэкенда, или даже nginx'а(с помощью map, например), довольно просто. >> >> четверг, 3 августа 2017 г. пользователь vitcool написал: >> >>> за идею спасибо. рабочая. но придется бекенд допилить чтобы сначала читал >>> хидеры, и только потом get параметры. но это лучше чем ничего >>> >>> вопрос правда остался открытым. почему такое поведение? даже эскейпинг >>> (%20 >>> вместо пробелов) не помогает. >>> >>> Posted at Nginx Forum: https://forum.nginx.org/read.p >>> hp?21,275786,275836#msg-275836 >>> >>> _______________________________________________ >>> nginx-ru mailing list >>> nginx-ru на nginx.org >>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> >> ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на forum.nginx.org Fri Aug 4 08:36:54 2017 From: nginx-forum на forum.nginx.org (vitcool) Date: Fri, 04 Aug 2017 04:36:54 -0400 Subject: =?UTF-8?B?UmU6INC/0YDQvtCx0LXQu9GLINCyINC/0LXRgNC10LzQtdC90L3QvtC5ICR1cmk=?= In-Reply-To: References: Message-ID: спасибо за отклик, на мап тоже смотрел, но не успел разобраться с ним в сжатые сроки в итоге переделал бекенд остался правда маленький штрих, сразу на уровне этого фронта замапить в его локейшене ситуации 1. строка с аргументами - бекенд №1 (ресайзинг и оптимизация с запросом исходника у бекенда №2) 2. строка без аргументов - бекенд №2 (другой nginx тупо отдающий статику) Posted at Nginx Forum: https://forum.nginx.org/read.php?21,275786,275847#msg-275847 From nginx-forum на forum.nginx.org Fri Aug 4 10:31:41 2017 From: nginx-forum на forum.nginx.org (marston.lorenz) Date: Fri, 04 Aug 2017 06:31:41 -0400 Subject: =?UTF-8?B?0J3QsNGB0LvQtdC00L7QstCw0L3QuNC1INC00LjRgNC10LrRgtC40LI=?= Message-ID: <7f965fd79a687c32bab58e3079a5df6c.NginxMailingListRussian@forum.nginx.org> Подскажите пожалуйста, как происходит наследование директив: proxy_read_timeout proxy_connect_timeout proxy_send_timeout client_header_timeout В основном конфиге вписаны переопределённые параметры для этих директив, но при этом один Я получаю отлуп по значению по умолчанию (60 секунд), хотя все переопределённые timeout сильно отличны от значений по умолчанию. Хочу понять как происходит наследование для локейшеном этих параметров Posted at Nginx Forum: https://forum.nginx.org/read.php?21,275849,275849#msg-275849 From nginx-forum на forum.nginx.org Fri Aug 4 11:00:51 2017 From: nginx-forum на forum.nginx.org (marston.lorenz) Date: Fri, 04 Aug 2017 07:00:51 -0400 Subject: =?UTF-8?B?UmU6INCd0LDRgdC70LXQtNC+0LLQsNC90LjQtSDQtNC40YDQtdC60YLQuNCy?= In-Reply-To: <7f965fd79a687c32bab58e3079a5df6c.NginxMailingListRussian@forum.nginx.org> References: <7f965fd79a687c32bab58e3079a5df6c.NginxMailingListRussian@forum.nginx.org> Message-ID: Также не понятно В каких единицах по умолчанию задаёться время таймаута если явно не указывать формат: proxy_read_timeout 100; ---- не понятно proxy_read_timeout 100s; ---- 100 секунд Posted at Nginx Forum: https://forum.nginx.org/read.php?21,275849,275851#msg-275851 From rogat1y на gmail.com Fri Aug 4 13:06:56 2017 From: rogat1y на gmail.com (Maxim K) Date: Fri, 4 Aug 2017 16:06:56 +0300 Subject: =?UTF-8?B?UmU6INCd0LDRgdC70LXQtNC+0LLQsNC90LjQtSDQtNC40YDQtdC60YLQuNCy?= In-Reply-To: References: <7f965fd79a687c32bab58e3079a5df6c.NginxMailingListRussian@forum.nginx.org> Message-ID: Также не понятно > В каких единицах по умолчанию задаёться время таймаута если явно не > указывать формат: > > proxy_read_timeout 100; ---- не понятно > proxy_read_timeout 100s; ---- 100 секунд > http://nginx.org/ru/docs/syntax.html ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From sargaskn на gmail.com Fri Aug 4 22:17:14 2017 From: sargaskn на gmail.com (Sargas) Date: Sat, 5 Aug 2017 01:17:14 +0300 Subject: =?UTF-8?B?UmU6INCd0LDRgdC70LXQtNC+0LLQsNC90LjQtSDQtNC40YDQtdC60YLQuNCy?= In-Reply-To: References: <7f965fd79a687c32bab58e3079a5df6c.NginxMailingListRussian@forum.nginx.org> Message-ID: >http://nginx.org/ru/docs/syntax.html Значение без суффикса задаёт секунды 4 августа 2017 г., 16:06 пользователь Maxim K написал: > Также не понятно > >> В каких единицах по умолчанию задаёться время таймаута если явно не >> указывать формат: >> >> proxy_read_timeout 100; ---- не понятно >> proxy_read_timeout 100s; ---- 100 секунд >> > > http://nginx.org/ru/docs/syntax.html > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From vbart на nginx.com Sat Aug 5 18:46:20 2017 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Sat, 05 Aug 2017 21:46:20 +0300 Subject: =?UTF-8?B?UmU6INCX0LDRhtC40LrQu9C40LLQsNC90LjQtSDQvdCwINGA0LXQtNC40YDQtdC6?= =?UTF-8?B?0YLQtQ==?= In-Reply-To: <1501751716.861071367@f375.i.mail.ru> References: <1501751716.861071367@f375.i.mail.ru> Message-ID: <3422846.aOcBKZUcDJ@vbart-laptop> On Thursday 03 August 2017 12:15:16 CoDDoC wrote: [..] > Судя по логам, это не совсем так. > По крайней мере, в моем случае (nginx/1.10.2), переменная $host получает имя хоста из строки запроса только если не указано поле host заголовка. Т.е. обрабатывается ситуация с HTTP/1.0, без $http_host в заголовке. Но если в заголовке задать какое-то (любое) значение $http_host, это же значение получает и $host. > > Далее (http://nginx.org/ru/docs/http/request_processing.html): nginx "сопоставляет значение поля Host заголовка запроса с директивами server_name в блоках server, которые соответствуют IP-адресу и порту". Т.е. все-таки $http_host. А туда можно прописать что угодно. > Я не рассматриваю сейчас ситуацию, когда в $http_host прописано имя, не совпадающее с перечисленными в server_name. Это все благополучно фильтруется и отправляется на 444. Также, я не рассматриваю браузеры, которые отправляют правильный $http_host и получают правильные редиректы. > > Вот такой случай: > curl -ILH 'Host: www.test.com' https://test.com > > Если бы переменная $host получила значение в порядке приоритета, оно было бы test.com (имя хоста из строки запроса). Тогда можно было бы реализовать такой костыль, как фильтрация по условию "$host не равно $http_host". Но в запросе присутствует заголовок host, и обе переменные $host и $http_host получают одно и то же значение www.test.com , отфильтровать невозможно. Вы видимо ошибочно считаете, что данная команда curl в качестве строки запроса передает "https://test.com". Нет, curl в данном случае в строке запроса передает "/". Чтобы увидеть, что конкретно посылает curl на сервер, можно добавить опцию "-v". -- Валентин Бартенев From coddoc на mail.ru Mon Aug 7 06:01:39 2017 From: coddoc на mail.ru (=?UTF-8?B?Q29ERG9D?=) Date: Mon, 07 Aug 2017 09:01:39 +0300 Subject: =?UTF-8?B?UmVbMl06INCX0LDRhtC40LrQu9C40LLQsNC90LjQtSDQvdCwINGA0LXQtNC40YA=?= =?UTF-8?B?0LXQutGC0LU=?= In-Reply-To: <3422846.aOcBKZUcDJ@vbart-laptop> References: <1501751716.861071367@f375.i.mail.ru> <3422846.aOcBKZUcDJ@vbart-laptop> Message-ID: <1502085699.318039418@f383.i.mail.ru> Спасибо. Только Вы говорите об URI "/", а вопрос был об URL, точнее - о зацикливании, связанном с неправильной (ИМХО) интерпретацией в ngx переменной $host. Как она ДОЛЖНА обрабатываться - сказано в доке, что имеем ПО ФАКТУ - в моем примере. Добавление опции -v, по сути, ничего не меняет. Разве что лишний раз убедиться, что при редиректе передается заголовок HOST. Тема уже поднималась, в частности, здесь (  http://mailman.nginx.org/pipermail/nginx-ru/2014-June/054083.html ) довольно обширная дискуссия. Но там все достаточно просто, речь идет о явно невалидных запросах, которые можно и нужно фильтровать. Я же несколько усложнил задачу и привел пример псевдо-валидного запроса, который отфильтровать невозможно. И до тех пор, пока проблема с переменной $host не будет решена, такое зацикливание неизбежно. Так что вопрос больше к разработчикам. >Суббота, 5 августа 2017, 21:46 +03:00 от Валентин Бартенев < vbart на nginx.com >: > >On Thursday 03 August 2017 12:15:16 CoDDoC wrote: >[..] >> Судя по логам, это не совсем так. >> По крайней мере, в моем случае (nginx/1.10.2), переменная $host получает имя хоста из строки запроса только если не указано поле host заголовка. Т.е. обрабатывается ситуация с HTTP/1.0, без $http_host в заголовке. Но если в заголовке задать какое-то (любое) значение $http_host, это же значение получает и $host. >> >> Далее ( http://nginx.org/ru/docs/http/request_processing.html ): nginx "сопоставляет значение поля Host заголовка запроса с директивами server_name в блоках server, которые соответствуют IP-адресу и порту". Т.е. все-таки $http_host. А туда можно прописать что угодно. >> Я не рассматриваю сейчас ситуацию, когда в $http_host прописано имя, не совпадающее с перечисленными в server_name. Это все благополучно фильтруется и отправляется на 444. Также, я не рассматриваю браузеры, которые отправляют правильный $http_host и получают правильные редиректы. >> >> Вот такой случай: >> curl -ILH 'Host: www.test.com ' https://test.com >> >> Если бы переменная $host получила значение в порядке приоритета, оно было бы test.com (имя хоста из строки запроса). Тогда можно было бы реализовать такой костыль, как фильтрация по условию "$host не равно $http_host". Но в запросе присутствует заголовок host, и обе переменные $host и $http_host получают одно и то же значение www.test.com , отфильтровать невозможно. > > > >Вы видимо ошибочно считаете, что данная команда curl в качестве строки запроса >передает " https://test.com ". > >Нет, curl в данном случае в строке запроса передает "/". > >Чтобы увидеть, что конкретно посылает curl на сервер, можно добавить опцию "-v". > >-- >Валентин Бартенев >_______________________________________________ >nginx-ru mailing list >nginx-ru на nginx.org >http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From vbart на nginx.com Mon Aug 7 10:25:32 2017 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Mon, 07 Aug 2017 13:25:32 +0300 Subject: =?UTF-8?B?UmU6INCX0LDRhtC40LrQu9C40LLQsNC90LjQtSDQvdCwINGA0LXQtNC40YDQtdC6?= =?UTF-8?B?0YLQtQ==?= In-Reply-To: <1502085699.318039418@f383.i.mail.ru> References: <1501751716.861071367@f375.i.mail.ru> <3422846.aOcBKZUcDJ@vbart-laptop> <1502085699.318039418@f383.i.mail.ru> Message-ID: <22105670.XFmH0rFWhN@vbart-laptop> On Monday 07 August 2017 09:01:39 CoDDoC wrote: > > Спасибо. > > Только Вы говорите об URI "/", а вопрос был об URL, точнее - о зацикливании, связанном с неправильной (ИМХО) интерпретацией в ngx переменной $host. Как она ДОЛЖНА обрабатываться - сказано в доке, что имеем ПО ФАКТУ - в моем примере. Ещё раз. Вы неправильно интерпретируете команду curl, отсюда и считаете, что поведение nginx отличается от описанного в документации. Ваш пример неверен. И далее на этом неверном предположении строите все остальные выводы. Вы пишите: | Вот такой случай: | curl -ILH 'Host: www.test.com' https://test.com | | Если бы переменная $host получила значение в порядке приоритета, оно было бы test.com (имя хоста из строки запроса). Нет не было бы. Потому что в строке запроса, которую отправляет данная команда curl нет "test.com". Там нет вообще хоста. -- Валентин Бартенев From vbart на nginx.com Mon Aug 7 10:37:06 2017 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Mon, 07 Aug 2017 13:37:06 +0300 Subject: =?UTF-8?B?UmU6INCX0LDRhtC40LrQu9C40LLQsNC90LjQtSDQvdCwINGA0LXQtNC40YDQtdC6?= =?UTF-8?B?0YLQtQ==?= In-Reply-To: <22105670.XFmH0rFWhN@vbart-laptop> References: <1501751716.861071367@f375.i.mail.ru> <1502085699.318039418@f383.i.mail.ru> <22105670.XFmH0rFWhN@vbart-laptop> Message-ID: <1545577.4PB2NHpHLn@vbart-laptop> On Monday 07 August 2017 13:25:32 Валентин Бартенев wrote: > On Monday 07 August 2017 09:01:39 CoDDoC wrote: > > > > Спасибо. > > > > Только Вы говорите об URI "/", а вопрос был об URL, точнее - о зацикливании, связанном с неправильной (ИМХО) интерпретацией в ngx переменной $host. Как она ДОЛЖНА обрабатываться - сказано в доке, что имеем ПО ФАКТУ - в моем примере. > > Ещё раз. Вы неправильно интерпретируете команду curl, отсюда и считаете, > что поведение nginx отличается от описанного в документации. Ваш пример > неверен. > > И далее на этом неверном предположении строите все остальные выводы. > > Вы пишите: > > | Вот такой случай: > | curl -ILH 'Host: www.test.com' https://test.com > | > | Если бы переменная $host получила значение в порядке приоритета, оно было бы test.com (имя хоста из строки запроса). > > Нет не было бы. Потому что в строке запроса, которую отправляет данная > команда curl нет "test.com". Там нет вообще хоста. > [..] Вот наглядный пример, всё работает как описано в документации и должно быть по RFC: % netcat nginx.org 80 HEAD http://nginx.org/ HTTP/1.1 Host: www.nginx.org HTTP/1.1 200 OK Server: nginx/1.13.3 Date: Mon, 07 Aug 2017 10:34:37 GMT Content-Type: text/html; charset=utf-8 Content-Length: 6680 Last-Modified: Tue, 11 Jul 2017 15:45:07 GMT Connection: keep-alive Keep-Alive: timeout=15 ETag: "5964f283-1a18" Accept-Ranges: bytes HEAD / HTTP/1.1 Host: www.nginx.org HTTP/1.1 301 Moved Permanently Server: nginx/1.13.3 Date: Mon, 07 Aug 2017 10:34:53 GMT Content-Type: text/html Content-Length: 185 Connection: keep-alive Keep-Alive: timeout=15 Location: http://nginx.org/ From nginx-forum на forum.nginx.org Mon Aug 7 11:30:15 2017 From: nginx-forum на forum.nginx.org (d.sibilkov) Date: Mon, 07 Aug 2017 07:30:15 -0400 Subject: =?UTF-8?B?0J/RgNC+0LHQu9C10LzRiyDRgSBwcm94eSBjb25uZWN0IHRpbWVvdXQ=?= Message-ID: <6f9715520d37e07fb420adcbff287430.NginxMailingListRussian@forum.nginx.org> Всем привет, не могу понять некоторые аспекты директивы proxy_connect_timeout из ngx_stream_proxy_module и ngx_http_proxy_module, это по сути одна директива которая всегда работает по одному принципу? почему она входит в состав двух различных модулей? Опишу сложившуюся ситуацию: есть 2 сервера (соответственно 2 адреса), на каждом крутится несколько бэкендов, у каждого бэкенда свой порт который он слушает (около пяти портов на адресе). Организована балансировка без весов с помощью least_conn подобным образом: upstream backend_service { least_conn; server backend-server1.vds.com:7000 max_fails=1 fail_timeout=5; server backend-server1.vds.com:7001 max_fails=1 fail_timeout=5; server backend-server2.vds.com:7000 max_fails=1 fail_timeout=5; server backend-server2.vds.com:7001 max_fails=1 fail_timeout=5; Бэкенды крутятся как сервисы systemd и в силу различных причин такое иногда бывает что один из сервисов может упасть и не подняться, или может потребуется его остановить. Дело в том, что в такой ситуации балансировщик кидает пользователя на апстрим, который в момент запроса лежит, при этом сам сервер на котором крутится бэкенд работает и порт для бэкенда открыт, соответственно proxy_connect_timeout почему-то не срабатывает, видимо его волнует лишь доступность сервера и открыт ли порт, а что там дальше -нет. Соответственно при запросе пользователь ждет 60с, которые выставлены по умолчанию в proxy_read_timeout, апстрим маркируется как упавший, отрабатывает fail_timeout=5 и все по-новой, а наша цель перекинуть пользователя на рабочий бэкенд как только понятно что тот к которому он пытается подключиться лежит. Возникает вопрос - это нормальное поведение? Есть-ли способы разрешить мою ситуацию без сложных костылей? И да, выставить значение proxy_read_timeout поменьше я не могу - нужно учитывать низкое качество соединения у пользователя, и низкое значение этой директивы может его просто зациклить в перекидывании туда-сюда (или нет?). Спасибо. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,275892,275892#msg-275892 From coddoc на mail.ru Mon Aug 7 12:26:11 2017 From: coddoc на mail.ru (=?UTF-8?B?Q29ERG9D?=) Date: Mon, 07 Aug 2017 15:26:11 +0300 Subject: =?UTF-8?B?UmVbMl06INCX0LDRhtC40LrQu9C40LLQsNC90LjQtSDQvdCwINGA0LXQtNC40YA=?= =?UTF-8?B?0LXQutGC0LU=?= In-Reply-To: <1545577.4PB2NHpHLn@vbart-laptop> References: <1501751716.861071367@f375.i.mail.ru> <22105670.XFmH0rFWhN@vbart-laptop> <1545577.4PB2NHpHLn@vbart-laptop> Message-ID: <1502108771.523773681@f429.i.mail.ru> Ну, хорошо. Пусть в моем примере вообще нет хоста. Тогда что такое https://test.com ? Давайте назовем строкой запроса, суть проблемы от этого не меняется. В документации так: " $host             в порядке приоритета: имя хоста из строки запроса, или имя хоста из поля “Host” заголовка запроса.....," Объясните мне, пожалуйста, что понимать как "имя хоста из строки запроса" и "имя хоста из поля “Host” заголовка запроса". Желательно с примером для курла, как особо одаренному. Далее, Вы приводите пример с netcat. Аналогично можно использовать telnet. Только ведь после получения Location ему нужно следовать. Полученный Location: http://nginx.org/ куда возвращает? На HEAD http://nginx.org/ HTTP/1.1. То же самое, только не вводить построчно: curl -ILH 'Host: www.nginx.org' https://nginx.org/   И точно такое же зацикливание. Пусть мои примеры неверны. Но работают, и приводят к зацикливанию при псевдо-валидном запросе. По большому счету, меня интересует только, как это побороть. >Понедельник, 7 августа 2017, 13:37 +03:00 от Валентин Бартенев : > >On Monday 07 August 2017 13:25:32 Валентин Бартенев wrote: >> On Monday 07 August 2017 09:01:39 CoDDoC wrote: >> > >> > Спасибо. >> > >> > Только Вы говорите об URI "/", а вопрос был об URL, точнее - о зацикливании, связанном с неправильной (ИМХО) интерпретацией в ngx переменной $host. Как она ДОЛЖНА обрабатываться - сказано в доке, что имеем ПО ФАКТУ - в моем примере. >> >> Ещё раз. Вы неправильно интерпретируете команду curl, отсюда и считаете, >> что поведение nginx отличается от описанного в документации. Ваш пример >> неверен. >> >> И далее на этом неверном предположении строите все остальные выводы. >> >> Вы пишите: >> >> | Вот такой случай: >> | curl -ILH 'Host: www.test.com ' https://test.com >> | >> | Если бы переменная $host получила значение в порядке приоритета, оно было бы test.com (имя хоста из строки запроса). >> >> Нет не было бы. Потому что в строке запроса, которую отправляет данная >> команда curl нет "test.com". Там нет вообще хоста. >> >[..] > > >Вот наглядный пример, всё работает как описано >в документации и должно быть по RFC: > > >% netcat nginx.org 80 >HEAD http://nginx.org/ HTTP/1.1 >Host: www.nginx.org > >HTTP/1.1 200 OK >Server: nginx/1.13.3 >Date: Mon, 07 Aug 2017 10:34:37 GMT >Content-Type: text/html; charset=utf-8 >Content-Length: 6680 >Last-Modified: Tue, 11 Jul 2017 15:45:07 GMT >Connection: keep-alive >Keep-Alive: timeout=15 >ETag: "5964f283-1a18" >Accept-Ranges: bytes > >HEAD / HTTP/1.1 >Host: www.nginx.org > >HTTP/1.1 301 Moved Permanently >Server: nginx/1.13.3 >Date: Mon, 07 Aug 2017 10:34:53 GMT >Content-Type: text/html >Content-Length: 185 >Connection: keep-alive >Keep-Alive: timeout=15 >Location: http://nginx.org/ > >_______________________________________________ >nginx-ru mailing list >nginx-ru на nginx.org >http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на forum.nginx.org Mon Aug 7 12:32:24 2017 From: nginx-forum на forum.nginx.org (marston.lorenz) Date: Mon, 07 Aug 2017 08:32:24 -0400 Subject: =?UTF-8?B?UmU6INCd0LDRgdC70LXQtNC+0LLQsNC90LjQtSDQtNC40YDQtdC60YLQuNCy?= In-Reply-To: References: Message-ID: <47e19f6bc65995f2332a04297de38609.NginxMailingListRussian@forum.nginx.org> С форматом time без указание единиц понятно. А что насчёт наследования директив ? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,275849,275896#msg-275896 From mdounin на mdounin.ru Mon Aug 7 12:53:22 2017 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 7 Aug 2017 15:53:22 +0300 Subject: =?UTF-8?B?UmU6INCQ0LLRgtC+0YDQuNC30LDRhtC40Y8g0YHQvtC10LTQuNC90LXQvdC40Y8=?= In-Reply-To: References: Message-ID: <20170807125321.GX93611@mdounin.ru> Hello! On Tue, Aug 01, 2017 at 09:30:57AM -0400, Vladimir Koshelev wrote: > Я пробую написать модуль для авторизации клиента с помощью подзапроса, > включающего данные из клиентского сертификата. Результат подзапроса содержит > токен, на основе которого и принимается решение. Выполнять подзапрос для > каждого запроса накладно. поэтому я хотел бы выполнять его только для > первого запроса или сразу после TLS handshake и кэшировать для данного > соединения. Возможно ли это? Закешировать что-то в рамках конкретного соединения можно с помощью cleanup-обработчиков пула соединения. Пример можно посмотреть в модуле ngx_http_realip_module, там подобный приём применяется для сохранения контекста модуля даже в случае внутрениих перенаправлений запроса. Но вообще я бы рекомендовал не изобретать велосипед, а взять auth_request, http://nginx.org/en/docs/http/ngx_http_auth_request_module.html. И использовать обычное кеширование, если обращение к бекенду накладно. -- Maxim Dounin http://nginx.org/ From vbart на nginx.com Mon Aug 7 13:12:23 2017 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Mon, 07 Aug 2017 16:12:23 +0300 Subject: =?UTF-8?B?UmU6INCX0LDRhtC40LrQu9C40LLQsNC90LjQtSDQvdCwINGA0LXQtNC40YDQtdC6?= =?UTF-8?B?0YLQtQ==?= In-Reply-To: <1502108771.523773681@f429.i.mail.ru> References: <1501751716.861071367@f375.i.mail.ru> <1545577.4PB2NHpHLn@vbart-laptop> <1502108771.523773681@f429.i.mail.ru> Message-ID: <17885702.ZIDyHlTlJO@vbart-workstation> On Monday 07 August 2017 15:26:11 CoDDoC wrote: > Ну, хорошо. Пусть в моем примере вообще нет хоста. > Тогда что такое https://test.com ? Давайте назовем строкой запроса, суть проблемы от этого не меняется. В вашем примере это аргумент командной строки, который не участвует в запросе. В строке запроса он не передается. > В документации так: > " $host > в порядке приоритета: имя хоста из строки запроса, или имя хоста из поля “Host” заголовка запроса.....," > > Объясните мне, пожалуйста, что понимать как "имя хоста из строки запроса" и "имя хоста из поля “Host” заголовка запроса". > Желательно с примером для курла, как особо одаренному. Что такое строка запроса описано в RFC: https://tools.ietf.org/html/rfc7230#section-3.1.1 Пример с curl: $ curl -ILH 'Host: www.nginx.org' -x http://nginx.org:80/ http://nginx.org/ > > Далее, Вы приводите пример с netcat. Аналогично можно использовать telnet. > Только ведь после получения Location ему нужно следовать. Полученный Location: http://nginx.org/ куда возвращает? На HEAD http://nginx.org/ HTTP/1.1. Первый пример netcat как раз содержит http://nginx.org/ в строке запроса и как вы можете наблюдать - редиректа нет. Второй пример не содержит в строке запроса хоста, а в заголовке Host содержится www.nginx.org и происходит редирект. > > То же самое, только не вводить построчно: > > curl -ILH 'Host: www.nginx.org' https://nginx.org/ > > И точно такое же зацикливание. В данном случае отправляет запрос только с www.nginx.org в заголовке Host и отсутствием хоста в строке запроса. Так работает curl. Зацикливания происходит только потому, что вы сами заставили curl постоянно отправлять запрос с Host: www.nginx.org, о чем предупреждает документация: man curl: -H, --header
WARNING: headers set with this option will be set in all requests - even after redirects are followed, like when told with -L, --location. This can lead to the header being sent to other hosts than the origi‐ nal host, so sensitive headers should be used with caution combined with following redirects. Если вы укажите заголовок Host так, как это правильно для curl, то никаких проблем нет: curl -IL https://www.nginx.org/ > Пусть мои примеры неверны. Но работают, и приводят к зацикливанию при псевдо-валидном запросе. Ваши примеры демонстрируют неправильное использование команды curl, о чем вас предупреждает документация. > По большому счету, меня интересует только, как это побороть. > Использовать curl правильно. -- Валентин Бартенев From arut на nginx.com Mon Aug 7 13:48:04 2017 From: arut на nginx.com (Roman Arutyunyan) Date: Mon, 7 Aug 2017 16:48:04 +0300 Subject: =?UTF-8?Q?Re=3A_arut/nginx-python-module_=D0=B8_django?= In-Reply-To: <3986314.pTOW5BlneP@note> References: <3986314.pTOW5BlneP@note> Message-ID: <20170807134804.GA17868@Romans-MacBook-Air.local> Добрый день, Вадим. On Tue, Aug 01, 2017 at 08:19:48PM +0700, Vadim A. Misbakh-Soloviov wrote: > Всем привет. > Я тут обнаружил довольно интересную штуку, запиленную Ромой Арутюняном: > https://github.com/arut/nginx-python-module > Впилил её в свой ebuild NginX'а и решил потестировать. Возникла мысль > попробовать завести под ним Django (чтобы наконец выкинуть богомерзкий > Passenger). > > И что-то как ни кручу, не могу скрестить ужа с ежом :( > Никто доселе не пытался повторить подвиг? > > // Ну, или если сам Рома будет проходить мимо - я бы и от него ответ был бы > рад услышать тоже :) Цели заводить Django под python-module изначально не стояло. Но я посмотрю что можно сделать. -- Roman Arutyunyan From nginx-forum на forum.nginx.org Mon Aug 7 13:50:49 2017 From: nginx-forum на forum.nginx.org (Oval) Date: Mon, 07 Aug 2017 09:50:49 -0400 Subject: =?UTF-8?B?bmdpbngvMS4xMy4wIEhUVFAvMiDQvdC1INC+0YLQtNCw0Y7RgtGB0Y8g0YHRgtGA?= =?UTF-8?B?0LDQvdC40YbRiw==?= Message-ID: настроена связка wordpress и nginx в такой сборке: https://pastebin.com/BjmVyjuk без директивы http2 сайт работает нормально, с ней в сафари не грузится совсем, в хроме выдает ошибку ERR_SPDY_COMPRESSION_ERROR отладочный лог с директивой http2 https://pastebin.com/SvZ6piNQ Posted at Nginx Forum: https://forum.nginx.org/read.php?21,275904,275904#msg-275904 From mdounin на mdounin.ru Mon Aug 7 14:08:43 2017 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 7 Aug 2017 17:08:43 +0300 Subject: =?UTF-8?B?UmU6INCd0LDRgdC70LXQtNC+0LLQsNC90LjQtSDQtNC40YDQtdC60YLQuNCy?= In-Reply-To: <47e19f6bc65995f2332a04297de38609.NginxMailingListRussian@forum.nginx.org> References: <47e19f6bc65995f2332a04297de38609.NginxMailingListRussian@forum.nginx.org> Message-ID: <20170807140843.GC93611@mdounin.ru> Hello! On Mon, Aug 07, 2017 at 08:32:24AM -0400, marston.lorenz wrote: > А что насчёт наследования директив ? С наследованием директив действует общее правило: значение наследуется с предыдущего уровня, если оно не преопределено на данном уровне. -- Maxim Dounin http://nginx.org/ From mdounin на mdounin.ru Mon Aug 7 14:39:44 2017 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 7 Aug 2017 17:39:44 +0300 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80Ysg0YEgcHJveHkgY29ubmVjdCB0aW1lb3V0?= In-Reply-To: <6f9715520d37e07fb420adcbff287430.NginxMailingListRussian@forum.nginx.org> References: <6f9715520d37e07fb420adcbff287430.NginxMailingListRussian@forum.nginx.org> Message-ID: <20170807143943.GD93611@mdounin.ru> Hello! On Mon, Aug 07, 2017 at 07:30:15AM -0400, d.sibilkov wrote: > Всем привет, не могу понять некоторые аспекты директивы > proxy_connect_timeout из ngx_stream_proxy_module и ngx_http_proxy_module, > это по сути одна директива которая всегда работает по одному принципу? > почему она входит в состав двух различных модулей? Модули ngx_stream_proxy_module и ngx_http_proxy_module - это два совершенно разных модуля, и каждый имеет свои собственные конфигурационные директивы. Иногда они похожи, иногда - нет. > Опишу сложившуюся ситуацию: есть 2 сервера (соответственно 2 адреса), на > каждом крутится несколько бэкендов, у каждого бэкенда свой порт который он > слушает (около пяти портов на адресе). Организована балансировка без весов с > помощью least_conn подобным образом: > upstream backend_service { > least_conn; > server backend-server1.vds.com:7000 max_fails=1 fail_timeout=5; > server backend-server1.vds.com:7001 max_fails=1 fail_timeout=5; > server backend-server2.vds.com:7000 max_fails=1 fail_timeout=5; > server backend-server2.vds.com:7001 max_fails=1 fail_timeout=5; > > Бэкенды крутятся как сервисы systemd и в силу различных причин такое иногда > бывает что один из сервисов может упасть и не подняться, или может > потребуется его остановить. Дело в том, что в такой ситуации балансировщик > кидает пользователя на апстрим, который в момент запроса лежит, при этом сам > сервер на котором крутится бэкенд работает и порт для бэкенда открыт, > соответственно proxy_connect_timeout почему-то не срабатывает, видимо его > волнует лишь доступность сервера и открыт ли порт, а что там дальше -нет. > Соответственно при запросе пользователь ждет 60с, которые выставлены по > умолчанию в proxy_read_timeout, апстрим маркируется как упавший, > отрабатывает fail_timeout=5 и все по-новой, а наша цель перекинуть > пользователя на рабочий бэкенд как только понятно что тот к которому он > пытается подключиться лежит. > Возникает вопрос - это нормальное поведение? Есть-ли способы разрешить мою > ситуацию без сложных костылей? Для начала стоит разобраться в том, почему "упавший" бекенд продолжает принимать соединения. И сделать так, чтобы не продолжал. Потому что подобным образом "упавший" бекенд ничем, собственно, не отличается от медленно работающего бекенда, и нет ничего удивительного в том, что нагрузку ему будут продолжать наливать на общих основаниях. Ну и очевидно, что если у вас бекенды падают, и детектирование упавшего бекенда знимает 60 секунд, уменьшать fail_timeout до 5 секунд несколько, как бы это сказать, расточительно. Наоборот, стоит поднять до каких-либо сравнимых значений. > И да, выставить значение proxy_read_timeout поменьше я не могу - нужно > учитывать низкое качество соединения у пользователя, и низкое значение этой > директивы может его просто зациклить в перекидывании туда-сюда (или нет?). > Спасибо. Нет. Качество соединения у пользователя не влияет на работу proxy_read_timeout. Соответствующий таймаут срабатывает тогда и только тогда, когда nginx ждёт данных от бекенда, и за заданное время никакие данные не приходят. То есть он может сработать когда бекенд, скажем, занят обработкой сложного запроса и ничего не возвращает в ответ (например, какой-нибудь phpmyadmin восстанавливает базу из бекапа), но не будет срабатывать, если клиент не успевает читать ответ и nginx вынужден ждать, чтобы отправить данные клиенту. -- Maxim Dounin http://nginx.org/ From vbart на nginx.com Mon Aug 7 16:39:02 2017 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Mon, 07 Aug 2017 19:39:02 +0300 Subject: =?UTF-8?B?UmU6IG5naW54LzEuMTMuMCBIVFRQLzIg0L3QtSDQvtGC0LTQsNGO0YLRgdGPINGB?= =?UTF-8?B?0YLRgNCw0L3QuNGG0Ys=?= In-Reply-To: References: Message-ID: <37556520.Q8pjjpj2K2@vbart-workstation> On Monday 07 August 2017 09:50:49 Oval wrote: > настроена связка wordpress и nginx в такой сборке: > https://pastebin.com/BjmVyjuk > > без директивы http2 сайт работает нормально, с ней в сафари не грузится > совсем, в хроме выдает ошибку ERR_SPDY_COMPRESSION_ERROR > > отладочный лог с директивой http2 > https://pastebin.com/SvZ6piNQ > Вопрос стоит задавать к авторам патчей для вот этого: --crossbuild=Linux::x86_64 Сам nginx тут не при чем. -- Валентин Бартенев From alex.hha на gmail.com Mon Aug 7 18:38:05 2017 From: alex.hha на gmail.com (Alex Domoradov) Date: Mon, 7 Aug 2017 21:38:05 +0300 Subject: =?UTF-8?Q?Re=3A_arut/nginx-python-module_=D0=B8_django?= In-Reply-To: <20170807134804.GA17868@Romans-MacBook-Air.local> References: <3986314.pTOW5BlneP@note> <20170807134804.GA17868@Romans-MacBook-Air.local> Message-ID: Аналогично, было бы полезно отказаться от пасенджера 2017-08-07 16:48 GMT+03:00 Roman Arutyunyan : > Добрый день, Вадим. > > On Tue, Aug 01, 2017 at 08:19:48PM +0700, Vadim A. Misbakh-Soloviov wrote: > > Всем привет. > > Я тут обнаружил довольно интересную штуку, запиленную Ромой Арутюняном: > > https://github.com/arut/nginx-python-module > > Впилил её в свой ebuild NginX'а и решил потестировать. Возникла мысль > > попробовать завести под ним Django (чтобы наконец выкинуть богомерзкий > > Passenger). > > > > И что-то как ни кручу, не могу скрестить ужа с ежом :( > > Никто доселе не пытался повторить подвиг? > > > > // Ну, или если сам Рома будет проходить мимо - я бы и от него ответ был > бы > > рад услышать тоже :) > > Цели заводить Django под python-module изначально не стояло. > Но я посмотрю что можно сделать. > > -- > Roman Arutyunyan > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From vbart на nginx.com Mon Aug 7 18:48:31 2017 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Mon, 07 Aug 2017 21:48:31 +0300 Subject: =?UTF-8?Q?Re=3A_arut/nginx-python-module_=D0=B8_django?= In-Reply-To: References: <3986314.pTOW5BlneP@note> <20170807134804.GA17868@Romans-MacBook-Air.local> Message-ID: <1666912.IEyn18a9lE@vbart-workstation> On Monday 07 August 2017 21:38:05 Alex Domoradov wrote: > Аналогично, было бы полезно отказаться от пасенджера > [..] Passenger - это не просто запускатор python, это ещё и менеджер процессов. А Django зачастую используется совместно c работающими в блокирующем режиме модулями баз данных, что недопустимо в рамках рабочего процесса nginx. -- Валентин Бартенев From nginx-forum на forum.nginx.org Mon Aug 7 22:54:07 2017 From: nginx-forum на forum.nginx.org (z6464) Date: Mon, 07 Aug 2017 18:54:07 -0400 Subject: =?UTF-8?B?0KPRgdC70L7QstC40LUg0LjQu9C4?= Message-ID: Подскажите как в этом примере сделать чтобы срабатывало или первое условие или второе if ($request_method = GET) { set $test A; } if ($http_cookie !~* "auth_token") { set $test "${test}B"; } if ($test = AB) { return 418; } Posted at Nginx Forum: https://forum.nginx.org/read.php?21,275920,275920#msg-275920 From skobolo на gmail.com Mon Aug 7 22:55:59 2017 From: skobolo на gmail.com (Seva Kobylin) Date: Tue, 8 Aug 2017 01:55:59 +0300 Subject: =?UTF-8?B?UmU6INCj0YHQu9C+0LLQuNC1INC40LvQuA==?= In-Reply-To: References: Message-ID: Как вариант: if ($request_method = GET) { set $test A; } if ($http_cookie !~* "auth_token") { set $test A; } if ($test = A) { return 418; } ? > 8 авг. 2017 г., в 1:54, z6464 написал(а): > > Подскажите как в этом примере сделать чтобы срабатывало или первое условие > или второе > if ($request_method = GET) { > set $test A; > } > > if ($http_cookie !~* "auth_token") { > set $test "${test}B"; > } > > if ($test = AB) { > return 418; > } > > Posted at Nginx Forum: https://forum.nginx.org/read.php?21,275920,275920#msg-275920 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From coddoc на mail.ru Tue Aug 8 05:11:32 2017 From: coddoc на mail.ru (=?UTF-8?B?Q29ERG9D?=) Date: Tue, 08 Aug 2017 08:11:32 +0300 Subject: =?UTF-8?B?UmVbMl06INCX0LDRhtC40LrQu9C40LLQsNC90LjQtSDQvdCwINGA0LXQtNC40YA=?= =?UTF-8?B?0LXQutGC0LU=?= In-Reply-To: <17885702.ZIDyHlTlJO@vbart-workstation> References: <1501751716.861071367@f375.i.mail.ru> <1502108771.523773681@f429.i.mail.ru> <17885702.ZIDyHlTlJO@vbart-workstation> Message-ID: <1502169092.820802824@f466.i.mail.ru> А вот интересно, от ботов тоже будем требовать соблюдения RFC? Я воспроизвел ситуацию, как создать бесполезную нагрузку на сервер при бесконечном редиректе. Правильно я делаю запрос или нет - в данном случае не важно. Важно то, что оно работает, и у сервера нет встроенных средств для корректной обработки такой ситуации. По большому счету, это называется уязвимостью. Дальше. господа разрабы, решать вам. Закрыть проблему или оставить все как есть и подождать, пока эту уязвимость начнут эксплуатировать. Засим позволю себе откланяться, поскольку не имею времени продолжать бессмысленную дискуссию. Спасибо. >Понедельник, 7 августа 2017, 16:12 +03:00 от Валентин Бартенев : > >On Monday 07 August 2017 15:26:11 CoDDoC wrote: >> Ну, хорошо. Пусть в моем примере вообще нет хоста. >> Тогда что такое https://test.com ? Давайте назовем строкой запроса, суть >проблемы от этого не меняется. > >В вашем примере это аргумент командной строки, который не участвует в запросе. >В строке запроса он не передается. > > >> В документации так: >> " $host >> в порядке приоритета: имя хоста из строки запроса, или имя хоста >из поля “Host” заголовка запроса.....," >> >> Объясните мне, пожалуйста, что понимать как "имя хоста из строки запроса" и >"имя хоста из поля “Host” заголовка запроса". >> Желательно с примером для курла, как особо одаренному. > >Что такое строка запроса описано в RFC: >https://tools.ietf.org/html/rfc7230#section-3.1.1 > >Пример с curl: > >$ curl -ILH 'Host: www.nginx.org ' -x http://nginx.org:80/ http://nginx.org/ > > >> >> Далее, Вы приводите пример с netcat. Аналогично можно использовать telnet. >> Только ведь после получения Location ему нужно следовать. Полученный >Location: http://nginx.org/ куда возвращает? На HEAD http://nginx.org/ >HTTP/1.1. > >Первый пример netcat как раз содержит http://nginx.org/ в строке запроса >и как вы можете наблюдать - редиректа нет. > >Второй пример не содержит в строке запроса хоста, а в заголовке Host >содержится www.nginx.org и происходит редирект. > > >> >> То же самое, только не вводить построчно: >> >> curl -ILH 'Host: www.nginx.org ' https://nginx.org/ >> >> И точно такое же зацикливание. > >В данном случае отправляет запрос только с www.nginx.org в заголовке Host >и отсутствием хоста в строке запроса. Так работает curl. > >Зацикливания происходит только потому, что вы сами заставили curl >постоянно отправлять запрос с Host: www.nginx.org , о чем предупреждает >документация: > > >man curl: > >       -H, --header
> >              WARNING: headers set with this option will be set in >              all requests - even after redirects are followed, >              like when told with -L, --location. This can lead to >              the header being sent to other hosts than the origi‐ >              nal host, so sensitive headers should be used with >              caution combined with following redirects. > > > >Если вы укажите заголовок Host так, как это правильно для curl, >то никаких проблем нет: > > curl -IL https://www.nginx.org/ > > >> Пусть мои примеры неверны. Но работают, и приводят к зацикливанию при >псевдо-валидном запросе. > >Ваши примеры демонстрируют неправильное использование команды curl, >о чем вас предупреждает документация. > >> По большому счету, меня интересует только, как это побороть. >> > >Использовать curl правильно. > >-- >Валентин Бартенев >_______________________________________________ >nginx-ru mailing list >nginx-ru на nginx.org >http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From vadim.lazovskiy на gmail.com Tue Aug 8 06:37:44 2017 From: vadim.lazovskiy на gmail.com (Vadim Lazovskiy) Date: Tue, 8 Aug 2017 09:37:44 +0300 Subject: =?UTF-8?B?UmU6INCj0YHQu9C+0LLQuNC1INC40LvQuA==?= In-Reply-To: References: Message-ID: Здравствуйте. Можно сделать через map. Не проверял, но наверное сработает: map $request_method$cookie_auth_token $redirect { "~^GET.+" 1; default 0; } ... if ($redirect) { return 418; } В случае непустой куки строка $request_method$cookie_auth_token смапится в единицу. 8 августа 2017 г., 1:54 пользователь z6464 написал: > Подскажите как в этом примере сделать чтобы срабатывало или первое условие > или второе > if ($request_method = GET) { > set $test A; > } > > if ($http_cookie !~* "auth_token") { > set $test "${test}B"; > } > > if ($test = AB) { > return 418; > } > > Posted at Nginx Forum: https://forum.nginx.org/read. > php?21,275920,275920#msg-275920 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- WBR, Vadim Lazovskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From gmm на csdoc.com Tue Aug 8 07:49:10 2017 From: gmm на csdoc.com (Gena Makhomed) Date: Tue, 8 Aug 2017 10:49:10 +0300 Subject: =?UTF-8?B?UmU6INCj0YHQu9C+0LLQuNC1INC40LvQuA==?= In-Reply-To: References: Message-ID: <1b913cba-bd04-ce49-0d19-f4f68e46be6f@csdoc.com> On 08.08.2017 1:54, z6464 wrote: > Подскажите как в этом примере сделать чтобы срабатывало или первое условие > или второе set $condition 0; if ( $request_method = GET ) { set $condition 1; } if ( $http_cookie !~* "auth_token" ) { set $condition 1; } if ( $condition ) { return 418; } -- Best regards, Gena From nginx-forum на forum.nginx.org Tue Aug 8 08:40:27 2017 From: nginx-forum на forum.nginx.org (leonid_belkind) Date: Tue, 08 Aug 2017 04:40:27 -0400 Subject: =?UTF-8?B?0JTQuNC90LDQvNC40YfQtdGB0LrQuNC5IENSTCDQtNC70Y8gU1NMINGB0LXRgNGC?= =?UTF-8?B?0LjRhNC40LrQsNGC0L7QsiAi0LrQu9C40LXQvdGC0L7QsiI=?= Message-ID: <593b4641a9c36e29d2c3a1b79b032427.NginxMailingListRussian@forum.nginx.org> Уважемые коллеги, Мы пытаемся создать конфигурацию NGINX для проверки сертификатов "клиентов". Кофигурация работает, но единственный способ передать информацию об отозванном сертификате это CRL файл. В нашем случае это очень проблематично, поскольку у нас прокси разбросан в контейнерах находящихся в разных ЦОДах. Если работать с файлами, то нужно будет их копировать на все хосты, и потом перезагружать конфигурацию NGINX. Есть ли более удобный способ? OCSP Stapling для cертификатов клиента не поддерживается, на сколько я понимаю. Можно ли каким-то образом поймать этот flow и изменить поведение? Заранее благодарен, Леонид Posted at Nginx Forum: https://forum.nginx.org/read.php?21,275927,275927#msg-275927 From alex.hha на gmail.com Tue Aug 8 09:22:30 2017 From: alex.hha на gmail.com (Alex Domoradov) Date: Tue, 8 Aug 2017 12:22:30 +0300 Subject: =?UTF-8?B?UmU6INCU0LjQvdCw0LzQuNGH0LXRgdC60LjQuSBDUkwg0LTQu9GPIFNTTCDRgdC1?= =?UTF-8?B?0YDRgtC40YTQuNC60LDRgtC+0LIgItC60LvQuNC10L3RgtC+0LIi?= In-Reply-To: <593b4641a9c36e29d2c3a1b79b032427.NginxMailingListRussian@forum.nginx.org> References: <593b4641a9c36e29d2c3a1b79b032427.NginxMailingListRussian@forum.nginx.org> Message-ID: > Если работать с файлами, то нужно будет их копировать на все хосты, и потом перезагружать конфигурацию NGINX для такого рода задач давно придумали ansible и т.п. утилиты. В чем проблема? 2017-08-08 11:40 GMT+03:00 leonid_belkind : > Уважемые коллеги, > > Мы пытаемся создать конфигурацию NGINX для проверки сертификатов > "клиентов". > Кофигурация работает, но единственный способ передать информацию об > отозванном сертификате это CRL файл. > В нашем случае это очень проблематично, поскольку у нас прокси разбросан в > контейнерах находящихся в разных ЦОДах. Если работать с файлами, то нужно > будет их копировать на все хосты, и потом перезагружать конфигурацию NGINX. > Есть ли более удобный способ? OCSP Stapling для cертификатов клиента не > поддерживается, на сколько я понимаю. Можно ли каким-то образом поймать > этот > flow и изменить поведение? > > Заранее благодарен, > Леонид > > Posted at Nginx Forum: https://forum.nginx.org/read. > php?21,275927,275927#msg-275927 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx на kinetiksoft.com Tue Aug 8 09:57:55 2017 From: nginx на kinetiksoft.com (=?utf-8?B?0JjQstCw0L0=?=) Date: Tue, 08 Aug 2017 12:57:55 +0300 Subject: =?UTF-8?B?UmU6INCX0LDRhtC40LrQu9C40LLQsNC90LjQtSDQvdCwINGA0LXQtNC40YDQtdC6?= =?UTF-8?B?0YLQtQ==?= In-Reply-To: <1502169092.820802824@f466.i.mail.ru> References: <1501751716.861071367@f375.i.mail.ru> <17885702.ZIDyHlTlJO@vbart-workstation> <1502169092.820802824@f466.i.mail.ru> Message-ID: <2878107.d6Mkgo2I3r@cybernote> Здравствуйте! Бесполезная нагрузка на сервер создается не более, чем от множественных запросов к серверу. Проблема не в сервере, а в неправильном понимании Вами стандарта. Уязвимости никакой нет, что Вам и пытались показать. С уважением, Иван. В письме от 8 августа 2017 08:11:32 пользователь CoDDoC написал: > А вот интересно, от ботов тоже будем требовать соблюдения RFC? > Я воспроизвел ситуацию, как создать бесполезную нагрузку на сервер при > бесконечном редиректе. Правильно я делаю запрос или нет - в данном случае > не важно. Важно то, что оно работает, и у сервера нет встроенных средств > для корректной обработки такой ситуации. По большому счету, это называется > уязвимостьвю. Дальше. господа разрабы, решать вам. Закрыть проблему или > оставить все как есть и подождать, пока эту уязвимость начнут > эксплуатировать. > > Засим позволю себе откланяться, поскольку не имею времени продолжать > бессмысленную дискуссию. Спасибо. > > >Понедельник, 7 августа 2017, 16:12 +03:00 от Валентин Бартенев > >:> > >On Monday 07 August 2017 15:26:11 CoDDoC wrote: > >> Ну, хорошо. Пусть в моем примере вообще нет хоста. > >> Тогда что такое https://test.com ? Давайте назовем строкой запроса, суть > > > >проблемы от этого не меняется. > > > >В вашем примере это аргумент командной строки, который не участвует в > >запросе. В строке запроса он не передается. > > > >> В документации так: > >> " $host > >> > >> в порядке приоритета: имя хоста из строки запроса, или имя > >> хоста > > > >из поля “Host” заголовка запроса.....," > > > >> Объясните мне, пожалуйста, что понимать как "имя хоста из строки запроса" > >> и > > > >"имя хоста из поля “Host” заголовка запроса". > > > >> Желательно с примером для курла, как особо одаренному. > > > >Что такое строка запроса описано в RFC: > >https://tools.ietf.org/html/rfc7230#section-3.1.1 > > > >Пример с curl: > > > >$ curl -ILH 'Host: www.nginx.org ' -x http://nginx.org:80/ > >http://nginx.org/> > >> Далее, Вы приводите пример с netcat. Аналогично можно использовать > >> telnet. > >> Только ведь после получения Location ему нужно следовать. Полученный > > > >Location: http://nginx.org/ куда возвращает? На HEAD http://nginx.org/ > >HTTP/1.1. > > > >Первый пример netcat как раз содержит http://nginx.org/ в строке запроса > >и как вы можете наблюдать - редиректа нет. > > > >Второй пример не содержит в строке запроса хоста, а в заголовке Host > >содержится www.nginx.org и происходит редирект. > > > >> То же самое, только не вводить построчно: > >> > >> curl -ILH 'Host: www.nginx.org ' https://nginx.org/ > >> > >> И точно такое же зацикливание. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на forum.nginx.org Tue Aug 8 12:00:21 2017 From: nginx-forum на forum.nginx.org (leonid_belkind) Date: Tue, 08 Aug 2017 08:00:21 -0400 Subject: =?UTF-8?B?UmU6INCU0LjQvdCw0LzQuNGH0LXRgdC60LjQuSBDUkwg0LTQu9GPIFNTTCDRgdC1?= =?UTF-8?B?0YDRgtC40YTQuNC60LDRgtC+0LIgItC60LvQuNC10L3RgtC+0LIi?= In-Reply-To: References: Message-ID: <3e542361b84091c276b04eb471021aa9.NginxMailingListRussian@forum.nginx.org> Ansible и подобные утилиты хороши для "развёртки" продуктов. Оне не предназначены для использования как часть бэк-энда продукта. Это конечно можно сделать, но это просто не правильно. В нашем продукте, certificate revokation это часть стандартного функционала. Задача не автоматизировать копирование конфигурации, а, поскольку, в нашем случае, это не конфигурация а функционал, обеспечить это с нормальной логикой, например, поверх базы данных. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,275927,275934#msg-275934 From nginx-forum на forum.nginx.org Tue Aug 8 15:13:43 2017 From: nginx-forum на forum.nginx.org (d.sibilkov) Date: Tue, 08 Aug 2017 11:13:43 -0400 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80Ysg0YEgcHJveHkgY29ubmVjdCB0aW1lb3V0?= In-Reply-To: <20170807143943.GD93611@mdounin.ru> References: <20170807143943.GD93611@mdounin.ru> Message-ID: <90b577011199f3a44a195555aa7d31b8.NginxMailingListRussian@forum.nginx.org> >Модули ngx_stream_proxy_module и ngx_http_proxy_module - это два >совершенно разных модуля, и каждый имеет свои собственные >конфигурационные директивы. Как мне тогда понять какой proxy_connect_timeout я использую и в чем разница? >Для начала стоит разобраться в том, почему "упавший" бекенд >продолжает принимать соединения. И сделать так, чтобы не >продолжал. Он и не продолжает, просто сервер висит с открытым портом, если Вы зателнетитесь на любой открытый порт он соединение установит но данные никакие ходить не будут т.к. порт никто не слушает - сервис который должен слушать порт лежит. >Ну и очевидно, что если у вас бекенды падают, и детектирование >упавшего бекенда знимает 60 секунд, уменьшать fail_timeout до 5 >секунд несколько, как бы это сказать, расточительно. Наоборот, >стоит поднять до каких-либо сравнимых значений. Так вот мне и нужно чтобы это занимало не 60с (которые срабатывают по proxy_read_timeout) а как можно меньше. Я судя по всему чего-то не понимаю или мы просто о разных вещах говорим.. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,275907,275948#msg-275948 From mdounin на mdounin.ru Tue Aug 8 15:13:52 2017 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 8 Aug 2017 18:13:52 +0300 Subject: nginx-1.13.4 Message-ID: <20170808151352.GQ93611@mdounin.ru> Изменения в nginx 1.13.4 08.08.2017 *) Добавление: модуль ngx_http_mirror_module. *) Исправление: клиентские соединения могли сбрасываться при тестировании конфигурации, если использовался параметр reuseport директивы listen на Linux. *) Исправление: тело запроса могло быть недоступно в подзапросах, если оно было сохранено в файл и использовалось проксирование. *) Исправление: очистка кэша по max_size не работала на Windows. *) Исправление: любое выделение разделяемой памяти на Windows требовало 4096 байт памяти. *) Исправление: при использовании директивы zone в блоке upstream на Windows рабочий процесс мог завершаться аварийно. -- Maxim Dounin http://nginx.org/ From mdounin на mdounin.ru Tue Aug 8 15:43:09 2017 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 8 Aug 2017 18:43:09 +0300 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80Ysg0YEgcHJveHkgY29ubmVjdCB0aW1lb3V0?= In-Reply-To: <90b577011199f3a44a195555aa7d31b8.NginxMailingListRussian@forum.nginx.org> References: <20170807143943.GD93611@mdounin.ru> <90b577011199f3a44a195555aa7d31b8.NginxMailingListRussian@forum.nginx.org> Message-ID: <20170808154309.GS93611@mdounin.ru> Hello! On Tue, Aug 08, 2017 at 11:13:43AM -0400, d.sibilkov wrote: > >Модули ngx_stream_proxy_module и ngx_http_proxy_module - это два > >совершенно разных модуля, и каждый имеет свои собственные > >конфигурационные директивы. > > Как мне тогда понять какой proxy_connect_timeout я использую и в чем > разница? Модуль ngx_stream_proxy_module работает исключительно в блоке stream{}, и работает с произвольными соединениями. Модуль ngx_http_proxy_module - в блоке http{}, и имеет дело с http-запросами в рамках модуля http. Разница в том, что это два совершенно разных модуля, и в общем случае одинаковые директивы могут иметь совершенно разный смысл. Но, конечно, мы стараемся делать так, чтобы похожие директивы вели себя одинаково, и для proxy_connect_timeout это справедливо. > >Для начала стоит разобраться в том, почему "упавший" бекенд > >продолжает принимать соединения. И сделать так, чтобы не > >продолжал. > > Он и не продолжает, просто сервер висит с открытым портом, если Вы > зателнетитесь на любой открытый порт он соединение установит но данные > никакие ходить не будут т.к. порт никто не слушает - сервис который должен > слушать порт лежит. В том, что бекенд упал, а порт остался открытым - и есть проблема. В норме listen-сокет автоматически закрывается, если приложение, его открывшее, падает. И это позволяет детектировать падение бекенда на этапе установления соединения. Вероятно, первопричина проблемы в том, что вы пытаетесь использовать systemd. Который, в свою очередь, падение бекенда увидеть не даёт. Так жить можно, но только в отсутствии нагрузки, и когда ожидание таймауту на чтение - это нормально. Если же такое поведение начинает доставлять проблемы, то решений тут возможно два: - выкинуть systemd, чтобы он не скрывал от nginx'а, что происходит с реальным бекендом; - решать проблему в рамках systemd, и искать в нём соответствующий таймаут. > >Ну и очевидно, что если у вас бекенды падают, и детектирование > >упавшего бекенда знимает 60 секунд, уменьшать fail_timeout до 5 > >секунд несколько, как бы это сказать, расточительно. Наоборот, > >стоит поднять до каких-либо сравнимых значений. > > Так вот мне и нужно чтобы это занимало не 60с (которые срабатывают по > proxy_read_timeout) а как можно меньше. > Я судя по всему чего-то не понимаю или мы просто о разных вещах говорим.. Чтобы детектирование проблемы занимало меньше времени, нужно либо лечить бекенды (см. выше), либо уменьшать proxy_read_timeout. Других вариантов, по большому счёту, нет. Чтобы после детектирования проблемы минимизировать от неё ущерб - надо увеличивать fail_timeout, а не уменьшать, как сделали вы. -- Maxim Dounin http://nginx.org/ From sytar.alex на gmail.com Tue Aug 8 18:50:11 2017 From: sytar.alex на gmail.com (Aleksandr Sytar) Date: Tue, 8 Aug 2017 21:50:11 +0300 Subject: =?UTF-8?B?UmU6INCU0LjQvdCw0LzQuNGH0LXRgdC60LjQuSBDUkwg0LTQu9GPIFNTTCDRgdC1?= =?UTF-8?B?0YDRgtC40YTQuNC60LDRgtC+0LIgItC60LvQuNC10L3RgtC+0LIi?= In-Reply-To: <3e542361b84091c276b04eb471021aa9.NginxMailingListRussian@forum.nginx.org> References: <3e542361b84091c276b04eb471021aa9.NginxMailingListRussian@forum.nginx.org> Message-ID: Выкатка нового CLR по хостам разве не похожа на задачу деплоя? 8 августа 2017 г., 15:00 пользователь leonid_belkind < nginx-forum на forum.nginx.org> написал: > Ansible и подобные утилиты хороши для "развёртки" продуктов. > Оне не предназначены для использования как часть бэк-энда продукта. Это > конечно можно сделать, но это просто не правильно. > В нашем продукте, certificate revokation это часть стандартного > функционала. > Задача не автоматизировать копирование конфигурации, а, поскольку, в нашем > случае, это не конфигурация а функционал, обеспечить это с нормальной > логикой, например, поверх базы данных. > > Posted at Nginx Forum: https://forum.nginx.org/read. > php?21,275927,275934#msg-275934 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From chipitsine на gmail.com Wed Aug 9 05:59:17 2017 From: chipitsine на gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Wed, 9 Aug 2017 10:59:17 +0500 Subject: =?UTF-8?B?UmU6INCU0LjQvdCw0LzQuNGH0LXRgdC60LjQuSBDUkwg0LTQu9GPIFNTTCDRgdC1?= =?UTF-8?B?0YDRgtC40YTQuNC60LDRgtC+0LIgItC60LvQuNC10L3RgtC+0LIi?= In-Reply-To: <3e542361b84091c276b04eb471021aa9.NginxMailingListRussian@forum.nginx.org> References: <3e542361b84091c276b04eb471021aa9.NginxMailingListRussian@forum.nginx.org> Message-ID: 8 августа 2017 г., 17:00 пользователь leonid_belkind < nginx-forum на forum.nginx.org> написал: > Ansible и подобные утилиты хороши для "развёртки" продуктов. > вы, конечно, извините, но следуя вашей же логике ... рассылка по nginx касается, собственно, nginx. а у вас задача распространения файлов. > Оне не предназначены для использования как часть бэк-энда продукта. Это > конечно можно сделать, но это просто не правильно. > В нашем продукте, certificate revokation это часть стандартного > функционала. > Задача не автоматизировать копирование конфигурации, а, поскольку, в нашем > случае, это не конфигурация а функционал, обеспечить это с нормальной > логикой, например, поверх базы данных. > > Posted at Nginx Forum: https://forum.nginx.org/read. > php?21,275927,275934#msg-275934 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From ano на bestmx.net Wed Aug 9 06:28:35 2017 From: ano на bestmx.net (Andrey Oktyabrskiy) Date: Wed, 9 Aug 2017 09:28:35 +0300 Subject: =?UTF-8?B?UmU6INCU0LjQvdCw0LzQuNGH0LXRgdC60LjQuSBDUkwg0LTQu9GPIFNTTCDRgdC1?= =?UTF-8?B?0YDRgtC40YTQuNC60LDRgtC+0LIgItC60LvQuNC10L3RgtC+0LIi?= In-Reply-To: References: <3e542361b84091c276b04eb471021aa9.NginxMailingListRussian@forum.nginx.org> Message-ID: <7b2308a4-8593-7411-9696-a64332bcc4b5@bestmx.net> Илья Шипицин wrote: > Ansible и подобные утилиты хороши для "развёртки" продуктов. > вы, конечно, извините, но следуя вашей же логике ... рассылка по nginx > касается, собственно, nginx. а у вас задача распространения файлов. Обновление конфигурации nginx касается nginx непосредственно. From yorick на ya.ru Wed Aug 9 11:15:45 2017 From: yorick на ya.ru (Yury Lyakh) Date: Wed, 9 Aug 2017 13:15:45 +0200 Subject: =?UTF-8?B?0L7Qs9GA0LDQvdC40YfQtdC90LjQtSDRgNCw0LfQvNC10YDQsCDQvtGC0LLQtdGC?= =?UTF-8?B?0LAg0YEg0LHRjdC60LXQvdC00LAg0L/QviBDb250ZW50LUxlbmd0aCDQsiA=?= =?UTF-8?B?0L7RgtCy0LXRgtC1?= Message-ID: <84E205BC-1C91-4AE7-A15B-F14F12C7E126@ya.ru> День добрый, Хочется странного, ограничить размер ответа от бэкенда. Например, по заголовку Content-Length в ответе 1) пропускать ответы не более заданного размера (допустим 10M) 2) eсли заголовка в ответе нет или размер превышает заданный - дропать обработку запроса. Необходимо для борьбы с бесконечными видео ответами (заголовка нет, размер не известен, качаем гигабайты). Просмотрел документацию, похоже ничего подобного нет. Или пропустил? Может кто-то рассматривал подобную задачу? From mdounin на mdounin.ru Wed Aug 9 11:21:43 2017 From: mdounin на mdounin.ru (Maxim Dounin) Date: Wed, 9 Aug 2017 14:21:43 +0300 Subject: =?UTF-8?B?UmU6INC+0LPRgNCw0L3QuNGH0LXQvdC40LUg0YDQsNC30LzQtdGA0LAg0L7RgtCy?= =?UTF-8?B?0LXRgtCwINGBINCx0Y3QutC10L3QtNCwINC/0L4gQ29udGVudC1MZW5ndGgg?= =?UTF-8?B?0LIg0L7RgtCy0LXRgtC1?= In-Reply-To: <84E205BC-1C91-4AE7-A15B-F14F12C7E126@ya.ru> References: <84E205BC-1C91-4AE7-A15B-F14F12C7E126@ya.ru> Message-ID: <20170809112143.GA93611@mdounin.ru> Hello! On Wed, Aug 09, 2017 at 01:15:45PM +0200, Yury Lyakh wrote: > День добрый, > > Хочется странного, ограничить размер ответа от бэкенда. > > Например, по заголовку Content-Length в ответе > 1) пропускать ответы не более заданного размера (допустим 10M) > 2) eсли заголовка в ответе нет или размер превышает заданный - дропать обработку запроса. > > Необходимо для борьбы с бесконечными видео ответами (заголовка нет, размер не известен, качаем гигабайты). > > Просмотрел документацию, похоже ничего подобного нет. > > Или пропустил? Может кто-то рассматривал подобную задачу? Ничего подобного нет. Проще всего наверное пишется собственным фильтром - заголовок проверить в header-фильтре при возврате заголовков ответа, если его нет - считать размер ответа в body-фильтре и возвращать ошибку при превышении. А зачем, если не секрет? -- Maxim Dounin http://nginx.org/ From chipitsine на gmail.com Wed Aug 9 11:34:15 2017 From: chipitsine на gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Wed, 9 Aug 2017 16:34:15 +0500 Subject: =?UTF-8?B?UmU6INC+0LPRgNCw0L3QuNGH0LXQvdC40LUg0YDQsNC30LzQtdGA0LAg0L7RgtCy?= =?UTF-8?B?0LXRgtCwINGBINCx0Y3QutC10L3QtNCwINC/0L4gQ29udGVudC1MZW5ndGgg?= =?UTF-8?B?0LIg0L7RgtCy0LXRgtC1?= In-Reply-To: <84E205BC-1C91-4AE7-A15B-F14F12C7E126@ya.ru> References: <84E205BC-1C91-4AE7-A15B-F14F12C7E126@ya.ru> Message-ID: 9 августа 2017 г., 16:15 пользователь Yury Lyakh написал: > День добрый, > > Хочется странного, ограничить размер ответа от бэкенда. > > Например, по заголовку Content-Length в ответе > 1) пропускать ответы не более заданного размера (допустим 10M) > 2) eсли заголовка в ответе нет или размер превышает заданный - дропать > обработку запроса. > > Необходимо для борьбы с бесконечными видео ответами (заголовка нет, размер > не известен, качаем гигабайты). > видео имеют привычку качать через Range-запросы, кстати > > Просмотрел документацию, похоже ничего подобного нет. > > Или пропустил? Может кто-то рассматривал подобную задачу? > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From arozyev на nginx.com Wed Aug 9 12:46:04 2017 From: arozyev на nginx.com (Aziz Rozyev) Date: Wed, 9 Aug 2017 15:46:04 +0300 Subject: =?UTF-8?B?UmU6INCU0LjQvdCw0LzQuNGH0LXRgdC60LjQuSBDUkwg0LTQu9GPIFNTTCDRgdC1?= =?UTF-8?B?0YDRgtC40YTQuNC60LDRgtC+0LIgItC60LvQuNC10L3RgtC+0LIi?= In-Reply-To: <7b2308a4-8593-7411-9696-a64332bcc4b5@bestmx.net> References: <3e542361b84091c276b04eb471021aa9.NginxMailingListRussian@forum.nginx.org> <7b2308a4-8593-7411-9696-a64332bcc4b5@bestmx.net> Message-ID: <946A66BB-6CDA-4367-97A3-61496D3EB902@nginx.com> Леонид, а вам не подходит вариант с auth_request и дополнительным скриптом? что-то такое: location / { auth_request /auth-proxy; add_header X-Client-Cert $ssl_client_cert; proxy_pass http://backend; proxy_set_header X-Client-Cert $ssl_client_cert; proxy_set_header X-Client-Dn $ssl_client_s_dn; } location = /auth-proxy { internal; proxy_pass http://127.0.0.1/; proxy_pass_request_body off; proxy_set_header Content-Length “”; proxy_set_header X-Client-Dn $ssl_client_s_dn; proxy_set_header X-Client-Cert $ssl_client_cert; } br, Aziz. > On 9 Aug 2017, at 09:28, Andrey Oktyabrskiy wrote: > > Илья Шипицин wrote: >> Ansible и подобные утилиты хороши для "развёртки" продуктов. >> вы, конечно, извините, но следуя вашей же логике ... рассылка по nginx >> касается, собственно, nginx. а у вас задача распространения файлов. > Обновление конфигурации nginx касается nginx непосредственно. > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From nginx-forum на forum.nginx.org Wed Aug 9 12:54:24 2017 From: nginx-forum на forum.nginx.org (igroykt) Date: Wed, 09 Aug 2017 08:54:24 -0400 Subject: =?UTF-8?B?bmdpbnggcmV2ZXJzZSBwcm94eSDQuCBuZ2lueCBiYWNrZW5kINC90LUg0L/RgNC+?= =?UTF-8?B?0L/Rg9GB0LrQsNC10YIgaXA=?= Message-ID: <2a6c422c279791721df93fa1e43b1cfc.NginxMailingListRussian@forum.nginx.org> Всем привет. nginx frontend: server{ ... location / { proxy_set_header Host $host; 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 X-Forwarded-Host $server_name; proxy_redirect off; proxy_connect_timeout 2s; proxy_pass https://office; } } nginx version: nginx/1.13.3 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) built with OpenSSL 1.0.1e-fips 11 Feb 2013 TLS SNI support enabled configure arguments: --with-http_ssl_module --with-http_stub_status_module --with-http_flv_module --with-http_mp4_module --with-http_realip_module ======================= nginx backend: server { ...... location / { ..... location ^~ /restricted { allow 1.2.3.4; deny all; location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_read_timeout 300; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_intercept_errors on; include fastcgi_params; } } } nginx version: nginx/1.13.3 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) built with OpenSSL 1.0.1e-fips 11 Feb 2013 TLS SNI support enabled configure arguments: --with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-threads --with-http_mp4_module --with-http_flv_module --with-http_realip_module ==================== Отдает 403. В логе: 1.1.1.1 - - [09/Aug/2017:21:50:07 +0900] "GET /pwned/ HTTP/1.0" 403 564 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36" "1.2.3.4" 1.1.1.1 - - [09/Aug/2017:21:50:08 +0900] "GET /favicon.ico HTTP/1.0" 200 1150 "https://office.mytona.com/pwned/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36" "1.2.3.4" где 1.1.1.1 это адрес frontend а 1.2.3.4 адрес backend. логформат на backend: log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent"' 'http_x_forwarded_for = $http_x_forwarded_for, real_ip_remote_addr = $realip_remote_addr'; Судя по логу x-forwarded-for проходит в remote_addr сохраняется адрес reverse proxy. Как жить? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,275983,275983#msg-275983 From bgx на protva.ru Wed Aug 9 13:37:39 2017 From: bgx на protva.ru (Evgeniy Berdnikov) Date: Wed, 9 Aug 2017 16:37:39 +0300 Subject: =?UTF-8?B?UmU6IG5naW54IHJldmVyc2UgcHJveHkg0LggbmdpbnggYmFja2VuZCDQvdC1INC/?= =?UTF-8?B?0YDQvtC/0YPRgdC60LDQtdGCIGlw?= In-Reply-To: <2a6c422c279791721df93fa1e43b1cfc.NginxMailingListRussian@forum.nginx.org> References: <2a6c422c279791721df93fa1e43b1cfc.NginxMailingListRussian@forum.nginx.org> Message-ID: <20170809133739.GD7868@protva.ru> On Wed, Aug 09, 2017 at 08:54:24AM -0400, igroykt wrote: > Отдает 403. В логе: > 1.1.1.1 - - [09/Aug/2017:21:50:07 +0900] "GET /pwned/ HTTP/1.0" 403 564 "-" > "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like > Gecko) Chrome/59.0.3071.115 Safari/537.36" "1.2.3.4" > 1.1.1.1 - - [09/Aug/2017:21:50:08 +0900] "GET /favicon.ico HTTP/1.0" 200 > 1150 "https://office.mytona.com/pwned/" "Mozilla/5.0 (Windows NT 10.0; > Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 > Safari/537.36" "1.2.3.4" > где 1.1.1.1 это адрес frontend а 1.2.3.4 адрес backend. > логформат на backend: > log_format main '$remote_addr - $remote_user [$time_local] "$request" ' > '$status $body_bytes_sent "$http_referer" ' > '"$http_user_agent"' 'http_x_forwarded_for = > $http_x_forwarded_for, real_ip_remote_addr = $realip_remote_addr'; > Судя по логу x-forwarded-for проходит в remote_addr сохраняется адрес > reverse proxy. Не вижу в логе знаков равенства (=), которые присутствуют в log_format. Вероятно, применяется другая директива log_format. -- Eugene Berdnikov From nginx-forum на forum.nginx.org Wed Aug 9 13:57:56 2017 From: nginx-forum на forum.nginx.org (igroykt) Date: Wed, 09 Aug 2017 09:57:56 -0400 Subject: =?UTF-8?B?UmU6IG5naW54IHJldmVyc2UgcHJveHkg0LggbmdpbnggYmFja2VuZCDQvdC1INC/?= =?UTF-8?B?0YDQvtC/0YPRgdC60LDQtdGCIGlw?= In-Reply-To: <20170809133739.GD7868@protva.ru> References: <20170809133739.GD7868@protva.ru> Message-ID: <022c227037295dd6917b196ddee9b5b2.NginxMailingListRussian@forum.nginx.org> ну без разницы. вроде в этом треде такая же проблема. https://stackoverflow.com/questions/39176931/nginx-allowdeny-realip-remote-addr/39183303#39183303 решили с помощью модуля луа. не хотелось бы раздувать nginx. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,275983,275985#msg-275985 From kovalkov на fastvps.ru Wed Aug 9 15:21:15 2017 From: kovalkov на fastvps.ru (Dmitriy Kovalkov) Date: Wed, 9 Aug 2017 18:21:15 +0300 Subject: =?UTF-8?B?0JLQvtC/0YDQvtGBINC/0L4gU1NM?= Message-ID: Здравствуйте. Вопрос по параметрам: ssl_prefer_server_ciphers ssl_protocols ssl_ciphers Путем экспериментальных проверок вроде как выяснил, что: ssl_protocols - выставляется для IP и виртуальный хост, который выставил его последним, применяет протоколы для всех ранее (SNI никак не влияет). ssl_ciphers - может быть разным для виртуальных хостов на одном IP, при использовании SNI. При не SNI какие протоколы получим? Первого или последнего виртуального хоста? ssl_prefer_server_ciphers SNI-зависим? В документации можно найти данную информацию? Благодарю заранее. --- Respectfully, Dmitrii Kovalkov FASTVPS technical department ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mdounin на mdounin.ru Wed Aug 9 15:47:44 2017 From: mdounin на mdounin.ru (Maxim Dounin) Date: Wed, 9 Aug 2017 18:47:44 +0300 Subject: =?UTF-8?B?UmU6INCS0L7Qv9GA0L7RgSDQv9C+IFNTTA==?= In-Reply-To: References: Message-ID: <20170809154744.GJ93611@mdounin.ru> Hello! On Wed, Aug 09, 2017 at 06:21:15PM +0300, Dmitriy Kovalkov wrote: > Здравствуйте. > > Вопрос по параметрам: > > ssl_prefer_server_ciphers > ssl_protocols > ssl_ciphers > > Путем экспериментальных проверок вроде как выяснил, что: > > ssl_protocols - выставляется для IP и виртуальный хост, который выставил > его последним, применяет протоколы для всех ранее (SNI никак не влияет). > > ssl_ciphers - может быть разным для виртуальных хостов на одном IP, при > использовании SNI. > > При не SNI какие протоколы получим? Первого или последнего виртуального > хоста? ssl_prefer_server_ciphers SNI-зависим? > > В документации можно найти данную информацию? SSL-соединение устанавливается в рамках сервера по умолчанию, и тогда же фиксируется используемая версия SSL-протокола. Остальные параметры OpenSSL умеет, с помощью лома и такой-то матери, переключать по SNI, так что всё остальное будет работать в рамках виртуального сервера, выбранного по SNI. Подробнее про то, что такое "сервер по умолчанию", можно почитать тут: http://nginx.org/ru/docs/http/request_processing.html -- Maxim Dounin http://nginx.org/ From nginx-forum на forum.nginx.org Thu Aug 10 11:52:41 2017 From: nginx-forum на forum.nginx.org (z6464) Date: Thu, 10 Aug 2017 07:52:41 -0400 Subject: =?UTF-8?B?0JfQsNC/0YDQtdGCINC00L7RgdGC0YPQv9CwINGBINC/0YDQvtC60YHQuA==?= Message-ID: <77410c92f070dfd21f06f10ac3698247.NginxMailingListRussian@forum.nginx.org> Как можно заблокировать максимально возможное количество прокси? Обычно берут прокси с https://hidemy.name/ru/proxy-list/ Есть ли возможность заблокировать хоть с низкой и средней анонимностью? Базы не очень подходят, тк новые прокси появляются практически каждую минуту. Хотелось бы хоть как-то затруднить спам. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,276003,276003#msg-276003 From gmm на csdoc.com Thu Aug 10 12:04:13 2017 From: gmm на csdoc.com (Gena Makhomed) Date: Thu, 10 Aug 2017 15:04:13 +0300 Subject: =?UTF-8?B?UmU6INCX0LDQv9GA0LXRgiDQtNC+0YHRgtGD0L/QsCDRgSDQv9GA0L7QutGB0Lg=?= In-Reply-To: <77410c92f070dfd21f06f10ac3698247.NginxMailingListRussian@forum.nginx.org> References: <77410c92f070dfd21f06f10ac3698247.NginxMailingListRussian@forum.nginx.org> Message-ID: On 10.08.2017 14:52, z6464 wrote: > Хотелось бы хоть как-то затруднить спам. Для защиты от спама применяют https://www.google.com/recaptcha/intro/ -- Best regards, Gena From nginx-forum на forum.nginx.org Thu Aug 10 12:45:27 2017 From: nginx-forum на forum.nginx.org (z6464) Date: Thu, 10 Aug 2017 08:45:27 -0400 Subject: =?UTF-8?B?UmU6INCX0LDQv9GA0LXRgiDQtNC+0YHRgtGD0L/QsCDRgSDQv9GA0L7QutGB0Lg=?= In-Reply-To: References: Message-ID: Спам ручной и в небольшом количестве(10-20 в день) были фильтры настроены на тор ip и на слова, но видно, что в ручную обходят. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,276003,276005#msg-276005 From chipitsine на gmail.com Thu Aug 10 13:03:34 2017 From: chipitsine на gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Thu, 10 Aug 2017 18:03:34 +0500 Subject: =?UTF-8?B?0L/QvtC00LTQtdGA0LbQutCwIHBjcmUgKNC4IHBjcmUtaml0KSDQsiDRgdGC0LA=?= =?UTF-8?B?0L3QtNCw0YDRgtC90YvRhSDQv9Cw0LrQtdGC0LDRhQ==?= Message-ID: Добрый день! http://nginx.org/packages/mainline/centos/7/x86_64/RPMS/ - тут пакеты без pcre-jit (хотя в spec присутствуют следы вызова pcre-config) есть причина, чтобы пакеты делать без pcre-jit или так исторически ? Илья Шипицин ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From vbart на nginx.com Thu Aug 10 14:15:20 2017 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Thu, 10 Aug 2017 17:15:20 +0300 Subject: =?UTF-8?B?UmU6INC/0L7QtNC00LXRgNC20LrQsCBwY3JlICjQuCBwY3JlLWppdCkg0LIg0YE=?= =?UTF-8?B?0YLQsNC90LTQsNGA0YLQvdGL0YUg0L/QsNC60LXRgtCw0YU=?= In-Reply-To: References: Message-ID: <7296488.0ioC3gcyxI@vbart-workstation> On Thursday 10 August 2017 18:03:34 Илья Шипицин wrote: > Добрый день! > > http://nginx.org/packages/mainline/centos/7/x86_64/RPMS/ - тут пакеты без > pcre-jit > > (хотя в spec присутствуют следы вызова pcre-config) > > есть причина, чтобы пакеты делать без pcre-jit или так исторически ? > Почему вы решили, что они без pcre-jit? -- Валентин Бартенев From chipitsine на gmail.com Fri Aug 11 06:19:59 2017 From: chipitsine на gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Fri, 11 Aug 2017 11:19:59 +0500 Subject: =?UTF-8?B?UmU6INC/0L7QtNC00LXRgNC20LrQsCBwY3JlICjQuCBwY3JlLWppdCkg0LIg0YE=?= =?UTF-8?B?0YLQsNC90LTQsNGA0YLQvdGL0YUg0L/QsNC60LXRgtCw0YU=?= In-Reply-To: <7296488.0ioC3gcyxI@vbart-workstation> References: <7296488.0ioC3gcyxI@vbart-workstation> Message-ID: 10 августа 2017 г., 19:15 пользователь Валентин Бартенев написал: > On Thursday 10 August 2017 18:03:34 Илья Шипицин wrote: > > Добрый день! > > > > http://nginx.org/packages/mainline/centos/7/x86_64/RPMS/ - тут пакеты > без > > pcre-jit > > > > (хотя в spec присутствуют следы вызова pcre-config) > > > > есть причина, чтобы пакеты делать без pcre-jit или так исторически ? > > > > Почему вы решили, что они без pcre-jit? > я почему-то ожидал увидеть --with-pcre-jit в выводе nginx -V отбой, оно работает > > -- > Валентин Бартенев > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на forum.nginx.org Fri Aug 11 06:42:23 2017 From: nginx-forum на forum.nginx.org (igroykt) Date: Fri, 11 Aug 2017 02:42:23 -0400 Subject: =?UTF-8?B?UmU6IG5naW54IHJldmVyc2UgcHJveHkg0LggbmdpbnggYmFja2VuZCDQvdC1INC/?= =?UTF-8?B?0YDQvtC/0YPRgdC60LDQtdGCIGlw?= In-Reply-To: <20170809133739.GD7868@protva.ru> References: <20170809133739.GD7868@protva.ru> Message-ID: Evgeniy Berdnikov Wrote: ------------------------------------------------------- > On Wed, Aug 09, 2017 at 08:54:24AM -0400, igroykt wrote: > > Отдает 403. В логе: > > 1.1.1.1 - - [09/Aug/2017:21:50:07 +0900] "GET /pwned/ HTTP/1.0" 403 > 564 "-" > > "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 > (KHTML, like > > Gecko) Chrome/59.0.3071.115 Safari/537.36" "1.2.3.4" > > 1.1.1.1 - - [09/Aug/2017:21:50:08 +0900] "GET /favicon.ico HTTP/1.0" > 200 > > 1150 "https://office.mytona.com/pwned/" "Mozilla/5.0 (Windows NT > 10.0; > > Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) > Chrome/59.0.3071.115 > > Safari/537.36" "1.2.3.4" > > где 1.1.1.1 это адрес frontend а 1.2.3.4 адрес backend. > > логформат на backend: > > log_format main '$remote_addr - $remote_user [$time_local] > "$request" ' > > '$status $body_bytes_sent "$http_referer" ' > > '"$http_user_agent"' 'http_x_forwarded_for = > > $http_x_forwarded_for, real_ip_remote_addr = $realip_remote_addr'; > > Судя по логу x-forwarded-for проходит в remote_addr сохраняется > адрес > > reverse proxy. > > Не вижу в логе знаков равенства (=), которые присутствуют в > log_format. > Вероятно, применяется другая директива log_format. > -- > Eugene Berdnikov > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru хэхэ, а ты был прав :) вся беда из-за лог формат. ошибку при проверке не выдавало но и конфиг не считывали видимо. вернул лог формат к исходному виду и все директивы заработали как надо в том числе и set_real_ip_from. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,275983,276022#msg-276022 From vbart на nginx.com Fri Aug 11 10:08:29 2017 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Fri, 11 Aug 2017 13:08:29 +0300 Subject: =?UTF-8?B?UmU6INC/0L7QtNC00LXRgNC20LrQsCBwY3JlICjQuCBwY3JlLWppdCkg0LIg0YE=?= =?UTF-8?B?0YLQsNC90LTQsNGA0YLQvdGL0YUg0L/QsNC60LXRgtCw0YU=?= In-Reply-To: References: <7296488.0ioC3gcyxI@vbart-workstation> Message-ID: <3607255.96vdyIkDLU@vbart-laptop> On Friday 11 August 2017 11:19:59 Илья Шипицин wrote: > 10 августа 2017 г., 19:15 пользователь Валентин Бартенев > написал: > > > On Thursday 10 August 2017 18:03:34 Илья Шипицин wrote: > > > Добрый день! > > > > > > http://nginx.org/packages/mainline/centos/7/x86_64/RPMS/ - тут пакеты без > > > pcre-jit > > > > > > (хотя в spec присутствуют следы вызова pcre-config) > > > > > > есть причина, чтобы пакеты делать без pcre-jit или так исторически ? > > > > > > > Почему вы решили, что они без pcre-jit? > > > > я почему-то ожидал увидеть --with-pcre-jit в выводе nginx -V > отбой, оно работает > Этот параметр нужен только при сборке nginx c pcre статически. В пакетах nginx линкуется с библиотекой pcre из дистрибутива и та обычно собрана с jit-ом. -- Валентин Бартенев From nginx-forum на forum.nginx.org Fri Aug 11 10:50:21 2017 From: nginx-forum на forum.nginx.org (S.A.N) Date: Fri, 11 Aug 2017 06:50:21 -0400 Subject: =?UTF-8?Q?Re=3A_HTTP/2_+_ALPN_=D0=B2_Debian_8_Jessie?= In-Reply-To: References: Message-ID: <89dbd6326f044bb622dda4caa085c940.NginxMailingListRussian@forum.nginx.org> > > Для Fedora 25-26 (Open SSL 1.1) будет сборка? > Таких планов нет, т.к. популярность этих дистрибутивов на сервере, > кажется, невелика. Да, Fedora не популярна в продакшине, у неё своя ниша, она хорошо для тестов будущих версий RHEL. Уже вышла RedHat 7.4 у неё openssl 1.0.2k, скоро выйдет CentOS 7.4, ждем ваших новых сборок с поддержкой ALPN для RHEL. Спасибо. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,275648,276027#msg-276027 From nginx-forum на forum.nginx.org Fri Aug 11 13:33:57 2017 From: nginx-forum на forum.nginx.org (Vladimir Koshelev) Date: Fri, 11 Aug 2017 09:33:57 -0400 Subject: =?UTF-8?B?UmU6INCQ0LLRgtC+0YDQuNC30LDRhtC40Y8g0YHQvtC10LTQuNC90LXQvdC40Y8=?= In-Reply-To: <20170807125321.GX93611@mdounin.ru> References: <20170807125321.GX93611@mdounin.ru> Message-ID: <6f67461cc1c050ec37c0aa0bb8ceadc0.NginxMailingListRussian@forum.nginx.org> Спасибо за Ваш ответ! Взять auth_request было моё изначальное намерение. К сожалению с этим возникла проблема - тело запроса должно быть application/x-www-form-urlencoded. Я не нашёл способа сделать это - я хотел использовать proxy_set_body. Или я что-то упустил? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,275781,276025#msg-276025 From ano на bestmx.net Mon Aug 14 07:38:31 2017 From: ano на bestmx.net (Andrey Oktyabrskiy) Date: Mon, 14 Aug 2017 10:38:31 +0300 Subject: nginx-dav-ext-module In-Reply-To: References: <20150508130112.GV98215@mdounin.ru> <59a1cb6d-658d-fc54-e94b-e37bdae777b4@bestmx.net> <1984359.o7Qg1LXzvI@note> <20170717044122.GF8113@Romans-MacBook-Air.local> Message-ID: Andrey Oktyabrskiy wrote: > On 17.07.2017 07:41, Roman Arutyunyan wrote: >>>>> Может, таки сделаете? В очередной раз приходится собирать nginx >>>>> из исходников вместо того, чтобы поставить из пакета... >>>> >>>> А почему бы не использовать динамический модуль? >>> Он вроде не умеет быть динамическим. По крайней мере, добавив >>> --add-dynamic-module=../nginx-dav-ext-module >>> я библиотеку не получил. Разбираться не полез, ибо сишник из меня >>> так себе. >> >> Добавил в nginx-dav-ext-module поддержку динамической сборки. > Спасибо! Так тоже не всё гладко. Работать-то оно работает, а вот при обновлении nginx все левые модули перестают подгружаться: nginx: [emerg] module "/etc/nginx/modules/ngx_http_dav_ext_module.so" version 1013003 instead of 1013004 in /etc/nginx/nginx.conf:11 Получается, нужно обновлять все динамические модули при обновлении nginx, что даже хуже, чем вкомпилять всё в nginx. From nginx-forum на forum.nginx.org Tue Aug 15 08:19:41 2017 From: nginx-forum на forum.nginx.org (igor.goncharenko) Date: Tue, 15 Aug 2017 04:19:41 -0400 Subject: =?UTF-8?B?UmU6INCd0LDRgdC70LXQtNC+0LLQsNC90LjQtSDQtNC40YDQtdC60YLQuNCy?= In-Reply-To: <20170807140843.GC93611@mdounin.ru> References: <20170807140843.GC93611@mdounin.ru> Message-ID: <601b5fbb18f4a701550121fbab18bd73.NginxMailingListRussian@forum.nginx.org> Вопрос, наверное, был о том - нужно ли переназначать ВСЕ proxy_ директивы на данном уровне (как для заголовков) или наследование работает для каждой proxy_ директивы отдельно? --- Igor Posted at Nginx Forum: https://forum.nginx.org/read.php?21,275849,276065#msg-276065 From mdounin на mdounin.ru Tue Aug 15 10:34:37 2017 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 15 Aug 2017 13:34:37 +0300 Subject: =?UTF-8?B?UmU6INCd0LDRgdC70LXQtNC+0LLQsNC90LjQtSDQtNC40YDQtdC60YLQuNCy?= In-Reply-To: <601b5fbb18f4a701550121fbab18bd73.NginxMailingListRussian@forum.nginx.org> References: <20170807140843.GC93611@mdounin.ru> <601b5fbb18f4a701550121fbab18bd73.NginxMailingListRussian@forum.nginx.org> Message-ID: <20170815103437.GF93611@mdounin.ru> Hello! On Tue, Aug 15, 2017 at 04:19:41AM -0400, igor.goncharenko wrote: > Вопрос, наверное, был о том - нужно ли переназначать ВСЕ proxy_ директивы на > данном уровне (как для заголовков) или наследование работает для каждой > proxy_ директивы отдельно? Не надо думать, что для заголовков действуют какие-то особые правила. Наоборот, тут действует простое общее правило: значение, заданое конкретной директивой, наследуется с предыдущего уровня, если на данном уровне эта директива не используется. Соответственно, если вы использовали на данном уровне директиву proxy_set_header - то заданные на предыдущих уровнях заголовки наследоваться не будут (а если не использовали - будут). Аналогично и для proxy_read_timeout - если она на данном уровне используется, то наследования не будет, а если нет - то будет наследоваться значения с предыдущего уровня. И то же самое для практически всех директив. Исключения бывают, но они редки и при этом очевидны. Скажем, директивы allow и deny задают список правил, и указание любой из них приводит к отмене наследования всего списка правил. А некоторые директивы не наследуются, как то: try_files, инструкции модуля rewrite (rewrite, if, set, break, return), директивы, устанавливающие обработчики в конкретном location'е (proxy_pass, fastcgi_pass, scgi_pass, uwsgi_pass, memcached_pass, flv, mp4, empty_gif, stub_status). И это наверное всё, если говорить про исключния, для всего остального - действует общее правило. -- Maxim Dounin http://nginx.org/ From simplebox66 на gmail.com Tue Aug 15 13:33:23 2017 From: simplebox66 на gmail.com (=?UTF-8?B?0JjQstCw0L0g0JzQuNGI0LjQvQ==?=) Date: Tue, 15 Aug 2017 16:33:23 +0300 Subject: =?UTF-8?B?0YPQvdC40LrQsNC70YzQvdC+0YHRgtGMINC/0LXRgNC10LzQtdC90L3QvtC5ICRy?= =?UTF-8?B?ZXF1ZXN0X2lk?= Message-ID: В документации как-то мало описания на эту тему. Хочется знать какова повторяемость этой переменной? И какой шанс повторяемости в случае использования пула nginx серверов (например 6 штук), есть ли какие-то факты или предположения о том с какой вероятностью могут сгенериться одинаковые айдишники на разных nginx серверах? В общем просьба раскрыть тему к ого есть достаточные знание об этой переменной. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mdounin на mdounin.ru Tue Aug 15 14:05:00 2017 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 15 Aug 2017 17:05:00 +0300 Subject: =?UTF-8?B?UmU6INGD0L3QuNC60LDQu9GM0L3QvtGB0YLRjCDQv9C10YDQtdC80LXQvdC90L4=?= =?UTF-8?B?0LkgJHJlcXVlc3RfaWQ=?= In-Reply-To: References: Message-ID: <20170815140500.GM93611@mdounin.ru> Hello! On Tue, Aug 15, 2017 at 04:33:23PM +0300, Иван Мишин wrote: > В документации как-то мало описания на эту тему. Хочется знать какова > повторяемость этой переменной? > И какой шанс повторяемости в случае использования пула nginx серверов > (например 6 штук), есть ли какие-то факты или предположения о том с какой > вероятностью могут сгенериться одинаковые айдишники на разных nginx > серверах? > В общем просьба раскрыть тему к ого есть достаточные знание об этой > переменной. В документации же чётко и однозначно написано: 16 случайных байт. С математической точки зрения это значит, что вероятность получить совпадение двух произвольно выбранных $request_id, вне зависимости от их происхождения, составляет 1 : 2^128 - 1. Если записывать все встречающиеся на пути $request_id, то встретить два одинаковых можно где-то после того, как накопите их 2^64 штук. Подробнее о том, в каких случаях и с какой вероятностью можно ожидать возникновения коллизий, можно прочитать тут: https://ru.wikipedia.org/wiki/Парадокс_дней_рождения -- Maxim Dounin http://nginx.org/ From nginx-forum на forum.nginx.org Wed Aug 16 11:54:26 2017 From: nginx-forum на forum.nginx.org (igor.goncharenko) Date: Wed, 16 Aug 2017 07:54:26 -0400 Subject: =?UTF-8?B?UmU6INCd0LDRgdC70LXQtNC+0LLQsNC90LjQtSDQtNC40YDQtdC60YLQuNCy?= In-Reply-To: <20170815103437.GF93611@mdounin.ru> References: <20170815103437.GF93611@mdounin.ru> Message-ID: <77e542c5a1f0cfbe1b4ac9471f5d9671.NginxMailingListRussian@forum.nginx.org> Спасибо! Posted at Nginx Forum: https://forum.nginx.org/read.php?21,275849,276074#msg-276074 From nginx-forum на forum.nginx.org Wed Aug 16 19:26:18 2017 From: nginx-forum на forum.nginx.org (justej) Date: Wed, 16 Aug 2017 15:26:18 -0400 Subject: =?UTF-8?B?0JLQtdGA0LjRhNC40LrQsNGG0LjRjyDRgdC10YDRgtC40YTQuNC60LDRgtC+0LIg?= =?UTF-8?B?0L/RgNC+0LrRgdC40YDRg9C10LzRi9GFINGB0LXRgNCy0LXRgNC+0LI=?= Message-ID: Доброго времени суток. Мы используем NGINX в качестве прокси к чужим серверам. Одно из требований - верификация сертификатов проксируемых серверов. В документации не указано, что именно проверяется директивой proxy_ssl_verify, однако я подозреваю, что проверяются: - имя домен - начальная и конечная даты действия сертификата - trust chain Правильно ли я понимаю? Как при этом можно проверить, был ли сертификат отозван? Проверка при помощи proxy_ssl_crl не подходит, поскольку требуется отслеживать CRL Distribution Point всех встречаемых сертификатов (а их может быть огромное количество) и постоянно обновлять CRL файл. Есть ли возможность динамически проверить отзыв серверного сертификата, например, по OCSP? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,276077,276077#msg-276077 From nginx-forum на forum.nginx.org Thu Aug 17 20:01:10 2017 From: nginx-forum на forum.nginx.org (Andrey_Bushman) Date: Thu, 17 Aug 2017 16:01:10 -0400 Subject: =?UTF-8?B?0J7RiNC40LHQutC4INC/0YDQuCDRg9GB0YLQsNC90L7QstC60LUgTkdJTlg=?= Message-ID: Доброго времени суток. Ubuntu-16.04-x86_64 (сервер) Устанавливаю NGINX: > apt-get install nginx Получаю ошибки: ------------------------ Setting up nginx-core (1.10.3-0ubuntu0.16.04.2) ... Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details. invoke-rc.d: initscript nginx, action "start" failed. dpkg: error processing package nginx-core (--configure): subprocess installed post-installation script returned error exit status 1 dpkg: dependency problems prevent configuration of nginx: nginx depends on nginx-core (>= 1.10.3-0ubuntu0.16.04.2) | nginx-full (>= 1.10.3-0ubuntu0.16.04.2) | nginx-light (>= 1.10.3-0ubuntu0.16.04.2) | nginx-extras (>= 1.10.3-0ubuntu0.16.04.2); however: Package nginx-core is not configured yet. Package nginx-full is not installed. Package nginx-light is not installed. Package nginx-extras is not installed. nginx depends on nginx-core (<< 1.10.3-0ubuntu0.16.04.2.1~) | nginx-full (<< 1.10.3-0ubuntu0.16.04.2.1~) | nginx-light (<< 1.10.3-0ubuntu0.16.04.2.1~) | nginx-extras (<< 1.10.3-0ubuntu0.16.04.2.1~); however: Package nginx-core is not configured yet. Package nginx-full is not installed. Package nginx-light is not installed. Package nginx-extras is not installed. dpkg: error processing package nginx (--configure): dependency problems - leaving unconfigured Errors were encountered while processing: nginx-core nginx E: Sub-process /usr/bin/dpkg returned an error code (1) ---------------------------- Как установить nginx? Спасибо Posted at Nginx Forum: https://forum.nginx.org/read.php?21,276085,276085#msg-276085 From medvedev.yp на gmail.com Thu Aug 17 20:04:06 2017 From: medvedev.yp на gmail.com (Iurii Medvedev) Date: Thu, 17 Aug 2017 23:04:06 +0300 Subject: =?UTF-8?B?UmU6INCe0YjQuNCx0LrQuCDQv9GA0Lgg0YPRgdGC0LDQvdC+0LLQutC1IE5HSU5Y?= In-Reply-To: References: Message-ID: Вначале внимательно изучить вывод journalctl -xe У вас же написано какую команду выполнить чтобы узнать детали 17 авг. 2017 г. 23:01 пользователь "Andrey_Bushman" < nginx-forum на forum.nginx.org> написал: > Доброго времени суток. > > Ubuntu-16.04-x86_64 (сервер) > > Устанавливаю NGINX: > > > apt-get install nginx > > Получаю ошибки: > > ------------------------ > > Setting up nginx-core (1.10.3-0ubuntu0.16.04.2) ... > Job for nginx.service failed because the control process exited with error > code. See "systemctl status nginx.service" and "journalctl -xe" for > details. > invoke-rc.d: initscript nginx, action "start" failed. > dpkg: error processing package nginx-core (--configure): > subprocess installed post-installation script returned error exit status 1 > dpkg: dependency problems prevent configuration of nginx: > nginx depends on nginx-core (>= 1.10.3-0ubuntu0.16.04.2) | nginx-full (>= > 1.10.3-0ubuntu0.16.04.2) | nginx-light (>= 1.10.3-0ubuntu0.16.04.2) | > nginx-extras (>= 1.10.3-0ubuntu0.16.04.2); however: > Package nginx-core is not configured yet. > Package nginx-full is not installed. > Package nginx-light is not installed. > Package nginx-extras is not installed. > nginx depends on nginx-core (<< 1.10.3-0ubuntu0.16.04.2.1~) | nginx-full > (<< 1.10.3-0ubuntu0.16.04.2.1~) | nginx-light (<< > 1.10.3-0ubuntu0.16.04.2.1~) | nginx-extras (<< 1.10.3-0ubuntu0.16.04.2.1~); > however: > Package nginx-core is not configured yet. > Package nginx-full is not installed. > Package nginx-light is not installed. > Package nginx-extras is not installed. > > dpkg: error processing package nginx (--configure): > dependency problems - leaving unconfigured > Errors were encountered while processing: > nginx-core > nginx > E: Sub-process /usr/bin/dpkg returned an error code (1) > > ---------------------------- > > Как установить nginx? > > Спасибо > > Posted at Nginx Forum: https://forum.nginx.org/read. > php?21,276085,276085#msg-276085 > > _______________________________________________ > 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 Aug 17 20:14:07 2017 From: nginx-forum на forum.nginx.org (Andrey_Bushman) Date: Thu, 17 Aug 2017 16:14:07 -0400 Subject: =?UTF-8?B?UmU6INCe0YjQuNCx0LrQuCDQv9GA0Lgg0YPRgdGC0LDQvdC+0LLQutC1IE5HSU5Y?= In-Reply-To: References: Message-ID: <6353614913a27dd639bb812721fc0d90.NginxMailingListRussian@forum.nginx.org> Вывод обозначенных команд мне не сильно помог: root на bimpack:~# systemctl status nginx.service ● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Thu 2017-08-17 15:53:41 EDT; 16min ago Process: 15842 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=1/FAILURE) Process: 15839 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Aug 17 15:53:39 vds nginx[15842]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) Aug 17 15:53:39 vds nginx[15842]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) Aug 17 15:53:40 vds nginx[15842]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) Aug 17 15:53:40 vds nginx[15842]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) Aug 17 15:53:41 vds nginx[15842]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) Aug 17 15:53:41 vds nginx[15842]: nginx: [emerg] still could not bind() Aug 17 15:53:41 vds systemd[1]: nginx.service: Control process exited, code=exited status=1 Aug 17 15:53:41 vds systemd[1]: Failed to start A high performance web server and a reverse proxy server. Aug 17 15:53:41 vds systemd[1]: nginx.service: Unit entered failed state. Aug 17 15:53:41 vds systemd[1]: nginx.service: Failed with result 'exit-code'. root на bimpack:~# root на bimpack:~# journalctl -xe Aug 17 16:09:30 vds sshd[16000]: error: maximum authentication attempts exceeded for root from 42.7.26.91 port 48424 ssh2 [preauth] Aug 17 16:09:30 vds sshd[16000]: Disconnecting: Too many authentication failures [preauth] Aug 17 16:09:30 vds sshd[16000]: PAM 5 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=42.7.26.91 user=root Aug 17 16:09:30 vds sshd[16000]: PAM service(sshd) ignoring max retries; 6 > 3 Aug 17 16:09:32 vds sshd[16002]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=42.7.26.91 user=root Aug 17 16:09:34 vds sshd[16002]: Failed password for root from 42.7.26.91 port 9055 ssh2 Aug 17 16:09:37 vds sshd[16002]: Failed password for root from 42.7.26.91 port 9055 ssh2 Aug 17 16:09:39 vds sshd[16002]: Failed password for root from 42.7.26.91 port 9055 ssh2 Aug 17 16:09:42 vds sshd[16002]: Failed password for root from 42.7.26.91 port 9055 ssh2 Aug 17 16:09:45 vds sshd[16002]: Failed password for root from 42.7.26.91 port 9055 ssh2 Aug 17 16:09:48 vds sshd[16002]: Failed password for root from 42.7.26.91 port 9055 ssh2 Aug 17 16:09:48 vds sshd[16002]: error: maximum authentication attempts exceeded for root from 42.7.26.91 port 9055 ssh2 [preauth] Aug 17 16:09:48 vds sshd[16002]: Disconnecting: Too many authentication failures [preauth] Aug 17 16:09:48 vds sshd[16002]: PAM 5 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=42.7.26.91 user=root Aug 17 16:09:48 vds sshd[16002]: PAM service(sshd) ignoring max retries; 6 > 3 Aug 17 16:09:50 vds sshd[16005]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=42.7.26.91 user=root Aug 17 16:09:52 vds sshd[16005]: Failed password for root from 42.7.26.91 port 32425 ssh2 Aug 17 16:09:55 vds sshd[16005]: Failed password for root from 42.7.26.91 port 32425 ssh2 Aug 17 16:09:58 vds sshd[16005]: Failed password for root from 42.7.26.91 port 32425 ssh2 Aug 17 16:10:01 vds sshd[16005]: Failed password for root from 42.7.26.91 port 32425 ssh2 Aug 17 16:10:03 vds sshd[16005]: Failed password for root from 42.7.26.91 port 32425 ssh2 Aug 17 16:10:07 vds sshd[16005]: Failed password for root from 42.7.26.91 port 32425 ssh2 Aug 17 16:10:07 vds sshd[16005]: error: maximum authentication attempts exceeded for root from 42.7.26.91 port 32425 ssh2 [preauth] Aug 17 16:10:07 vds sshd[16005]: Disconnecting: Too many authentication failures [preauth] Aug 17 16:10:07 vds sshd[16005]: PAM 5 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=42.7.26.91 user=root Aug 17 16:10:07 vds sshd[16005]: PAM service(sshd) ignoring max retries; 6 > 3 Aug 17 16:10:09 vds sshd[16009]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=42.7.26.91 user=root Aug 17 16:10:11 vds sshd[16009]: Failed password for root from 42.7.26.91 port 57502 ssh2 Aug 17 16:10:13 vds sshd[16009]: Failed password for root from 42.7.26.91 port 57502 ssh2 Aug 17 16:10:15 vds sshd[16009]: Failed password for root from 42.7.26.91 port 57502 ssh2 Aug 17 16:10:19 vds sshd[16009]: Failed password for root from 42.7.26.91 port 57502 ssh2 Aug 17 16:10:21 vds sshd[16009]: Failed password for root from 42.7.26.91 port 57502 ssh2 Aug 17 16:10:24 vds sshd[16009]: Failed password for root from 42.7.26.91 port 57502 ssh2 Aug 17 16:10:24 vds sshd[16009]: error: maximum authentication attempts exceeded for root from 42.7.26.91 port 57502 ssh2 [preauth] Aug 17 16:10:24 vds sshd[16009]: Disconnecting: Too many authentication failures [preauth] Aug 17 16:10:24 vds sshd[16009]: PAM 5 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=42.7.26.91 user=root Aug 17 16:10:24 vds sshd[16009]: PAM service(sshd) ignoring max retries; 6 > 3 Aug 17 16:10:26 vds sshd[16011]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=42.7.26.91 user=root Aug 17 16:10:28 vds sshd[16011]: Failed password for root from 42.7.26.91 port 15843 ssh2 Aug 17 16:10:31 vds sshd[16011]: Failed password for root from 42.7.26.91 port 15843 ssh2 Aug 17 16:10:34 vds sshd[16011]: Failed password for root from 42.7.26.91 port 15843 ssh2 Posted at Nginx Forum: https://forum.nginx.org/read.php?21,276085,276087#msg-276087 From medvedev.yp на gmail.com Thu Aug 17 20:16:30 2017 From: medvedev.yp на gmail.com (Iurii Medvedev) Date: Thu, 17 Aug 2017 23:16:30 +0300 Subject: =?UTF-8?B?UmU6INCe0YjQuNCx0LrQuCDQv9GA0Lgg0YPRgdGC0LDQvdC+0LLQutC1IE5HSU5Y?= In-Reply-To: <6353614913a27dd639bb812721fc0d90.NginxMailingListRussian@forum.nginx.org> References: <6353614913a27dd639bb812721fc0d90.NginxMailingListRussian@forum.nginx.org> Message-ID: Как раз в логе все написано" Address already in use" 17 авг. 2017 г. 23:14 пользователь "Andrey_Bushman" < nginx-forum на forum.nginx.org> написал: > Вывод обозначенных команд мне не сильно помог: > > root на bimpack:~# systemctl status nginx.service > ● nginx.service - A high performance web server and a reverse proxy server > Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor > preset: enabled) > Active: failed (Result: exit-code) since Thu 2017-08-17 15:53:41 EDT; > 16min ago > Process: 15842 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; > (code=exited, status=1/FAILURE) > Process: 15839 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; > master_process on; (code=exited, status=0/SUCCESS) > > Aug 17 15:53:39 vds nginx[15842]: nginx: [emerg] bind() to 0.0.0.0:80 > failed > (98: Address already in use) > Aug 17 15:53:39 vds nginx[15842]: nginx: [emerg] bind() to 0.0.0.0:80 > failed > (98: Address already in use) > Aug 17 15:53:40 vds nginx[15842]: nginx: [emerg] bind() to 0.0.0.0:80 > failed > (98: Address already in use) > Aug 17 15:53:40 vds nginx[15842]: nginx: [emerg] bind() to 0.0.0.0:80 > failed > (98: Address already in use) > Aug 17 15:53:41 vds nginx[15842]: nginx: [emerg] bind() to 0.0.0.0:80 > failed > (98: Address already in use) > Aug 17 15:53:41 vds nginx[15842]: nginx: [emerg] still could not bind() > Aug 17 15:53:41 vds systemd[1]: nginx.service: Control process exited, > code=exited status=1 > Aug 17 15:53:41 vds systemd[1]: Failed to start A high performance web > server and a reverse proxy server. > Aug 17 15:53:41 vds systemd[1]: nginx.service: Unit entered failed state. > Aug 17 15:53:41 vds systemd[1]: nginx.service: Failed with result > 'exit-code'. > root на bimpack:~# > > root на bimpack:~# journalctl -xe > Aug 17 16:09:30 vds sshd[16000]: error: maximum authentication attempts > exceeded for root from 42.7.26.91 port 48424 ssh2 [preauth] > Aug 17 16:09:30 vds sshd[16000]: Disconnecting: Too many authentication > failures [preauth] > Aug 17 16:09:30 vds sshd[16000]: PAM 5 more authentication failures; > logname= uid=0 euid=0 tty=ssh ruser= rhost=42.7.26.91 user=root > Aug 17 16:09:30 vds sshd[16000]: PAM service(sshd) ignoring max retries; 6 > > > 3 > Aug 17 16:09:32 vds sshd[16002]: pam_unix(sshd:auth): authentication > failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=42.7.26.91 user=root > Aug 17 16:09:34 vds sshd[16002]: Failed password for root from 42.7.26.91 > port 9055 ssh2 > Aug 17 16:09:37 vds sshd[16002]: Failed password for root from 42.7.26.91 > port 9055 ssh2 > Aug 17 16:09:39 vds sshd[16002]: Failed password for root from 42.7.26.91 > port 9055 ssh2 > Aug 17 16:09:42 vds sshd[16002]: Failed password for root from 42.7.26.91 > port 9055 ssh2 > Aug 17 16:09:45 vds sshd[16002]: Failed password for root from 42.7.26.91 > port 9055 ssh2 > Aug 17 16:09:48 vds sshd[16002]: Failed password for root from 42.7.26.91 > port 9055 ssh2 > Aug 17 16:09:48 vds sshd[16002]: error: maximum authentication attempts > exceeded for root from 42.7.26.91 port 9055 ssh2 [preauth] > Aug 17 16:09:48 vds sshd[16002]: Disconnecting: Too many authentication > failures [preauth] > Aug 17 16:09:48 vds sshd[16002]: PAM 5 more authentication failures; > logname= uid=0 euid=0 tty=ssh ruser= rhost=42.7.26.91 user=root > Aug 17 16:09:48 vds sshd[16002]: PAM service(sshd) ignoring max retries; 6 > > > 3 > Aug 17 16:09:50 vds sshd[16005]: pam_unix(sshd:auth): authentication > failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=42.7.26.91 user=root > Aug 17 16:09:52 vds sshd[16005]: Failed password for root from 42.7.26.91 > port 32425 ssh2 > Aug 17 16:09:55 vds sshd[16005]: Failed password for root from 42.7.26.91 > port 32425 ssh2 > Aug 17 16:09:58 vds sshd[16005]: Failed password for root from 42.7.26.91 > port 32425 ssh2 > Aug 17 16:10:01 vds sshd[16005]: Failed password for root from 42.7.26.91 > port 32425 ssh2 > Aug 17 16:10:03 vds sshd[16005]: Failed password for root from 42.7.26.91 > port 32425 ssh2 > Aug 17 16:10:07 vds sshd[16005]: Failed password for root from 42.7.26.91 > port 32425 ssh2 > Aug 17 16:10:07 vds sshd[16005]: error: maximum authentication attempts > exceeded for root from 42.7.26.91 port 32425 ssh2 [preauth] > Aug 17 16:10:07 vds sshd[16005]: Disconnecting: Too many authentication > failures [preauth] > Aug 17 16:10:07 vds sshd[16005]: PAM 5 more authentication failures; > logname= uid=0 euid=0 tty=ssh ruser= rhost=42.7.26.91 user=root > Aug 17 16:10:07 vds sshd[16005]: PAM service(sshd) ignoring max retries; 6 > > > 3 > Aug 17 16:10:09 vds sshd[16009]: pam_unix(sshd:auth): authentication > failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=42.7.26.91 user=root > Aug 17 16:10:11 vds sshd[16009]: Failed password for root from 42.7.26.91 > port 57502 ssh2 > Aug 17 16:10:13 vds sshd[16009]: Failed password for root from 42.7.26.91 > port 57502 ssh2 > Aug 17 16:10:15 vds sshd[16009]: Failed password for root from 42.7.26.91 > port 57502 ssh2 > Aug 17 16:10:19 vds sshd[16009]: Failed password for root from 42.7.26.91 > port 57502 ssh2 > Aug 17 16:10:21 vds sshd[16009]: Failed password for root from 42.7.26.91 > port 57502 ssh2 > Aug 17 16:10:24 vds sshd[16009]: Failed password for root from 42.7.26.91 > port 57502 ssh2 > Aug 17 16:10:24 vds sshd[16009]: error: maximum authentication attempts > exceeded for root from 42.7.26.91 port 57502 ssh2 [preauth] > Aug 17 16:10:24 vds sshd[16009]: Disconnecting: Too many authentication > failures [preauth] > Aug 17 16:10:24 vds sshd[16009]: PAM 5 more authentication failures; > logname= uid=0 euid=0 tty=ssh ruser= rhost=42.7.26.91 user=root > Aug 17 16:10:24 vds sshd[16009]: PAM service(sshd) ignoring max retries; 6 > > > 3 > Aug 17 16:10:26 vds sshd[16011]: pam_unix(sshd:auth): authentication > failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=42.7.26.91 user=root > Aug 17 16:10:28 vds sshd[16011]: Failed password for root from 42.7.26.91 > port 15843 ssh2 > Aug 17 16:10:31 vds sshd[16011]: Failed password for root from 42.7.26.91 > port 15843 ssh2 > Aug 17 16:10:34 vds sshd[16011]: Failed password for root from 42.7.26.91 > port 15843 ssh2 > > Posted at Nginx Forum: https://forum.nginx.org/read. > php?21,276085,276087#msg-276087 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx на kinetiksoft.com Fri Aug 18 07:22:36 2017 From: nginx на kinetiksoft.com (=?utf-8?B?0JjQstCw0L0=?=) Date: Fri, 18 Aug 2017 10:22:36 +0300 Subject: =?UTF-8?B?UmU6INCe0YjQuNCx0LrQuCDQv9GA0Lgg0YPRgdGC0LDQvdC+0LLQutC1IE5HSU5Y?= In-Reply-To: References: Message-ID: <3484530.hh5hYD4xM4@cybernote> Здравствуйте! Судя по логу, Вы уже пытались поставить nginx из репозиториев дистрибутива, а теперь пытаетесь поставить nginx из репозиториев разработчиков nginx. Чтоб все прошло хорошо, удалите хвосты от старого: service nginx stop killall nginx apt-get purge nginx-core nginx И после этого ставьте желаемую версию. С уважением, Иван. В письме от 17 августа 2017 16:01:10 пользователь Andrey_Bushman написал: > Доброго времени суток. > > Ubuntu-16.04-x86_64 (сервер) > > Устанавливаю NGINX: > > apt-get install nginx > > Получаю ошибки: > > ------------------------ > > Setting up nginx-core (1.10.3-0ubuntu0.16.04.2) ... > Job for nginx.service failed because the control process exited with error > code. See "systemctl status nginx.service" and "journalctl -xe" for > details. > invoke-rc.d: initscript nginx, action "start" failed. > dpkg: error processing package nginx-core (--configure): > subprocess installed post-installation script returned error exit status 1 > dpkg: dependency problems prevent configuration of nginx: > nginx depends on nginx-core (>= 1.10.3-0ubuntu0.16.04.2) | nginx-full (>= > 1.10.3-0ubuntu0.16.04.2) | nginx-light (>= 1.10.3-0ubuntu0.16.04.2) | > nginx-extras (>= 1.10.3-0ubuntu0.16.04.2); however: > Package nginx-core is not configured yet. > Package nginx-full is not installed. > Package nginx-light is not installed. > Package nginx-extras is not installed. > nginx depends on nginx-core (<< 1.10.3-0ubuntu0.16.04.2.1~) | nginx-full > (<< 1.10.3-0ubuntu0.16.04.2.1~) | nginx-light (<< > 1.10.3-0ubuntu0.16.04.2.1~) | nginx-extras (<< 1.10.3-0ubuntu0.16.04.2.1~); > however: > Package nginx-core is not configured yet. > Package nginx-full is not installed. > Package nginx-light is not installed. > Package nginx-extras is not installed. > > dpkg: error processing package nginx (--configure): > dependency problems - leaving unconfigured > Errors were encountered while processing: > nginx-core > nginx > E: Sub-process /usr/bin/dpkg returned an error code (1) > > ---------------------------- > > Как установить nginx? > > Спасибо > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,276085,276085#msg-276085 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на forum.nginx.org Fri Aug 18 07:26:49 2017 From: nginx-forum на forum.nginx.org (Andrey_Bushman) Date: Fri, 18 Aug 2017 03:26:49 -0400 Subject: =?UTF-8?B?UmU6INCe0YjQuNCx0LrQuCDQv9GA0Lgg0YPRgdGC0LDQvdC+0LLQutC1IE5HSU5Y?= In-Reply-To: <3484530.hh5hYD4xM4@cybernote> References: <3484530.hh5hYD4xM4@cybernote> Message-ID: <3365074ba4b1b3c836d66901f027f4e4.NginxMailingListRussian@forum.nginx.org> Я не однократно пытался установить из одного и того же места: командой, обозначенной мною в первом сообщении. Из исходников ничего не собирал. Вечером из дома попробую удалить и снова поставить, но надежда, что вдруг волшебным образом в этот раз установка пройдёт успешно - очень слабая. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,276085,276091#msg-276091 From ano на bestmx.net Fri Aug 18 08:06:58 2017 From: ano на bestmx.net (Andrey Oktyabrskiy) Date: Fri, 18 Aug 2017 11:06:58 +0300 Subject: =?UTF-8?B?UmU6INCe0YjQuNCx0LrQuCDQv9GA0Lgg0YPRgdGC0LDQvdC+0LLQutC1IE5HSU5Y?= In-Reply-To: <6353614913a27dd639bb812721fc0d90.NginxMailingListRussian@forum.nginx.org> References: <6353614913a27dd639bb812721fc0d90.NginxMailingListRussian@forum.nginx.org> Message-ID: <3bc871c6-755e-32f8-7f10-840529b80f64@bestmx.net> Andrey_Bushman wrote: > Вывод обозначенных команд мне не сильно помог: > Aug 17 15:53:39 vds nginx[15842]: nginx: [emerg] bind() to 0.0.0.0:80 > failed (98: Address already in use) У вас уже работает вебсервер. Выяснить, откуда он взялся, можно как-то так: $ sudo netstat -anp | grep ':80 .*LISTEN' tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1683/nginx.conf $ ps ax | grep 1683 | grep -v grep 1683 ? Ss 0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf $ dpkg -S /usr/sbin/nginx nginx: /usr/sbin/nginx From nginx-forum на forum.nginx.org Fri Aug 18 10:00:26 2017 From: nginx-forum на forum.nginx.org (Andrey_Bushman) Date: Fri, 18 Aug 2017 06:00:26 -0400 Subject: =?UTF-8?B?UmU6INCe0YjQuNCx0LrQuCDQv9GA0Lgg0YPRgdGC0LDQvdC+0LLQutC1IE5HSU5Y?= In-Reply-To: <3bc871c6-755e-32f8-7f10-840529b80f64@bestmx.net> References: <3bc871c6-755e-32f8-7f10-840529b80f64@bestmx.net> Message-ID: <2009e01d90b234609b1ea986ab044546.NginxMailingListRussian@forum.nginx.org> Спасибо, вечером попробую проверить. Я по книжкам изучаю Linux и Nginx. Вот со вторым столкнулся с попыткой установки, т.к. предполагал, что он не установлен, в виду того, что команды `which nginx` и` whereis nginx` не возвращали полного имени файла. Если он всё же установлен, то имеет ли смысл попробовать его деинсталлировать и установить заново? Я боюсь, что моя неоднократная попытка установить nginx могла его покоцать. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,276085,276093#msg-276093 From pavel2000 на ngs.ru Fri Aug 18 10:14:46 2017 From: pavel2000 на ngs.ru (Pavel V.) Date: Fri, 18 Aug 2017 17:14:46 +0700 Subject: =?UTF-8?B?UmU6INCe0YjQuNCx0LrQuCDQv9GA0Lgg0YPRgdGC0LDQvdC+0LLQutC1IE5HSU5Y?= In-Reply-To: <2009e01d90b234609b1ea986ab044546.NginxMailingListRussian@forum.nginx.org> References: <3bc871c6-755e-32f8-7f10-840529b80f64@bestmx.net> <2009e01d90b234609b1ea986ab044546.NginxMailingListRussian@forum.nginx.org> Message-ID: <997111437.20170818171446@ngs.ru> Здравствуйте, Andrey_Bushman. Вы писали 18 августа 2017 г., 17:00:26: > Спасибо, вечером попробую проверить. Я по книжкам изучаю Linux и Nginx. Вот > со вторым столкнулся с попыткой установки, т.к. предполагал, что он не > установлен, в виду того, что команды `which nginx` и` whereis nginx` не > возвращали полного имени файла. У Вас также может быть установлен другой сервис, использующий (слушающий) порт 80, например Apache. -- С уважением, Pavel mailto:pavel2000 на ngs.ru From nginx-forum на forum.nginx.org Mon Aug 21 11:38:57 2017 From: nginx-forum на forum.nginx.org (izzet) Date: Mon, 21 Aug 2017 07:38:57 -0400 Subject: =?UTF-8?B?0LfQsNC/0YDQvtGBINC90LUg0L/QvtC/0LDQtNCw0LXRgiDQsiDQu9C+0LPQuC4=?= Message-ID: Здравствуйте, Заранее скажу, в nginx-е знания только поверхностные и, возможно, топик даже не по адресу, хочу просто понять, проблема вообще в nginx или нет. Итегрируем сайт с системой оплаты. Пользователь после перенаправления на модуль оплаты и результат проведенных им там операций должен возвращаться POST запросом на наш сервер. Запрос до сервера не доходит и в логах не записывается. При ошибке в урле под 400 статусом запрос на наш сервер приходит, и в логи записывается: 213.172.75.248 - - [21/Aug/2017:12:25:29 +0400] "POST index.php?route=extension/payment/azericard/send HTTP/1.1" 400 166 "-" "-" Кто сталкивался с похожей проблемой, поясните, пожалуйста, в чем проблема. С хостером тоже связывались, на ip сайта никакие запросы не фильтруются. Проверял возврат запроса на другом сервере с Апачем - приходит без каких-либо проблем. Ещё нюанс: Модуль оплаты посылает POST запрос, и, не дожидаясь ответа от нашего сервера, закрывает соединение. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,276109,276109#msg-276109 From vbart на nginx.com Mon Aug 21 11:54:51 2017 From: vbart на nginx.com (Valentin V. Bartenev) Date: Mon, 21 Aug 2017 14:54:51 +0300 Subject: =?UTF-8?B?UmU6INC30LDQv9GA0L7RgSDQvdC1INC/0L7Qv9Cw0LTQsNC10YIg0LIg0LvQvtCz?= =?UTF-8?B?0Lgu?= In-Reply-To: References: Message-ID: <167036858.sVSgMqurqi@vbart-laptop> On Monday, 21 August 2017 14:38:57 MSK izzet wrote: > Здравствуйте, > Заранее скажу, в nginx-е знания только поверхностные и, возможно, топик даже > не по адресу, хочу просто понять, проблема вообще в nginx или нет. > > Итегрируем сайт с системой оплаты. Пользователь после перенаправления на > модуль оплаты и результат проведенных им там операций должен возвращаться > POST запросом на наш сервер. > Запрос до сервера не доходит и в логах не записывается. При ошибке в урле > под 400 статусом запрос на наш сервер приходит, и в логи записывается: > > 213.172.75.248 - - [21/Aug/2017:12:25:29 +0400] "POST > index.php?route=extension/payment/azericard/send HTTP/1.1" 400 166 "-" "-" > [..] Поскольку nginx не смог распарсить запрос, то обрабатывается он в контексте виртуального сервера по-умолчанию. Вы видимо не в те логи смотрите. Предполагаю, что логов у вас настроено больше одного и когда запрос правильный, то попадает он в какой-то другой лог. Ключевой вопрос, а как выясняли, что запрос не доходит, tcpdump смотрели? -- Валентин Бартенев From nginx-forum на forum.nginx.org Mon Aug 21 12:32:42 2017 From: nginx-forum на forum.nginx.org (izzet) Date: Mon, 21 Aug 2017 08:32:42 -0400 Subject: =?UTF-8?B?UmU6INC30LDQv9GA0L7RgSDQvdC1INC/0L7Qv9Cw0LTQsNC10YIg0LIg0LvQvtCz?= =?UTF-8?B?0Lgu?= In-Reply-To: <167036858.sVSgMqurqi@vbart-laptop> References: <167036858.sVSgMqurqi@vbart-laptop> Message-ID: Файл на сервере по указанному урлу обрабатывает запрос. Я сейчас прописал, чтобы все POST запросы он принтил в текстовый файл. Файл пуст. Проверял опять-таки на вышеуказанном сервере с апачем, скрипт отрабатывает. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,276109,276112#msg-276112 From vbart на nginx.com Mon Aug 21 12:43:25 2017 From: vbart на nginx.com (Valentin V. Bartenev) Date: Mon, 21 Aug 2017 15:43:25 +0300 Subject: =?UTF-8?B?UmU6INC30LDQv9GA0L7RgSDQvdC1INC/0L7Qv9Cw0LTQsNC10YIg0LIg0LvQvtCz?= =?UTF-8?B?0Lgu?= In-Reply-To: References: <167036858.sVSgMqurqi@vbart-laptop> Message-ID: <2391707.1ZtyEWh6j0@vbart-laptop> On Monday, 21 August 2017 15:32:42 MSK izzet wrote: > Файл на сервере по указанному урлу обрабатывает запрос. Я сейчас прописал, > чтобы все POST запросы он принтил в текстовый файл. Файл пуст. Проверял > опять-таки на вышеуказанном сервере с апачем, скрипт отрабатывает. > [..] Иногда представления о том, как конфигурация должна работать и что где обрабатывается расходятся с действительностью. Логика проста. Если запрос до nginx не доходит, то на стороне nginx сделать ничего нельзя, он тут ни при чем. Доходит или нет - наверняка можно узнать в tcpdump. То, что замена nginx на apache проблему решает, косвенно свидетельствует, что всё же доходить должен. Если он доходит, то значит он где-то обрабатывается - иначе быть не может. Проблема лишь в том, что обрабатывается он не там, где вы предполагаете. Отсюда и всё наблюдаемое. -- Валентин Бартенев From nginx-forum на forum.nginx.org Mon Aug 21 13:17:46 2017 From: nginx-forum на forum.nginx.org (izzet) Date: Mon, 21 Aug 2017 09:17:46 -0400 Subject: =?UTF-8?B?UmU6INC30LDQv9GA0L7RgSDQvdC1INC/0L7Qv9Cw0LTQsNC10YIg0LIg0LvQvtCz?= =?UTF-8?B?0Lgu?= In-Reply-To: <2391707.1ZtyEWh6j0@vbart-laptop> References: <2391707.1ZtyEWh6j0@vbart-laptop> Message-ID: Решил проблему добавлением директив: proxy_ignore_client_abort on fastcgi_ignore_client_abort on в настройке nginx. Проблема была как раз в разрыве соединения без получения ответа от сервера. Спасибо за отклик. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,276109,276114#msg-276114 From nginx-forum на forum.nginx.org Tue Aug 22 14:29:08 2017 From: nginx-forum на forum.nginx.org (alexitdv) Date: Tue, 22 Aug 2017 10:29:08 -0400 Subject: =?UTF-8?B?MzAyIE1vdmVkIFRlbXBvcmFyaWx5INC00LvRjyDQs9C10L3QtdGA0LjRgNGD0LU=?= =?UTF-8?B?0LwgemlwINCyIHBocA==?= Message-ID: <976377fe20c2311c45a2931cff9108cb.NginxMailingListRussian@forum.nginx.org> Ребята всем привет! Помогите советом. Уже голова лопается. Есть друпал на nginx + php-fpm. Есть в друпале страничка /admin/store/orders/russian_post/sets/860 На ней формочка и кнопочка экспорт. При ее нажатии генерится zip файлик и отдается. Только беда, он не скачивается из-за 302. Ответ 302 Moved Temporarily Cache-Control: public, must-revalidate Connection: keep-alive Content-Disposition: attachment; filename="F007701375635723400003.zip" Content-Transfer-Encoding: binary Content-Type: application/x-zip Date: Tue, 22 Aug 2017 14:16:20 GMT Expires: Sun, 19 Nov 1978 05:00:00 GMT Keep-Alive: timeout=60 Last-Modified: Tue, 22 Aug 2017 14:16:19 GMT Location: http://domain/admin/store/orders/russian_post/sets/860 Pragma: public Server: nginx Transfer-Encoding: chunked X-Powered-By: PHP/5.3.27 Конфиг server { listen IP:80; server_name domain.ru m.domain.ru www.domain.ru ddomain.ru www.ddomain.ru; root /home/domain/web/domain.ru/public_html; index index.php index.html index.htm; access_log /var/log/nginx/domains/domain.ru.log combined; access_log /var/log/nginx/domains/domain.ru.bytes bytes; error_log /var/log/nginx/domains/domain.ru.error.log error; #chunked_transfer_encoding off; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; if ($host = 'domain.ru') { rewrite ^/(.*)$ /robots_domain.txt; } if ($host = 'www.ddomain.ru') { rewrite ^/(.*)$ /robots_ddomain.txt; } if ($host = 'ddomain.ru') { rewrite ^/(.*)$ /robots_ddomain.txt; } } location = /robots_domain.txt { allow all; log_not_found off; access_log off; } location = /robots_ddomain.txt { allow all; log_not_found off; access_log off; } # Very rarely should these ever be accessed outside of your lan #location ~* \.(txt|log)$ { # allow 192.168.0.0/16; # deny all; #} location ~ \..*/.*\.php$ { return 403; } # No no for private location ~ ^/sites/.*/private/ { return 403; } # Block access to "hidden" files and directories whose names begin with a # period. This includes directories used by version control systems such # as Subversion or Git to store control files. location ~ (^|/)\. { return 403; } location / { try_files $uri @rewrite; # For Drupal <= 6 } location @rewrite { rewrite ^/(.*)$ /index.php?q=$1; } # Don't allow direct access to PHP files in the vendor directory. location ~ /vendor/.*\.php$ { deny all; return 404; } location ~ '\.php$|^/update.php' { fastcgi_split_path_info ^(.+?\.php)(|/.*)$; # Security note: If you're running a version of PHP older than the # latest 5.3, you should have "cgi.fix_pathinfo = 0;" in php.ini. # See http://serverfault.com/q/627903/94922 for details. include /etc/nginx/fastcgi_params; # Block httpoxy attacks. See https://httpoxy.org/. fastcgi_param HTTP_PROXY ""; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param QUERY_STRING $query_string; fastcgi_intercept_errors on; fastcgi_index index.php; fastcgi_pass unix:/opt/php53/var/run/domain.sock; } location ~ ^/sites/.*/files/imagecache/ { try_files $uri @rewrite; } location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { expires max; log_not_found off; } #error_page 403 /error/404.html; #error_page 404 /error/404.html; #error_page 500 502 503 504 /error/50x.html; location /error/ { alias /home/domain/web/domain.ru/document_errors/; } location ~* "/\.(htaccess|htpasswd)$" { deny all; return 404; } location /vstats/ { alias /home/domain/web/domain.ru/stats/; include /home/domain/web/domain.ru/stats/auth.conf*; } include /etc/nginx/conf.d/phpmyadmin.inc*; include /etc/nginx/conf.d/phppgadmin.inc*; include /etc/nginx/conf.d/webmail.inc*; include /home/domain/conf/web/nginx.domain.ru.conf*; } Posted at Nginx Forum: https://forum.nginx.org/read.php?21,276125,276125#msg-276125 From nginx-forum на forum.nginx.org Wed Aug 23 05:57:06 2017 From: nginx-forum на forum.nginx.org (alexitdv) Date: Wed, 23 Aug 2017 01:57:06 -0400 Subject: =?UTF-8?B?UmU6IDMwMiBNb3ZlZCBUZW1wb3JhcmlseSDQtNC70Y8g0LPQtdC90LXRgNC40YA=?= =?UTF-8?B?0YPQtdC8IHppcCDQsiBwaHA=?= In-Reply-To: <976377fe20c2311c45a2931cff9108cb.NginxMailingListRussian@forum.nginx.org> References: <976377fe20c2311c45a2931cff9108cb.NginxMailingListRussian@forum.nginx.org> Message-ID: <9be55d4e0076ba6f448b3a625e6c81f4.NginxMailingListRussian@forum.nginx.org> Решено Posted at Nginx Forum: https://forum.nginx.org/read.php?21,276125,276128#msg-276128 From nginx-forum на forum.nginx.org Wed Aug 23 06:31:36 2017 From: nginx-forum на forum.nginx.org (1a2bb2cc) Date: Wed, 23 Aug 2017 02:31:36 -0400 Subject: =?UTF-8?B?cmVwbGFjZSBoZWFkZXJzIC0g0LrQsNC6Pw==?= Message-ID: <0e816c1cc8062e92072d72b197a19d56.NginxMailingListRussian@forum.nginx.org> Привет! Пытаюсь реализовать пункт 4.2 https://tools.ietf.org/html/rfc2817#section-4 , т.е. добиться вот такого ответа: 1. HTTP/1.1 426 Upgrade Required 2. Server: nginx 3. Date: Wed, 23 Aug 2017 06:05:03 GMT 4. Content-Type: application/octet-stream 5. Content-Length: 16 6. Connection: Upgrade 7. Upgrade: TLS/1.0, HTTP/1.1 Конфигурация вот такая: server { listen 0.0.0.0:80; server_name core.example.com; add_header Upgrade "TLS/1.0, HTTP/1.1" always; add_header Connection Upgrade always; return 426 "Upgrade Required"; } Смотрю вот так: curl -I http://core.example.com Но, естественно, получаю вот такой ответ: 1. HTTP/1.1 426 2. Server: nginx 3. Date: Wed, 23 Aug 2017 06:05:03 GMT 4. Content-Type: application/octet-stream 5. Content-Length: 16 6. Connection: keep-alive 7. Connection: Upgrade 8. Upgrade: TLS/1.0, HTTP/1.1 В первой строке отсутствует описание "Upgrade Required" - как сделать чтобы описание добавлялось? В шестой строке присутствует ненужный "Connection: keep-alive" - как сделать чтобы заголовок Connection перезаписывался, а не суммировался? З.Ы. Пробовал ещё вот так: more_clear_headers 'Connection'; more_set_headers 'Connection: Upgrade'; Результат не меняется. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,276129,276129#msg-276129 From mdounin на mdounin.ru Wed Aug 23 14:30:46 2017 From: mdounin на mdounin.ru (Maxim Dounin) Date: Wed, 23 Aug 2017 17:30:46 +0300 Subject: =?UTF-8?B?UmU6IHJlcGxhY2UgaGVhZGVycyAtINC60LDQuj8=?= In-Reply-To: <0e816c1cc8062e92072d72b197a19d56.NginxMailingListRussian@forum.nginx.org> References: <0e816c1cc8062e92072d72b197a19d56.NginxMailingListRussian@forum.nginx.org> Message-ID: <20170823143046.GI93611@mdounin.ru> Hello! On Wed, Aug 23, 2017 at 02:31:36AM -0400, 1a2bb2cc wrote: > Привет! > Пытаюсь реализовать пункт 4.2 https://tools.ietf.org/html/rfc2817#section-4 > , т.е. добиться вот такого ответа: > > 1. HTTP/1.1 426 Upgrade Required > 2. Server: nginx > 3. Date: Wed, 23 Aug 2017 06:05:03 GMT > 4. Content-Type: application/octet-stream > 5. Content-Length: 16 > 6. Connection: Upgrade > 7. Upgrade: TLS/1.0, HTTP/1.1 В любом случае nginx не поддерживает RFC 2817, так что не совсем понятно, для чего это всё. Даже если вы сможете послать соответствующий ответ (что потребует модификаций в коде) - никто не обработает последующий upgrade соединения до SSL/TLS. Какова цель? [...] > В первой строке отсутствует описание "Upgrade Required" - как сделать чтобы > описание добавлялось? Нужно добавлять соответствующий код ответа в src/http/ngx_http_header_filter_module.c. Это, впрочем, не обязательно - текст ошибки не важен с точки зрения протокола HTTP. > В шестой строке присутствует ненужный "Connection: keep-alive" - как сделать > чтобы заголовок Connection перезаписывался, а не суммировался? Это опять же потребует модификаций кода, в том же файле. Но опять же не важно, с точки зрения протокола HTTP - в заголовке Connection перечисляются заголовки, которые не надо отправлять дальше, и там вполне можно (а иногда и нужно) перечислять более одного заголовка. -- Maxim Dounin http://nginx.org/ From nginx-forum на forum.nginx.org Thu Aug 24 08:18:01 2017 From: nginx-forum на forum.nginx.org (1a2bb2cc) Date: Thu, 24 Aug 2017 04:18:01 -0400 Subject: =?UTF-8?B?UmU6IHJlcGxhY2UgaGVhZGVycyAtINC60LDQuj8=?= In-Reply-To: <20170823143046.GI93611@mdounin.ru> References: <20170823143046.GI93611@mdounin.ru> Message-ID: Привет! Цель была в ответе согласно RFC 2817. Благодарю! Ответы получены на все вопросы - оставляем как есть, немного модифицировав конфиг до такого: server { listen 0.0.0.0:80; server_name core.example.com; add_header Upgrade "TLS/1.0, HTTP/1.1" always; add_header Connection Upgrade always; return 426; } В этом случае Mozilla Firefox и Chromium более мягче обрабатывают ошибку, не пугая пользователя невозможностью подключиться к удалённому хосту. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,276129,276144#msg-276144 From bgx на protva.ru Thu Aug 24 08:26:35 2017 From: bgx на protva.ru (Evgeniy Berdnikov) Date: Thu, 24 Aug 2017 11:26:35 +0300 Subject: =?UTF-8?B?UmU6IHJlcGxhY2UgaGVhZGVycyAtINC60LDQuj8=?= In-Reply-To: References: <20170823143046.GI93611@mdounin.ru> Message-ID: <20170824082634.GU4381@protva.ru> On Thu, Aug 24, 2017 at 04:18:01AM -0400, 1a2bb2cc wrote: > Цель была в ответе согласно RFC 2817. > Благодарю! Ответы получены на все вопросы - оставляем как есть, немного > модифицировав конфиг до такого: > > server { > listen 0.0.0.0:80; > server_name core.example.com; > add_header Upgrade "TLS/1.0, HTTP/1.1" always; > add_header Connection Upgrade always; > return 426; > } > > В этом случае Mozilla Firefox и Chromium более мягче обрабатывают ошибку, не > пугая пользователя невозможностью подключиться к удалённому хосту. Поясните, pls, какая была ошибка до и какая стала после этих модификаций. Ведь к хосту по порту 80 подключиться в любом случае можно, разве не так? -- Eugene Berdnikov From nginx-forum на forum.nginx.org Thu Aug 24 08:42:05 2017 From: nginx-forum на forum.nginx.org (1a2bb2cc) Date: Thu, 24 Aug 2017 04:42:05 -0400 Subject: =?UTF-8?B?UmU6IHJlcGxhY2UgaGVhZGVycyAtINC60LDQuj8=?= In-Reply-To: <20170824082634.GU4381@protva.ru> References: <20170824082634.GU4381@protva.ru> Message-ID: Привет! Да, подключиться по 80 порту можно, но если в конфиге стоит строка: return 426 "Upgrade Required"; Chromium выводит страничку с таким текстом (в консоли разработчика даже будут отсутствовать заголовки): Не удается получить доступ к сайту Веб-страница по адресу http://core.example.com/, возможно, временно недоступна или постоянно перемещена по новому адресу. ERR_INVALID_RESPONSE А Mozilla Firefox вот с таким: Файл не найден Firefox не может найти файл http://core.example.com/. Проверьте правильность введённого имени файла, соответствие регистра и отсутствие других ошибок в имени файла. Проверьте, не был ли файл переименован, удалён или перемещён. А если в конфиге указать: return 426; Что в Chromium, что в Mozilla Firefox будет чистая беленькая страничка. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,276129,276146#msg-276146 From alex.hha на gmail.com Thu Aug 24 13:43:14 2017 From: alex.hha на gmail.com (Alex Domoradov) Date: Thu, 24 Aug 2017 16:43:14 +0300 Subject: =?UTF-8?B?UmU6IHJlcGxhY2UgaGVhZGVycyAtINC60LDQuj8=?= In-Reply-To: References: <20170824082634.GU4381@protva.ru> Message-ID: > Что в Chromium, что в Mozilla Firefox будет чистая беленькая страничка. т.е. белая пустая страница без какого либо сообщения лучше? 2017-08-24 11:42 GMT+03:00 1a2bb2cc : > Привет! > Да, подключиться по 80 порту можно, но если в конфиге стоит строка: > > return 426 "Upgrade Required"; > > > Chromium выводит страничку с таким текстом (в консоли разработчика даже > будут отсутствовать заголовки): > Не удается получить доступ к сайту > > Веб-страница по адресу http://core.example.com/, возможно, временно > недоступна или постоянно перемещена по новому адресу. > ERR_INVALID_RESPONSE > > > > А Mozilla Firefox вот с таким: > Файл не найден > > Firefox не может найти файл http://core.example.com/. > > Проверьте правильность введённого имени файла, соответствие регистра и > отсутствие других ошибок в имени файла. > Проверьте, не был ли файл переименован, удалён или перемещён. > > > > > А если в конфиге указать: > return 426; > > Что в Chromium, что в Mozilla Firefox будет чистая беленькая страничка. > > Posted at Nginx Forum: https://forum.nginx.org/read. > php?21,276129,276146#msg-276146 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From vovansystems на gmail.com Fri Aug 25 10:55:26 2017 From: vovansystems на gmail.com (VovansystemS) Date: Fri, 25 Aug 2017 13:55:26 +0300 Subject: =?UTF-8?Q?ngx=5Fhttp=5Fauth=5Frequest_=D0=B8_fastcgi?= Message-ID: Добрый день, подскажите пожалуйста можно ли использовать ngx_http_auth_request_module с php скриптом, который запускается через php-fpm (fastcgi) и как это сделать? задача: при попытке доступа к /test.php нужно проверить содержится ли IP посетителя в базе. если содержится, то не пускать. пробую так: написал скрипт /is_proxy.php, который проверяет - подключается curl'ом, парсит результат и возвращает статус 200 или 403. не работает - пускает со всех айпишников. пробовал добавлять satisfy и доггировать локейшн с /is_proxy.php - в логе пусто. spdy не включал. в чём может быть проблема и как правильно решить задачу? location = /test.php { auth_request /is_proxy.php; fastcgi_pass fcgi_pool; } location = /is_proxy.php { fastcgi_param X-Real-IP $remote_addr; fastcgi_pass_request_body off; fastcgi_intercept_errors off; fastcgi_pass fcgi_pool; } cat is_proxy.php References: Message-ID: а, кажется разобрался. так работает: location = /test.php { auth_request /is_proxy.php; fastcgi_pass fcgi_pool; } location = /is_proxy.php { fastcgi_pass_request_body off; fastcgi_intercept_errors off; fastcgi_pass fcgi_pool; } cat is_proxy.php Все привет! Есть nginx, который отдает статику. Когда я нагружаю его через wrk, вижу такую картину. $ wrk -t16 -c1000 -d30s .... Running 30s test @ http://.... 16 threads and 1000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 77.09ms 52.79ms 1.16s 97.89% Req/Sec 808.15 39.97 1.01k 73.01% 386359 requests in 29.98s, 313.19MB read Requests/sec: 12887.79 Transfer/sec: 10.45MB Максимальный запрос занимает больше секунды. Вопрос следующий, откуда беруться такие долгие реквесты на статике и как это можно поправить? -- С уважением, Сергей Костин ** ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mdounin на mdounin.ru Mon Aug 28 13:37:07 2017 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 28 Aug 2017 16:37:07 +0300 Subject: =?UTF-8?B?UmU6INCU0L7Qu9Cz0LjQtSDQt9Cw0L/RgNC+0YHRiy4=?= In-Reply-To: References: Message-ID: <20170828133707.GY93611@mdounin.ru> Hello! On Mon, Aug 28, 2017 at 12:36:35PM +0300, Sergey Kostin wrote: > Все привет! > > Есть nginx, который отдает статику. > > Когда я нагружаю его через wrk, вижу такую картину. > > $ wrk -t16 -c1000 -d30s .... > Running 30s test @ http://.... > 16 threads and 1000 connections > Thread Stats Avg Stdev Max +/- Stdev > Latency 77.09ms 52.79ms 1.16s 97.89% > Req/Sec 808.15 39.97 1.01k 73.01% > 386359 requests in 29.98s, 313.19MB read > Requests/sec: 12887.79 > Transfer/sec: 10.45MB > > Максимальный запрос занимает больше секунды. Вопрос следующий, откуда > беруться такие долгие реквесты на статике и как это можно поправить? С учётом того, что тест, судя по всему, банально упёрт в сеть - я бы поставил на потерявшийся пакет в момент установления соединения. -- Maxim Dounin http://nginx.org/ From kostin на nixteam.ru Mon Aug 28 14:26:08 2017 From: kostin на nixteam.ru (Sergey Kostin) Date: Mon, 28 Aug 2017 17:26:08 +0300 Subject: =?UTF-8?B?UmU6INCU0L7Qu9Cz0LjQtSDQt9Cw0L/RgNC+0YHRiy4=?= In-Reply-To: <20170828133707.GY93611@mdounin.ru> References: <20170828133707.GY93611@mdounin.ru> Message-ID: <43de61cd-d4a1-e9db-bca0-206d645aa387@nixteam.ru> Сделал повторный тест, увеличил время теста до двух минут. Если я правильно понял из latency, то более десяти процентов запросов имеют время несколько секунд. Также среднее время обработки запроса возросло до пол секунды. $ wrk -t16 -c1000 -d120s --latency http://... Running 2m test @ http://... 16 threads and 1000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 548.42ms 1.35s 4.15s 87.61% Req/Sec 1.49k 603.71 2.57k 85.00% Latency Distribution 50% 34.04ms 75% 36.07ms 90% 4.15s 99% 4.15s 2834942 requests in 2.00m, 0.90GB read Socket errors: connect 0, read 0, write 0, timeout 1988 Non-2xx or 3xx responses: 2834942 Requests/sec: 23623.11 Transfer/sec: 7.64MB С уважением, Сергей Костин On 28.08.2017 16:37, Maxim Dounin wrote: > Hello! > > On Mon, Aug 28, 2017 at 12:36:35PM +0300, Sergey Kostin wrote: > >> Все привет! >> >> Есть nginx, который отдает статику. >> >> Когда я нагружаю его через wrk, вижу такую картину. >> >> $ wrk -t16 -c1000 -d30s .... >> Running 30s test @ http://.... >> 16 threads and 1000 connections >> Thread Stats Avg Stdev Max +/- Stdev >> Latency 77.09ms 52.79ms 1.16s 97.89% >> Req/Sec 808.15 39.97 1.01k 73.01% >> 386359 requests in 29.98s, 313.19MB read >> Requests/sec: 12887.79 >> Transfer/sec: 10.45MB >> >> Максимальный запрос занимает больше секунды. Вопрос следующий, откуда >> беруться такие долгие реквесты на статике и как это можно поправить? > С учётом того, что тест, судя по всему, банально упёрт в сеть - я > бы поставил на потерявшийся пакет в момент установления > соединения. > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mdounin на mdounin.ru Mon Aug 28 14:53:57 2017 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 28 Aug 2017 17:53:57 +0300 Subject: =?UTF-8?B?UmU6INCU0L7Qu9Cz0LjQtSDQt9Cw0L/RgNC+0YHRiy4=?= In-Reply-To: <43de61cd-d4a1-e9db-bca0-206d645aa387@nixteam.ru> References: <20170828133707.GY93611@mdounin.ru> <43de61cd-d4a1-e9db-bca0-206d645aa387@nixteam.ru> Message-ID: <20170828145357.GZ93611@mdounin.ru> Hello! On Mon, Aug 28, 2017 at 05:26:08PM +0300, Sergey Kostin wrote: > Сделал повторный тест, увеличил время теста до двух минут. > > Если я правильно понял из latency, то более десяти процентов запросов > имеют время несколько секунд. > > Также среднее время обработки запроса возросло до пол секунды. > > $ wrk -t16 -c1000 -d120s --latency http://... Running 2m test @ > http://... 16 threads and 1000 connections Thread Stats Avg Stdev Max > +/- Stdev Latency 548.42ms 1.35s 4.15s 87.61% Req/Sec 1.49k 603.71 2.57k > 85.00% Latency Distribution 50% 34.04ms 75% 36.07ms 90% 4.15s 99% 4.15s > 2834942 requests in 2.00m, 0.90GB read Socket errors: connect 0, read 0, > write 0, timeout 1988 Non-2xx or 3xx responses: 2834942 Requests/sec: > 23623.11 Transfer/sec: 7.64MB А тут я бы поставил на то, что кончились локальные порты на клиенте, note "Socket errors: ... timeout 1988" и "Non-2xx or 3xx responses: 2834942". К сожалению, в wrk диагностика подобных банальных проблем, когда недостаточна конфигурация клиента для нормальной работы тестов, - очень плохая, если не сказать грубее. Другие причины тоже возможны, но в моей практике - маловероятны. Хотя, конечно, заглянуть в логи nginx'а для очистки совести - стоит в любом случае. -- Maxim Dounin http://nginx.org/ From dsimonov на gmail.com Wed Aug 30 07:38:45 2017 From: dsimonov на gmail.com (Dmitry Simonov) Date: Wed, 30 Aug 2017 10:38:45 +0300 Subject: =?UTF-8?B?0J3QtdC70LXQs9Cw0LvRjNC90L7QtSDQv9GA0L7QutGB0LjRgNC+0LLQsNC90Lg=?= =?UTF-8?B?0LUg0YHQsNC50YLQsCDRgdGA0LXQtNGB0YLQstCw0LzQuCBuZ2lueA==?= Message-ID: Коллеги! А есть какой-то более-менее достоверный способ определить, что вот эти и эти клиенты, - это nginx, который проксирует наш сервис куда-то на левый домен. В моём случае оригинал www.setup.ru, а проксированная нелегальная копия - www.britash.top Цель - запретить проксирование. --- Dmitriy V. Simonov From nginx на kinetiksoft.com Wed Aug 30 07:50:37 2017 From: nginx на kinetiksoft.com (=?utf-8?B?0JjQstCw0L0=?=) Date: Wed, 30 Aug 2017 10:50:37 +0300 Subject: =?UTF-8?B?UmU6INCd0LXQu9C10LPQsNC70YzQvdC+0LUg0L/RgNC+0LrRgdC40YDQvtCy0LA=?= =?UTF-8?B?0L3QuNC1INGB0LDQudGC0LAg0YHRgNC10LTRgdGC0LLQsNC80Lggbmdpbng=?= In-Reply-To: References: Message-ID: <1522853.6mXDAIU1tX@cybernote> Здравствуйте! Вариант сходу - проверять $remote_addr, Вам не подойдет? С уважением, Иван. В письме от среда, 30 августа 2017 г. 10:38:45 MSK пользователь Dmitry Simonov написал: > Коллеги! > > А есть какой-то более-менее достоверный способ определить, что вот эти > и эти клиенты, - это nginx, который проксирует наш сервис куда-то на > левый домен. > > В моём случае оригинал www.setup.ru, а проксированная нелегальная > копия - www.britash.top > > Цель - запретить проксирование. > > --- > Dmitriy V. Simonov > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From alex.hha на gmail.com Wed Aug 30 09:20:11 2017 From: alex.hha на gmail.com (Alex Domoradov) Date: Wed, 30 Aug 2017 12:20:11 +0300 Subject: =?UTF-8?B?UmU6INCd0LXQu9C10LPQsNC70YzQvdC+0LUg0L/RgNC+0LrRgdC40YDQvtCy0LA=?= =?UTF-8?B?0L3QuNC1INGB0LDQudGC0LAg0YHRgNC10LTRgdGC0LLQsNC80Lggbmdpbng=?= In-Reply-To: <1522853.6mXDAIU1tX@cybernote> References: <1522853.6mXDAIU1tX@cybernote> Message-ID: > Вариант сходу - проверять $remote_addr, Вам не подойдет? проверять на предмет чего? 2017-08-30 10:50 GMT+03:00 Иван : > Здравствуйте! > > Вариант сходу - проверять $remote_addr, Вам не подойдет? > > С уважением, Иван. > > В письме от среда, 30 августа 2017 г. 10:38:45 MSK пользователь Dmitry > Simonov написал: > > Коллеги! > > > > А есть какой-то более-менее достоверный способ определить, что вот эти > > и эти клиенты, - это nginx, который проксирует наш сервис куда-то на > > левый домен. > > > > В моём случае оригинал www.setup.ru, а проксированная нелегальная > > копия - www.britash.top > > > > Цель - запретить проксирование. > > > > --- > > Dmitriy V. Simonov > > _______________________________________________ > > 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 onokonem на gmail.com Wed Aug 30 09:29:44 2017 From: onokonem на gmail.com (Daniel Podolsky) Date: Wed, 30 Aug 2017 12:29:44 +0300 Subject: =?UTF-8?B?UmU6INCd0LXQu9C10LPQsNC70YzQvdC+0LUg0L/RgNC+0LrRgdC40YDQvtCy0LA=?= =?UTF-8?B?0L3QuNC1INGB0LDQudGC0LAg0YHRgNC10LTRgdGC0LLQsNC80Lggbmdpbng=?= In-Reply-To: References: Message-ID: > А есть какой-то более-менее достоверный способ определить, что вот эти > и эти клиенты, - это nginx, который проксирует наш сервис куда-то на > левый домен. нет, конечно. вообще, отличить легальное проксирование от нелегального невозможно. можно попробовать отдавать X-Accel-Redirect :) Браузер его игнорит, а nginx - обрабатывает From skobolo на gmail.com Wed Aug 30 10:09:15 2017 From: skobolo на gmail.com (Seva Kobylin) Date: Wed, 30 Aug 2017 13:09:15 +0300 Subject: =?UTF-8?B?UmU6INCd0LXQu9C10LPQsNC70YzQvdC+0LUg0L/RgNC+0LrRgdC40YDQvtCy0LA=?= =?UTF-8?B?0L3QuNC1INGB0LDQudGC0LAg0YHRgNC10LTRgdGC0LLQsNC80Lggbmdpbng=?= In-Reply-To: References: Message-ID: <0C58038C-1D6D-4792-B954-AC8DE01285A8@gmail.com> Нет, Но, судя по корневой задаче, стоит почитать про CSRF и CORS :-) > 30 авг. 2017 г., в 10:38, Dmitry Simonov написал(а): > > Коллеги! > > А есть какой-то более-менее достоверный способ определить, что вот эти > и эти клиенты, - это nginx, который проксирует наш сервис куда-то на > левый домен. > > В моём случае оригинал www.setup.ru, а проксированная нелегальная > копия - www.britash.top > > Цель - запретить проксирование. > > --- > Dmitriy V. Simonov > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From dmitriy на lyalyuev.info Wed Aug 30 10:51:13 2017 From: dmitriy на lyalyuev.info (Dmitriy Lyalyuev) Date: Wed, 30 Aug 2017 13:51:13 +0300 Subject: =?UTF-8?B?UmU6INCd0LXQu9C10LPQsNC70YzQvdC+0LUg0L/RgNC+0LrRgdC40YDQvtCy0LA=?= =?UTF-8?B?0L3QuNC1INGB0LDQudGC0LAg0YHRgNC10LTRgdGC0LLQsNC80Lggbmdpbng=?= In-Reply-To: <0C58038C-1D6D-4792-B954-AC8DE01285A8@gmail.com> References: <0C58038C-1D6D-4792-B954-AC8DE01285A8@gmail.com> Message-ID: Можно айпишник прокси в блэклист. 30 августа 2017 г., 13:09 пользователь Seva Kobylin написал: > Нет, > Но, судя по корневой задаче, стоит почитать про CSRF и CORS :-) > > > 30 авг. 2017 г., в 10:38, Dmitry Simonov > написал(а): > > > > Коллеги! > > > > А есть какой-то более-менее достоверный способ определить, что вот эти > > и эти клиенты, - это nginx, который проксирует наш сервис куда-то на > > левый домен. > > > > В моём случае оригинал www.setup.ru, а проксированная нелегальная > > копия - www.britash.top > > > > Цель - запретить проксирование. > > > > --- > > Dmitriy V. Simonov > > _______________________________________________ > > 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 > -- With best regards, Dmitriy Lyalyuev https://lyalyuev.info ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mdounin на mdounin.ru Wed Aug 30 11:21:57 2017 From: mdounin на mdounin.ru (Maxim Dounin) Date: Wed, 30 Aug 2017 14:21:57 +0300 Subject: =?UTF-8?B?UmU6INCd0LXQu9C10LPQsNC70YzQvdC+0LUg0L/RgNC+0LrRgdC40YDQvtCy0LA=?= =?UTF-8?B?0L3QuNC1INGB0LDQudGC0LAg0YHRgNC10LTRgdGC0LLQsNC80Lggbmdpbng=?= In-Reply-To: References: Message-ID: <20170830112157.GB93611@mdounin.ru> Hello! On Wed, Aug 30, 2017 at 12:29:44PM +0300, Daniel Podolsky wrote: > > А есть какой-то более-менее достоверный способ определить, что вот эти > > и эти клиенты, - это nginx, который проксирует наш сервис куда-то на > > левый домен. > нет, конечно. > > вообще, отличить легальное проксирование от нелегального невозможно. > > можно попробовать отдавать X-Accel-Redirect :) Браузер его игнорит, а > nginx - обрабатывает Правильно настроенный nginx - тоже игнорит, http://nginx.org/r/proxy_ignore_headers. -- Maxim Dounin http://nginx.org/ From nginx-forum на forum.nginx.org Wed Aug 30 12:23:22 2017 From: nginx-forum на forum.nginx.org (melchiades) Date: Wed, 30 Aug 2017 08:23:22 -0400 Subject: =?UTF-8?B?cHJveHkgcGFzcyDQsdC10Lcg0LjQt9C80LXQvdC10L3QuNGPIFVSTA==?= Message-ID: <78a06ad0765e66e958c31a5e96e0bc9a.NginxMailingListRussian@forum.nginx.org> Добрый день. Коллеги, посоветуйте как сделать default proxy в nginx-е. Проблема такая. У меня есть такой простой блок в конфиге: location ~/images/(.*) { resolver 10.73.1.45 ipv6=off; proxy_pass https://example.com/groups/$1; } Все работало пока заказчик не сказал, что все запросы на этот example.com/groups/$1 надо отправить на его локальный проскси и определенный порт, который скажем называется proxy.com:3120. Если в proxy_pass указать прокси, то изменится URL и прокси не знает что с этим запросом длелать ... Пробовал: proxy_pass https://proxy.com:3120/groups/$1; proxy_set_header Host https://example.com/groups/$1; - не помогает. При этом тот же curl при прописанных переменных окружения HTTP_PROXY и HTTPS_PROXY отлично переылает запрос с URL-ом example.com/groups/1 на этот проски и получает ответ. Как в nginx-е сделать такой же ... default proxy ... ? curl-то как-то работает ... :(. Голову уже сломал ... :( Posted at Nginx Forum: https://forum.nginx.org/read.php?21,276187,276187#msg-276187 From rogat1y на gmail.com Wed Aug 30 16:11:42 2017 From: rogat1y на gmail.com (Maxim K) Date: Wed, 30 Aug 2017 19:11:42 +0300 Subject: =?UTF-8?B?UmU6IHByb3h5IHBhc3Mg0LHQtdC3INC40LfQvNC10L3QtdC90LjRjyBVUkw=?= In-Reply-To: <78a06ad0765e66e958c31a5e96e0bc9a.NginxMailingListRussian@forum.nginx.org> References: <78a06ad0765e66e958c31a5e96e0bc9a.NginxMailingListRussian@forum.nginx.org> Message-ID: >> proxy_set_header Host https://example.com/groups/$1; - не помогает. вот так делать неправильно. в хидере Host должен быть только домен без протокола если я всё правильно понял, Вы хотите чтобы nginx ходил до проксируемого сервера через прокси-сервер? так nginx не умеет. 30 августа 2017 г., 15:23 пользователь melchiades < nginx-forum на forum.nginx.org> написал: > Добрый день. > > Коллеги, посоветуйте как сделать default proxy в nginx-е. > > Проблема такая. > > У меня есть такой простой блок в конфиге: > location ~/images/(.*) { > resolver 10.73.1.45 ipv6=off; > proxy_pass https://example.com/groups/$1; > } > > Все работало пока заказчик не сказал, что все запросы на этот > example.com/groups/$1 надо отправить на его локальный проскси и > определенный > порт, который скажем называется proxy.com:3120. > > Если в proxy_pass указать прокси, то изменится URL и прокси не знает что с > этим запросом длелать ... > > Пробовал: > proxy_pass https://proxy.com:3120/groups/$1; > proxy_set_header Host https://example.com/groups/$1; - не помогает. > > При этом тот же curl при прописанных переменных окружения HTTP_PROXY и > HTTPS_PROXY отлично переылает запрос с URL-ом example.com/groups/1 на > этот > проски и получает ответ. > > Как в nginx-е сделать такой же ... default proxy ... ? curl-то как-то > работает ... :(. > > Голову уже сломал ... :( > > Posted at Nginx Forum: https://forum.nginx.org/read. > php?21,276187,276187#msg-276187 > > _______________________________________________ > 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 Aug 30 17:17:08 2017 From: nginx-forum на forum.nginx.org (scoundrel.oz) Date: Wed, 30 Aug 2017 13:17:08 -0400 Subject: =?UTF-8?B?UmU6INCd0LXQu9C10LPQsNC70YzQvdC+0LUg0L/RgNC+0LrRgdC40YDQvtCy0LA=?= =?UTF-8?B?0L3QuNC1INGB0LDQudGC0LAg0YHRgNC10LTRgdGC0LLQsNC80Lggbmdpbng=?= In-Reply-To: References: Message-ID: Я хоть не специалист и изучаю nginx где-то неделю сейчас в процессе конфигурации клиента почерпнул чуть-чуть знаний. Заметил закономерность, что ваш Apache скорее всего сидит на http://www.setup.ru:8080/ и при этом он отдает очень легко все что там есть. https://toster.ru/q/77528#answer_256142 --- вот тут правильно написана его настройка(чтоб только локально отдавал контент). А дальше я бы на вашем месте(по своим знаниям), добавил бы в nginx http://nginx.org/ru/docs/http/ngx_http_sub_module.html подмену строки ответа - который бы проверял если хост setup.ru, все ок. Если нет переадресовывал к вам с указанием допустим utm_referer и сайт. Так бы я отловил всех кто делает проксирование и на них уже писать жалобы. (а аудиторию все равно бы отправил на главный сайт) Кстати подозреваю что так могут просто продвигаться ваши партнеры, проксируя ваш сервис и дописывая свои куки. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,276180,276188#msg-276188 From lonerr на nginx.com Thu Aug 31 10:44:15 2017 From: lonerr на nginx.com (Oleg A. Mamontov) Date: Thu, 31 Aug 2017 13:44:15 +0300 Subject: =?UTF-8?B?0JLQsNC60LDQvdGB0LjRjyDQsiDQutC+0LzQv9Cw0L3QuNC4IE5naW54?= Message-ID: <20170831104101.avwy5czunachmt6i@xenon.mamontov.net> Добрый день. У нас открыта вакансия инженера службы тех.поддержки в Сан-Франциско, США: https://www.nginx.com/jobs/enterprise-support-engineer-russian-speaking/ Вопросы, рекомендации и CV присылайте, пожалуйста, не в рассылку, а напрямую мне: lonerr на nginx.com Спасибо. -- Cheers, Oleg A. Mamontov