From nginx-forum на forum.nginx.org Fri Nov 1 14:57:32 2019 From: nginx-forum на forum.nginx.org (opan) Date: Fri, 01 Nov 2019 10:57:32 -0400 Subject: server_name_in_redirect? Message-ID: <72f1da87727d4e3e6864bf30d694ddf9.NginxMailingListRussian@forum.nginx.org> Добрый день. Есть следующая конфигурация сервера: server { listen 80; ## listen for ipv4 listen 443 default_server ssl; server_name localhost; server_name_in_redirect off; location = /loc { if ($scheme = http) { return 301 https://$server_name$request_uri; } ... Мы ожидаем что все запросы, которые попадают в этот пустой server_name, будут перенаправляться на https://$host/loc/$request_uri, так как есть директива: server_name_in_redirect off; Однако запросы перенаправляются на https://localhost/loc/$request_uri Из документации такое поведение не удалось понять. Можете пояснить, пожалуйста, как правильно пользоваться это директивой? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286073,286073#msg-286073 From mdounin на mdounin.ru Fri Nov 1 16:27:40 2019 From: mdounin на mdounin.ru (Maxim Dounin) Date: Fri, 1 Nov 2019 19:27:40 +0300 Subject: server_name_in_redirect? In-Reply-To: <72f1da87727d4e3e6864bf30d694ddf9.NginxMailingListRussian@forum.nginx.org> References: <72f1da87727d4e3e6864bf30d694ddf9.NginxMailingListRussian@forum.nginx.org> Message-ID: <20191101162740.GH12894@mdounin.ru> Hello! On Fri, Nov 01, 2019 at 10:57:32AM -0400, opan wrote: > Добрый день. > > Есть следующая конфигурация сервера: > > server { > listen 80; ## listen for ipv4 > listen 443 default_server ssl; > > server_name localhost; > server_name_in_redirect off; > > location = /loc { > if ($scheme = http) { > return 301 https://$server_name$request_uri; > } > > ... > Мы ожидаем что все запросы, которые попадают в этот пустой server_name, > будут перенаправляться на https://$host/loc/$request_uri, так как есть > директива: server_name_in_redirect off; Однако запросы перенаправляются > на https://localhost/loc/$request_uri > > Из документации такое поведение не удалось понять. Можете пояснить, > пожалуйста, как правильно пользоваться это директивой? Директива server_name_in_redirect влияет только на то, что будет испольвоваться в host-части перенаправлений, которые возвращает сам nginx (а равно в случаях, когда nginx преобразует перенаправления к абсолютным). В приведённом же случае - в перенаправлении явно используется $server_name, и результат будет ровно такой, как написано, значение директивы server_name_in_redirect никак на это не влияет. Если вы хотите, чтобы возвращалось перенаправление на https://$host - так и напишите в конфиге. -- Maxim Dounin http://mdounin.ru/ From nginx-forum на forum.nginx.org Mon Nov 4 13:14:08 2019 From: nginx-forum на forum.nginx.org (Proline29) Date: Mon, 04 Nov 2019 08:14:08 -0500 Subject: =?UTF-8?B?0JHQu9C+0LrQuNGA0L7QstC60LAgVVJM?= Message-ID: Суть задачи блокировать URL вида https://mysite.com/#id=826c99368cc93a894267703e0fc2ed46 Пробовал след. варианты. if ( $request_uri = https://mysite.com/#id=826c99368cc93a894267703e0fc2ed46) { return 444; } location ~* https://mysite.com/#id=826c99368cc93a894267703e0fc2ed46 { deny all; } if ( $query_string = "826c99368cc93a894267703e0fc2ed46" ) { return 404; } Не 1 не сработал, просьба подсказать если кто либо сталкивался либо есть идеи. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286087,286087#msg-286087 From chipitsine на gmail.com Mon Nov 4 13:23:08 2019 From: chipitsine на gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Mon, 4 Nov 2019 18:23:08 +0500 Subject: =?UTF-8?B?UmU6INCR0LvQvtC60LjRgNC+0LLQutCwIFVSTA==?= In-Reply-To: References: Message-ID: пн, 4 нояб. 2019 г. в 18:14, Proline29 : > Суть задачи блокировать URL вида > https://mysite.com/#id=826c99368cc93a894267703e0fc2ed46 часть, начинающаяся с '#' и дальше, не передается на сервер. > > Пробовал след. варианты. > > if ( $request_uri = > https://mysite.com/#id=826c99368cc93a894267703e0fc2ed46) > { > return 444; > } > > location ~* https://mysite.com/#id=826c99368cc93a894267703e0fc2ed46 { > deny all; > } > > if ( $query_string = "826c99368cc93a894267703e0fc2ed46" ) { > return 404; > } > > Не 1 не сработал, просьба подсказать если кто либо сталкивался либо есть > идеи. > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,286087,286087#msg-286087 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на forum.nginx.org Tue Nov 5 13:11:44 2019 From: nginx-forum на forum.nginx.org (greenwar) Date: Tue, 05 Nov 2019 08:11:44 -0500 Subject: =?UTF-8?B?0LfQsNGH0LXQvCDQv9C40YHQsNGC0YwgRmFzdENHSSDRgdC10YDQstC10YA/?= Message-ID: <694ae5e529b177172e26a9c9e8b2c22e.NginxMailingListRussian@forum.nginx.org> Добрый день. а нельзя ли обойтись БЕЗ fcgi на пути к самому производительному серверу, м? вот, например, "Hello World" в виде N-модуля прекрасно себя чувствует: https://tejgop.github.io/nginx-module-guide/#the-c-file что мешает сходить в БД, собрать string "..." и также вернуть клиенту через NGINX? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286092,286092#msg-286092 From nginx-forum на forum.nginx.org Tue Nov 5 13:15:06 2019 From: nginx-forum на forum.nginx.org (greenwar) Date: Tue, 05 Nov 2019 08:15:06 -0500 Subject: =?UTF-8?B?UmU6INC30LDRh9C10Lwg0L/QuNGB0LDRgtGMIEZhc3RDR0kg0YHQtdGA0LLQtdGA?= =?UTF-8?B?Pw==?= In-Reply-To: <694ae5e529b177172e26a9c9e8b2c22e.NginxMailingListRussian@forum.nginx.org> References: <694ae5e529b177172e26a9c9e8b2c22e.NginxMailingListRussian@forum.nginx.org> Message-ID: <7e81a43c561315940aceb2f5fce64122.NginxMailingListRussian@forum.nginx.org> я даже больше скажу: можно ведь запросы поделить по категориям и под каждую модуль слабать... POST - один модуль обрабатывает AJAX - другой GET-reports GET-table GET-show каждому свой модуль - идеально? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286092,286093#msg-286093 From nefer05 на gmail.com Wed Nov 6 09:09:10 2019 From: nefer05 на gmail.com (=?UTF-8?B?0KDQvtC80LDQvSDQnNC+0YHQutCy0LjRgtC40L0=?=) Date: Wed, 6 Nov 2019 12:09:10 +0300 Subject: =?UTF-8?B?UmU6INC30LDRh9C10Lwg0L/QuNGB0LDRgtGMIEZhc3RDR0kg0YHQtdGA0LLQtdGA?= =?UTF-8?B?Pw==?= In-Reply-To: <694ae5e529b177172e26a9c9e8b2c22e.NginxMailingListRussian@forum.nginx.org> References: <694ae5e529b177172e26a9c9e8b2c22e.NginxMailingListRussian@forum.nginx.org> Message-ID: Можно, например, открыть для себя tarantool и его модуль для nginx. On Tue, Nov 5, 2019 at 4:12 PM greenwar wrote: > Добрый день. > а нельзя ли обойтись БЕЗ fcgi на пути к самому производительному серверу, > м? > вот, например, "Hello World" в виде N-модуля прекрасно себя чувствует: > https://tejgop.github.io/nginx-module-guide/#the-c-file > что мешает сходить в БД, собрать string "..." и также вернуть > клиенту через NGINX? > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,286092,286092#msg-286092 > > _______________________________________________ > 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 Nov 6 09:23:49 2019 From: nginx-forum на forum.nginx.org (kvt) Date: Wed, 06 Nov 2019 04:23:49 -0500 Subject: =?UTF-8?B?UmU6INC30LDRh9C10Lwg0L/QuNGB0LDRgtGMIEZhc3RDR0kg0YHQtdGA0LLQtdGA?= =?UTF-8?B?Pw==?= In-Reply-To: <7e81a43c561315940aceb2f5fce64122.NginxMailingListRussian@forum.nginx.org> References: <694ae5e529b177172e26a9c9e8b2c22e.NginxMailingListRussian@forum.nginx.org> <7e81a43c561315940aceb2f5fce64122.NginxMailingListRussian@forum.nginx.org> Message-ID: <5f6eebc16e8c8ceefdf92655122c5989.NginxMailingListRussian@forum.nginx.org> Ну вообще раньше так и было, писали код на Си, потом рутинные задачи (прием, отправку и диспетчерезацию запросов) возложили на веб-сервер, а бизнес-логику либо продолжали писать на плюсах или на perl. Но это все было медленно и неудобно, разработка, я имею ввиду. Позже появились языки более высокого уровня, для создания бизнес-логики и их интерпретаторы в виде модулей для веб-сервера. Что сильно ускорило разработку и внесение изменений в код продуктов. Такие дела. Я ответил на Ваш вопрос? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286092,286102#msg-286102 From nginx-forum на forum.nginx.org Wed Nov 6 11:56:44 2019 From: nginx-forum на forum.nginx.org (greenwar) Date: Wed, 06 Nov 2019 06:56:44 -0500 Subject: =?UTF-8?B?UmU6INC30LDRh9C10Lwg0L/QuNGB0LDRgtGMIEZhc3RDR0kg0YHQtdGA0LLQtdGA?= =?UTF-8?B?Pw==?= In-Reply-To: References: Message-ID: <686a7704c6c91a9eb56df85b6a971735.NginxMailingListRussian@forum.nginx.org> Роман Москвитин Wrote: ------------------------------------------------------- > Можно, например, открыть для себя tarantool и его модуль для nginx. хмм, почитал: http://highload.guide/blog/building-on-nginx-and-tarantool.html ребята подняли 4 сервера (по 4 ядра) с 16ю тарантулами (там репликация 2х2) + 4 апп-сервера (ещё 16 тарантулов) ...и получили 20к рпс на сервере с 4мя ядрами... в сумме 80-100... Такая же цифра (20к) была озвучена в другой их статье (https://habr.com/ru/company/mailru/blog/417829/) только там было 1 ядро и NGINX делил его с тарантулом... (что порождает вопросы... разница между четырьмя ядрами и одним таки есть) Цифра не устраивает. Потому что тот же fcgi-сервер на C++ выдаёт 30к рпс через libevent на поток. Лучше уж его иметь, чем погружаться по ноздри в Lua. Я рассчитывал, что убрав всё лишнее и оставив только NGINX (который в соло выдаёт под 100к) + C/C++ можно поднять 40-50к+. Иначе эта возня с NGINX теряет смысл. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286092,286103#msg-286103 From nginx-forum на forum.nginx.org Wed Nov 6 12:02:53 2019 From: nginx-forum на forum.nginx.org (greenwar) Date: Wed, 06 Nov 2019 07:02:53 -0500 Subject: =?UTF-8?B?UmU6INC30LDRh9C10Lwg0L/QuNGB0LDRgtGMIEZhc3RDR0kg0YHQtdGA0LLQtdGA?= =?UTF-8?B?Pw==?= In-Reply-To: <5f6eebc16e8c8ceefdf92655122c5989.NginxMailingListRussian@forum.nginx.org> References: <694ae5e529b177172e26a9c9e8b2c22e.NginxMailingListRussian@forum.nginx.org> <7e81a43c561315940aceb2f5fce64122.NginxMailingListRussian@forum.nginx.org> <5f6eebc16e8c8ceefdf92655122c5989.NginxMailingListRussian@forum.nginx.org> Message-ID: <7af155a37164a2173b057a708cdffb3e.NginxMailingListRussian@forum.nginx.org> kvt Wrote: ------------------------------------------------------- > Ну вообще раньше так и было, писали код на Си, потом рутинные задачи > (прием, отправку и диспетчерезацию запросов) возложили на веб-сервер, > а бизнес-логику либо продолжали писать на плюсах или на perl. Но это > все было медленно и неудобно, разработка, я имею ввиду. Позже > появились языки более высокого уровня, для создания бизнес-логики и их > интерпретаторы в виде модулей для веб-сервера. Что сильно ускорило > разработку и внесение изменений в код продуктов. Такие дела. Я ответил > на Ваш вопрос? "писали код на Си, когда ещё не было веб-серверов" - это что за времена такие? Под морфином? )) Нет, это не ответ на вопрос "можно ли NGINX эффективно запрячь бизнес-логикой безо всяких fcgi и получить 30-40-50к рпс". Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286092,286104#msg-286104 From slw на zxy.spb.ru Wed Nov 6 12:16:15 2019 From: slw на zxy.spb.ru (Slawa Olhovchenkov) Date: Wed, 6 Nov 2019 15:16:15 +0300 Subject: =?UTF-8?B?UmU6INC30LDRh9C10Lwg0L/QuNGB0LDRgtGMIEZhc3RDR0kg0YHQtdGA0LLQtdGA?= =?UTF-8?B?Pw==?= In-Reply-To: <7af155a37164a2173b057a708cdffb3e.NginxMailingListRussian@forum.nginx.org> References: <694ae5e529b177172e26a9c9e8b2c22e.NginxMailingListRussian@forum.nginx.org> <7e81a43c561315940aceb2f5fce64122.NginxMailingListRussian@forum.nginx.org> <5f6eebc16e8c8ceefdf92655122c5989.NginxMailingListRussian@forum.nginx.org> <7af155a37164a2173b057a708cdffb3e.NginxMailingListRussian@forum.nginx.org> Message-ID: <20191106121615.GB18570@zxy.spb.ru> On Wed, Nov 06, 2019 at 07:02:53AM -0500, greenwar wrote: > kvt Wrote: > ------------------------------------------------------- > > Ну вообще раньше так и было, писали код на Си, потом рутинные задачи > > (прием, отправку и диспетчерезацию запросов) возложили на веб-сервер, > > а бизнес-логику либо продолжали писать на плюсах или на perl. Но это > > все было медленно и неудобно, разработка, я имею ввиду. Позже > > появились языки более высокого уровня, для создания бизнес-логики и их > > интерпретаторы в виде модулей для веб-сервера. Что сильно ускорило > > разработку и внесение изменений в код продуктов. Такие дела. Я ответил > > на Ваш вопрос? > > "писали код на Си, когда ещё не было веб-серверов" - это что за времена > такие? Под морфином? )) да до сих пор так делают https://www.youtube.com/watch?v=yM8trpiuxys > Нет, это не ответ на вопрос "можно ли NGINX эффективно запрячь а зачем? > бизнес-логикой безо всяких fcgi и получить 30-40-50к рпс". так надо всякого в нгинкс понапихать и потрахаться или 50к рпс получить? а 50крпс вообще в конкретном случае возможны? а они точно в связку упираются? From nginx-forum на forum.nginx.org Wed Nov 6 12:21:59 2019 From: nginx-forum на forum.nginx.org (kvt) Date: Wed, 06 Nov 2019 07:21:59 -0500 Subject: =?UTF-8?B?UmU6INC30LDRh9C10Lwg0L/QuNGB0LDRgtGMIEZhc3RDR0kg0YHQtdGA0LLQtdGA?= =?UTF-8?B?Pw==?= In-Reply-To: <7af155a37164a2173b057a708cdffb3e.NginxMailingListRussian@forum.nginx.org> References: <694ae5e529b177172e26a9c9e8b2c22e.NginxMailingListRussian@forum.nginx.org> <7e81a43c561315940aceb2f5fce64122.NginxMailingListRussian@forum.nginx.org> <5f6eebc16e8c8ceefdf92655122c5989.NginxMailingListRussian@forum.nginx.org> <7af155a37164a2173b057a708cdffb3e.NginxMailingListRussian@forum.nginx.org> Message-ID: greenwar Wrote: ------------------------------------------------------- > "писали код на Си, когда ещё не было веб-серверов" - это что за > времена такие? Под морфином? )) Это начало 90-х годов прошлого века, тогда еще ничего особенно не было и мы писали все ручками. > Нет, это не ответ на вопрос "можно ли NGINX эффективно запрячь > бизнес-логикой безо всяких fcgi и получить 30-40-50к рпс". Если я правильно понял вопрос, то Вы не совсем понимаете задачу nginx, и она, эта задача, не связана с тем, чтобы заниматься Вашей бизнес-логикой. ) Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286092,286106#msg-286106 From nginx-forum на forum.nginx.org Wed Nov 6 12:34:44 2019 From: nginx-forum на forum.nginx.org (greenwar) Date: Wed, 06 Nov 2019 07:34:44 -0500 Subject: =?UTF-8?B?UmU6INC30LDRh9C10Lwg0L/QuNGB0LDRgtGMIEZhc3RDR0kg0YHQtdGA0LLQtdGA?= =?UTF-8?B?Pw==?= In-Reply-To: <20191106121615.GB18570@zxy.spb.ru> References: <20191106121615.GB18570@zxy.spb.ru> Message-ID: Slawa Olhovchenkov Wrote: ------------------------------------------------------- > да до сих пор так делают > https://www.youtube.com/watch?v=yM8trpiuxys что делают? зачем тут видео про Docker и майнтейн проектов? Давайте без мусора, по теме. > > Нет, это не ответ на вопрос "можно ли NGINX эффективно запрячь > > а зачем? "чтобы убрать всё лишнее" - написал же. Вопрос в сабже - можно ли обойтись БЕЗ fcgi и насколько это эффективно? > > бизнес-логикой безо всяких fcgi и получить 30-40-50к рпс". > > так надо всякого в нгинкс понапихать и потрахаться или 50к рпс получить? моя мысль была в том, что чем ближе к NGINX, тем ближе 50к... Здесь я пытаюсь её подтвердить ИЛИ опровергнуть. > а 50крпс вообще в конкретном случае возможны? а они точно в связку упираются? ну там простая БЛ без расчётов погоды... Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286092,286107#msg-286107 From nginx-forum на forum.nginx.org Wed Nov 6 12:41:19 2019 From: nginx-forum на forum.nginx.org (greenwar) Date: Wed, 06 Nov 2019 07:41:19 -0500 Subject: =?UTF-8?B?UmU6INC30LDRh9C10Lwg0L/QuNGB0LDRgtGMIEZhc3RDR0kg0YHQtdGA0LLQtdGA?= =?UTF-8?B?Pw==?= In-Reply-To: References: <694ae5e529b177172e26a9c9e8b2c22e.NginxMailingListRussian@forum.nginx.org> <7e81a43c561315940aceb2f5fce64122.NginxMailingListRussian@forum.nginx.org> <5f6eebc16e8c8ceefdf92655122c5989.NginxMailingListRussian@forum.nginx.org> <7af155a37164a2173b057a708cdffb3e.NginxMailingListRussian@forum.nginx.org> Message-ID: kvt Wrote: ------------------------------------------------------- > > Нет, это не ответ на вопрос "можно ли NGINX эффективно запрячь > > бизнес-логикой безо всяких fcgi и получить 30-40-50к рпс". > Если я правильно понял вопрос, то Вы не совсем понимаете задачу nginx, > и она, эта задача, не связана с тем, чтобы заниматься Вашей бизнес-логикой. ) да, именно этот момент меня и интересует - понять, на что годен NGINX, а на что нет потому что с виду он делает всё тоже самое, что и fcgi - отдаёт HTML-код клиенту и в его модули люди втыкают разнообразную БЛ там в чём загвоздка, почему нельзя сгенерить html-код динамически в самом NGINX? Потому что он под статику заточен? А что конкретно это значит? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286092,286108#msg-286108 From red-fox0 на ya.ru Wed Nov 6 13:04:03 2019 From: red-fox0 на ya.ru (fox) Date: Wed, 6 Nov 2019 20:04:03 +0700 Subject: =?UTF-8?B?UmU6INC30LDRh9C10Lwg0L/QuNGB0LDRgtGMIEZhc3RDR0kg0YHQtdGA0LLQtdGA?= =?UTF-8?B?Pw==?= In-Reply-To: References: <694ae5e529b177172e26a9c9e8b2c22e.NginxMailingListRussian@forum.nginx.org> <7e81a43c561315940aceb2f5fce64122.NginxMailingListRussian@forum.nginx.org> <5f6eebc16e8c8ceefdf92655122c5989.NginxMailingListRussian@forum.nginx.org> <7af155a37164a2173b057a708cdffb3e.NginxMailingListRussian@forum.nginx.org> Message-ID: <613a4f2c-13ee-eb74-b1a6-631ea229ce5a@ya.ru> > потому что с виду он делает всё тоже самое, что и fcgi - отдаёт HTML-код > клиенту Думаю, основная фишка nginx - что он *не* занимается интерпретацией файлов. Только проксированием и раздачей статики. 06.11.2019 19:41, greenwar пишет: > kvt Wrote: > ------------------------------------------------------- >>> Нет, это не ответ на вопрос "можно ли NGINX эффективно запрячь >>> бизнес-логикой безо всяких fcgi и получить 30-40-50к рпс". >> Если я правильно понял вопрос, то Вы не совсем понимаете задачу nginx, >> и она, эта задача, не связана с тем, чтобы заниматься Вашей > бизнес-логикой. ) > > да, именно этот момент меня и интересует - понять, на что годен NGINX, а на > что нет > потому что с виду он делает всё тоже самое, что и fcgi - отдаёт HTML-код > клиенту > и в его модули люди втыкают разнообразную БЛ > там в чём загвоздка, почему нельзя сгенерить html-код динамически в самом > NGINX? > Потому что он под статику заточен? А что конкретно это значит? > > Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286092,286108#msg-286108 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > From slw на zxy.spb.ru Wed Nov 6 13:12:46 2019 From: slw на zxy.spb.ru (Slawa Olhovchenkov) Date: Wed, 6 Nov 2019 16:12:46 +0300 Subject: =?UTF-8?B?UmU6INC30LDRh9C10Lwg0L/QuNGB0LDRgtGMIEZhc3RDR0kg0YHQtdGA0LLQtdGA?= =?UTF-8?B?Pw==?= In-Reply-To: References: <20191106121615.GB18570@zxy.spb.ru> Message-ID: <20191106131246.GC18570@zxy.spb.ru> On Wed, Nov 06, 2019 at 07:34:44AM -0500, greenwar wrote: > Slawa Olhovchenkov Wrote: > ------------------------------------------------------- > > да до сих пор так делают > > https://www.youtube.com/watch?v=yM8trpiuxys > > что делают? зачем тут видео про Docker и майнтейн проектов? Давайте без > мусора, по теме. по теме и есть, там апп-сервер на плюсах, без нгинкса. > > > Нет, это не ответ на вопрос "можно ли NGINX эффективно запрячь > > > > а зачем? > > "чтобы убрать всё лишнее" - написал же. > Вопрос в сабже - можно ли обойтись БЕЗ fcgi и насколько это эффективно? я думаю лишнее тут -- люди, начинать надо с убирания людей. > > > бизнес-логикой безо всяких fcgi и получить 30-40-50к рпс". > > > > так надо всякого в нгинкс понапихать и потрахаться или 50к рпс получить? > > моя мысль была в том, что чем ближе к NGINX, тем ближе 50к... > Здесь я пытаюсь её подтвердить ИЛИ опровергнуть. практика -- критерий истины. т.е. сделай и посмотри. > > а 50крпс вообще в конкретном случае возможны? а они точно в связку > упираются? > > ну там простая БЛ без расчётов погоды... простая -- это какая? и как это определили? From nginx-forum на forum.nginx.org Wed Nov 6 21:44:45 2019 From: nginx-forum на forum.nginx.org (commeta) Date: Wed, 06 Nov 2019 16:44:45 -0500 Subject: =?UTF-8?B?0JfQsNC80LXQvdCwIGNvbnRlbnQtdHlwZSBpbWFnZS93ZWJwINCyIGxvY2F0aW9u?= Message-ID: location / { location ~ [^/]\.ph(p\d*|tml)$ { try_files /does_not_exists @apacheback; } location ~* ^.+\.(gif|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf|woff|woff2|ico|ttf)$ { try_files $uri $uri/ @fallback; expires 365d; } location ~* ^.+\.(jpg|jpeg|png)$ { set $ax 0; if ( $http_accept ~* "webp" ) { set $ax 1; } if ( -e $root_path/webp$uri ){ set $ax "${ax}1"; } if ( $ax = "11" ) { rewrite ^ /webp$uri break; add_header Vary Accept; add_header Content-Type image/webp; } expires 365d; try_files $uri $uri/ @fallback; } location / { try_files /does_not_exists @fallback; } } nginx/1.16.1 На сайте есть отдельный подкаталог с копиями всех изображений в формате webp. Nginx на лету если есть поддержка браузером отдает webp вместо jpeg\png. Но появляется 2 заголовка: content-type: image/png content-type: image/webp Подскажите как в этом случае убрать первый заголовок image/png Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286117,286117#msg-286117 From chipitsine на gmail.com Wed Nov 6 21:52:39 2019 From: chipitsine на gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Thu, 7 Nov 2019 02:52:39 +0500 Subject: =?UTF-8?B?UmU6INCX0LDQvNC10L3QsCBjb250ZW50LXR5cGUgaW1hZ2Uvd2VicCDQsiBsb2Nh?= =?UTF-8?B?dGlvbg==?= In-Reply-To: References: Message-ID: default_type text/plain; вместо add_header Content-Type text/plain; чт, 7 нояб. 2019 г. в 02:44, commeta : > location / { > location ~ [^/]\.ph(p\d*|tml)$ { > try_files /does_not_exists @apacheback; > } > location ~* > > ^.+\.(gif|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf|woff|woff2|ico|ttf)$ > { > try_files $uri $uri/ @fallback; > expires 365d; > } > location ~* ^.+\.(jpg|jpeg|png)$ { > set $ax 0; > if ( $http_accept ~* "webp" ) { > set $ax 1; > } > if ( -e $root_path/webp$uri ){ > set $ax "${ax}1"; > } > if ( $ax = "11" ) { > rewrite ^ /webp$uri break; > add_header Vary Accept; > add_header Content-Type image/webp; > } > expires 365d; > try_files $uri $uri/ @fallback; > } > location / { > try_files /does_not_exists @fallback; > } > } > nginx/1.16.1 > > На сайте есть отдельный подкаталог с копиями всех изображений в формате > webp. Nginx на лету если есть поддержка браузером отдает webp вместо > jpeg\png. Но появляется 2 заголовка: > content-type: image/png > content-type: image/webp > Подскажите как в этом случае убрать первый заголовок image/png > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,286117,286117#msg-286117 > > _______________________________________________ > 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 Nov 6 23:19:12 2019 From: nginx-forum на forum.nginx.org (commeta) Date: Wed, 06 Nov 2019 18:19:12 -0500 Subject: =?UTF-8?B?UmU6INCX0LDQvNC10L3QsCBjb250ZW50LXR5cGUgaW1hZ2Uvd2VicCDQsiBsb2Nh?= =?UTF-8?B?dGlvbg==?= In-Reply-To: References: Message-ID: <89c47966f492923bae0431c1885824ea.NginxMailingListRussian@forum.nginx.org> Пробовал, вылетает с ошибкой: "default_type" directive is not allowed here Видимо надо как-то в другой контекст поместить Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286117,286119#msg-286119 From public-mail на alekciy.ru Thu Nov 7 04:54:16 2019 From: public-mail на alekciy.ru (=?UTF-8?B?0JDQu9C10LrRgdC10Lkg0KHRg9C90LTRg9C60L7Qsg==?=) Date: Thu, 7 Nov 2019 08:54:16 +0400 Subject: =?UTF-8?B?UmU6INC30LDRh9C10Lwg0L/QuNGB0LDRgtGMIEZhc3RDR0kg0YHQtdGA0LLQtdGA?= =?UTF-8?B?Pw==?= In-Reply-To: References: <694ae5e529b177172e26a9c9e8b2c22e.NginxMailingListRussian@forum.nginx.org> <7e81a43c561315940aceb2f5fce64122.NginxMailingListRussian@forum.nginx.org> <5f6eebc16e8c8ceefdf92655122c5989.NginxMailingListRussian@forum.nginx.org> <7af155a37164a2173b057a708cdffb3e.NginxMailingListRussian@forum.nginx.org> Message-ID: > там в чём загвоздка, почему нельзя сгенерить html-код динамически в самом NGINX? Ну можно посмотреть в сторону ctpp: http://ngx-ctpp.vbart.ru/ http://ctpp.havoc.ru/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum на forum.nginx.org Thu Nov 7 08:29:29 2019 From: nginx-forum на forum.nginx.org (NickLavlinsky) Date: Thu, 07 Nov 2019 03:29:29 -0500 Subject: =?UTF-8?B?UmU6INCX0LDQvNC10L3QsCBjb250ZW50LXR5cGUgaW1hZ2Uvd2VicCDQsiBsb2Nh?= =?UTF-8?B?dGlvbg==?= In-Reply-To: <89c47966f492923bae0431c1885824ea.NginxMailingListRussian@forum.nginx.org> References: <89c47966f492923bae0431c1885824ea.NginxMailingListRussian@forum.nginx.org> Message-ID: <201b674135b7363e555a42dc4315f252.NginxMailingListRussian@forum.nginx.org> Здравствуйте! На первый взгляд у вас переусложнённый конфиг для отдачи webp. Предлагаю посмотреть готовую схему, где этих проблем нет: https://www.youtube.com/watch?v=CI3Y8NYdZXM Там на уровне сервера определяется поддержка webp и потом уже используется в локейшене. В Nginx.conf: map $http_accept $webp_suffix { "~*webp" ".webp"; } map $msie $cache_control { default "max-age=31536000, public, no-transform, immutable"; "1" "max-age=31536000, private, no-transform, immutable"; } map $msie $vary_header { default "Accept"; "1" ""; } В конфе сервера: # Static files location location ~* \.(jpg|jpeg|gif|png)$ { add_header Vary $vary_header; add_header Cache-Control $cache_control; try_files $uri$webp_suffix $uri =404; } Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286117,286121#msg-286121 From nginx-forum на forum.nginx.org Thu Nov 7 12:53:28 2019 From: nginx-forum на forum.nginx.org (commeta) Date: Thu, 07 Nov 2019 07:53:28 -0500 Subject: =?UTF-8?B?UmU6INCX0LDQvNC10L3QsCBjb250ZW50LXR5cGUgaW1hZ2Uvd2VicCDQsiBsb2Nh?= =?UTF-8?B?dGlvbg==?= In-Reply-To: <201b674135b7363e555a42dc4315f252.NginxMailingListRussian@forum.nginx.org> References: <89c47966f492923bae0431c1885824ea.NginxMailingListRussian@forum.nginx.org> <201b674135b7363e555a42dc4315f252.NginxMailingListRussian@forum.nginx.org> Message-ID: Там сайт на modx, я сделал прозрачную поддержку webp, без участия контент менеджера. Скрипт на сервере обходит файлы, делает webp копии, и складывает в подкаталог /webp/ полностью сохраняя структуру каталогов. Все настроено и работает, достаточно удобно получилось. Но вот как mime type поменять принудительно в if Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286117,286123#msg-286123 From nginx-forum на forum.nginx.org Thu Nov 7 13:24:05 2019 From: nginx-forum на forum.nginx.org (vitcool) Date: Thu, 07 Nov 2019 08:24:05 -0500 Subject: =?UTF-8?B?UmU6INCX0LDQvNC10L3QsCBjb250ZW50LXR5cGUgaW1hZ2Uvd2VicCDQsiBsb2Nh?= =?UTF-8?B?dGlvbg==?= In-Reply-To: References: Message-ID: <4cb069174921d49723bfad62500dfc38.NginxMailingListRussian@forum.nginx.org> Жаль что в nginx нет директивы set_header , то есть замена заголовка если он есть и добавление если его нет Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286117,286124#msg-286124 From boco на ufanet.ru Thu Nov 7 13:27:54 2019 From: boco на ufanet.ru (damir bikmuhametov) Date: Thu, 7 Nov 2019 18:27:54 +0500 Subject: =?UTF-8?B?UmU6INCX0LDQvNC10L3QsCBjb250ZW50LXR5cGUgaW1hZ2Uvd2VicCDQsiBsb2Nh?= =?UTF-8?B?dGlvbg==?= In-Reply-To: References: <89c47966f492923bae0431c1885824ea.NginxMailingListRussian@forum.nginx.org> <201b674135b7363e555a42dc4315f252.NginxMailingListRussian@forum.nginx.org> Message-ID: <20191107132753.GH58103@ufanet.ru> On Thu, Nov 07, 2019 at 07:53:28AM -0500, commeta wrote: > Там сайт на modx, я сделал прозрачную поддержку webp, без участия контент > менеджера. Скрипт на сервере обходит файлы, делает webp копии, и складывает > в подкаталог /webp/ полностью сохраняя структуру каталогов. Все настроено и > работает, достаточно удобно получилось. Но вот как mime type поменять > принудительно в if а точно нужен if? location /webp { root ...; types {}; default_type image/webp; } -- boco From chipitsine на gmail.com Thu Nov 7 13:29:41 2019 From: chipitsine на gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Thu, 7 Nov 2019 18:29:41 +0500 Subject: =?UTF-8?B?UmU6INCX0LDQvNC10L3QsCBjb250ZW50LXR5cGUgaW1hZ2Uvd2VicCDQsiBsb2Nh?= =?UTF-8?B?dGlvbg==?= In-Reply-To: <20191107132753.GH58103@ufanet.ru> References: <89c47966f492923bae0431c1885824ea.NginxMailingListRussian@forum.nginx.org> <201b674135b7363e555a42dc4315f252.NginxMailingListRussian@forum.nginx.org> <20191107132753.GH58103@ufanet.ru> Message-ID: оу. я проглядел этот момент. я предлагал default_type не имея в виду if чт, 7 нояб. 2019 г. в 18:28, damir bikmuhametov : > On Thu, Nov 07, 2019 at 07:53:28AM -0500, commeta wrote: > > Там сайт на modx, я сделал прозрачную поддержку webp, без участия контент > > менеджера. Скрипт на сервере обходит файлы, делает webp копии, и > складывает > > в подкаталог /webp/ полностью сохраняя структуру каталогов. Все > настроено и > > работает, достаточно удобно получилось. Но вот как mime type поменять > > принудительно в if > > а точно нужен if? > > location /webp { > root ...; > types {}; > default_type image/webp; > } > > -- > boco > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx на mva.name Thu Nov 7 15:14:27 2019 From: nginx на mva.name (Vadim A. Misbakh-Soloviov) Date: Thu, 07 Nov 2019 22:14:27 +0700 Subject: =?UTF-8?B?UmU6INCg0LXQu9C40LcgVW5pdCAxLjEwLjA=?= In-Reply-To: <2081103.AVSnKMb9BT@vbart-workstation> References: <2081103.AVSnKMb9BT@vbart-workstation> Message-ID: <5480283.xi08hXvCK4@note> А про новые релизы Unit'а тут не было анонсов потому что для него (юнита) завели свой список рассылки? Или просто забыли? :) // или просто до меня они не дошли и оба осели в спаме? :) From maxim на nginx.com Thu Nov 7 15:17:44 2019 From: maxim на nginx.com (Maxim Konovalov) Date: Thu, 7 Nov 2019 18:17:44 +0300 Subject: =?UTF-8?B?UmU6INCg0LXQu9C40LcgVW5pdCAxLjEwLjA=?= In-Reply-To: <5480283.xi08hXvCK4@note> References: <2081103.AVSnKMb9BT@vbart-workstation> <5480283.xi08hXvCK4@note> Message-ID: <0c4c89bc-f9cb-2ec4-0e75-a158b617c810@nginx.com> On 07.11.2019 18:14, Vadim A. Misbakh-Soloviov wrote: > А про новые релизы Unit'а тут не было анонсов потому что для него (юнита) > завели свой список рассылки? Или просто забыли? :) > // или просто до меня они не дошли и оба осели в спаме? :) В соседних: http://mailman.nginx.org/pipermail/nginx-announce/2019/000254.html http://mailman.nginx.org/pipermail/nginx/2019-October/058529.html -- Maxim Konovalov From nginx-forum на forum.nginx.org Thu Nov 7 17:36:20 2019 From: nginx-forum на forum.nginx.org (greenwar) Date: Thu, 07 Nov 2019 12:36:20 -0500 Subject: =?UTF-8?B?UmU6INC30LDRh9C10Lwg0L/QuNGB0LDRgtGMIEZhc3RDR0kg0YHQtdGA0LLQtdGA?= =?UTF-8?B?Pw==?= In-Reply-To: <20191106131246.GC18570@zxy.spb.ru> References: <20191106131246.GC18570@zxy.spb.ru> Message-ID: <3f68ec86700d40a5d1070d842462ef1f.NginxMailingListRussian@forum.nginx.org> Slawa Olhovchenkov Wrote: ------------------------------------------------------- > по теме и есть, там апп-сервер на плюсах, без нгинкса. это значит "написать второй NGINX", я этот вариант отмёл. > простая -- это какая? и как это определили? простая это 1-2 раза считать из редиски, а остальное всё расчёты в C++ уровня "собрать строку ..." Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286092,286131#msg-286131 From slw на zxy.spb.ru Thu Nov 7 17:41:54 2019 From: slw на zxy.spb.ru (Slawa Olhovchenkov) Date: Thu, 7 Nov 2019 20:41:54 +0300 Subject: =?UTF-8?B?UmU6INC30LDRh9C10Lwg0L/QuNGB0LDRgtGMIEZhc3RDR0kg0YHQtdGA0LLQtdGA?= =?UTF-8?B?Pw==?= In-Reply-To: <3f68ec86700d40a5d1070d842462ef1f.NginxMailingListRussian@forum.nginx.org> References: <20191106131246.GC18570@zxy.spb.ru> <3f68ec86700d40a5d1070d842462ef1f.NginxMailingListRussian@forum.nginx.org> Message-ID: <20191107174154.GE18570@zxy.spb.ru> On Thu, Nov 07, 2019 at 12:36:20PM -0500, greenwar wrote: > Slawa Olhovchenkov Wrote: > ------------------------------------------------------- > > по теме и есть, там апп-сервер на плюсах, без нгинкса. > > это значит "написать второй NGINX", я этот вариант отмёл. а что же так? и что у тебя с опытом и экспертизой? насколько можно доверять твоим оценкам? > > простая -- это какая? и как это определили? > > простая это 1-2 раза считать из редиски, а остальное всё расчёты в C++ > уровня "собрать строку ..." ну и как определили что проблема в коммуникации между nginx и приложением? какие замеры и как проводились? From nginx-forum на forum.nginx.org Thu Nov 7 17:42:55 2019 From: nginx-forum на forum.nginx.org (greenwar) Date: Thu, 07 Nov 2019 12:42:55 -0500 Subject: =?UTF-8?B?UmU6INC30LDRh9C10Lwg0L/QuNGB0LDRgtGMIEZhc3RDR0kg0YHQtdGA0LLQtdGA?= =?UTF-8?B?Pw==?= In-Reply-To: <613a4f2c-13ee-eb74-b1a6-631ea229ce5a@ya.ru> References: <613a4f2c-13ee-eb74-b1a6-631ea229ce5a@ya.ru> Message-ID: <407a35fbf9d78f7c98fcccaa12bfed82.NginxMailingListRussian@forum.nginx.org> fox Wrote: ------------------------------------------------------- > > потому что с виду он делает всё тоже самое, что и fcgi - отдаёт > HTML-код > > клиенту > Думаю, основная фишка nginx - что он *не* занимается интерпретацией > файлов. Только проксированием и раздачей статики. Интерпретацией файлов... это что имеется ввиду? Логикой то его же грузят через модули... А если взять случай, когда 1 сервер = 1 проект, т.е. 1 NGINX решает 1 задачу... Что если он при таком раскладе начнёт ходить в редиску, например? латенси конечно упадёт, но других проектов же нет, чтобы жаловаться... Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286092,286133#msg-286133 From nginx-forum на forum.nginx.org Thu Nov 7 17:52:03 2019 From: nginx-forum на forum.nginx.org (greenwar) Date: Thu, 07 Nov 2019 12:52:03 -0500 Subject: =?UTF-8?B?UmU6INC30LDRh9C10Lwg0L/QuNGB0LDRgtGMIEZhc3RDR0kg0YHQtdGA0LLQtdGA?= =?UTF-8?B?Pw==?= In-Reply-To: References: Message-ID: да не, это же шаблонизатор, не мой случай И там всё равно надо fcgi иметь. это какой-то доп.костыль, когда моя цель наоборот - убрать всё лишнее. > Если говорить коротко, то CTPP (CT++, Сити Плас Плас) - это инструмент, отделяющий процесс обработки данных (бизнес-логику) от их представления. > Для проектов, в которых программист и HTML верстальщик - разные люди, CT++ - самый подходящий выбор. вообще не мой случай )) > Экономия при обмене данными с бэкэндом. Благодаря тому, что до веб-сервера, практически конечной точки отдачи контента пользователю, передаются исключительно только динамические данные в достаточно компактном формате JSON, в противовес готовым html-страницам. Это снижает нагрузку на канал передачи и тем самым также уменьшает общую задержку. Особенно критично, если сервер приложений и веб-сервер являются физически разными машинами и обмен данными между ними происходит по сети. А вот это что-то новое... JSON vs HTML = сокращение нагрузки ^^ Алексей Сундуков Wrote: ------------------------------------------------------- > > там в чём загвоздка, почему нельзя сгенерить html-код динамически в > самом > NGINX? > > Ну можно посмотреть в сторону ctpp: > http://ngx-ctpp.vbart.ru/ > http://ctpp.havoc.ru/ > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286092,286134#msg-286134 From valery+nginxru на grid.net.ru Thu Nov 7 20:05:55 2019 From: valery+nginxru на grid.net.ru (Valery Kholodkov) Date: Thu, 7 Nov 2019 21:05:55 +0100 Subject: =?UTF-8?B?UmU6INC30LDRh9C10Lwg0L/QuNGB0LDRgtGMIEZhc3RDR0kg0YHQtdGA0LLQtdGA?= =?UTF-8?B?Pw==?= In-Reply-To: <694ae5e529b177172e26a9c9e8b2c22e.NginxMailingListRussian@forum.nginx.org> References: <694ae5e529b177172e26a9c9e8b2c22e.NginxMailingListRussian@forum.nginx.org> Message-ID: Можно обойтись без fcgi, но реализовывать все протоколы и интеграцию в модулях nginx в виде асинхронного кода ужасно трудоемко. On 05-11-19 14:11, greenwar wrote: > Добрый день. > а нельзя ли обойтись БЕЗ fcgi на пути к самому производительному серверу, > м? > вот, например, "Hello World" в виде N-модуля прекрасно себя чувствует: > https://tejgop.github.io/nginx-module-guide/#the-c-file > что мешает сходить в БД, собрать string "..." и также вернуть > клиенту через NGINX? -- Val From nginx-forum на forum.nginx.org Thu Nov 7 20:14:54 2019 From: nginx-forum на forum.nginx.org (greenwar) Date: Thu, 07 Nov 2019 15:14:54 -0500 Subject: =?UTF-8?B?UmU6INC30LDRh9C10Lwg0L/QuNGB0LDRgtGMIEZhc3RDR0kg0YHQtdGA0LLQtdGA?= =?UTF-8?B?Pw==?= In-Reply-To: References: Message-ID: <654d5485ba10de787dd3099659045582.NginxMailingListRussian@forum.nginx.org> а где там асинхронный код нужен? Каждый запрос в своём потоке обрабатывается же? Valery Kholodkov Wrote: ------------------------------------------------------- > Можно обойтись без fcgi, но реализовывать все протоколы и интеграцию в > модулях nginx в виде асинхронного кода ужасно трудоемко. > > On 05-11-19 14:11, greenwar wrote: > > Добрый день. > > а нельзя ли обойтись БЕЗ fcgi на пути к самому производительному > серверу, > > м? > > вот, например, "Hello World" в виде N-модуля прекрасно себя > чувствует: > > https://tejgop.github.io/nginx-module-guide/#the-c-file > > что мешает сходить в БД, собрать string "..." и также > вернуть > > клиенту через NGINX? > > > -- > Val > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286092,286137#msg-286137 From valery+nginxru на grid.net.ru Thu Nov 7 20:17:19 2019 From: valery+nginxru на grid.net.ru (Valery Kholodkov) Date: Thu, 7 Nov 2019 21:17:19 +0100 Subject: =?UTF-8?B?UmU6INC30LDRh9C10Lwg0L/QuNGB0LDRgtGMIEZhc3RDR0kg0YHQtdGA0LLQtdGA?= =?UTF-8?B?Pw==?= In-Reply-To: <654d5485ba10de787dd3099659045582.NginxMailingListRussian@forum.nginx.org> References: <654d5485ba10de787dd3099659045582.NginxMailingListRussian@forum.nginx.org> Message-ID: <65d36bb2-6360-a306-2449-3292d02462c7@grid.net.ru> В модулях nginx? Как раз наоборот, там неасинхрон не проходит. On 07-11-19 21:14, greenwar wrote: > а где там асинхронный код нужен? Каждый запрос в своём потоке обрабатывается > же? > > Valery Kholodkov Wrote: > ------------------------------------------------------- >> Можно обойтись без fcgi, но реализовывать все протоколы и интеграцию в >> модулях nginx в виде асинхронного кода ужасно трудоемко. >> >> On 05-11-19 14:11, greenwar wrote: >>> Добрый день. >>> а нельзя ли обойтись БЕЗ fcgi на пути к самому производительному >> серверу, >>> м? >>> вот, например, "Hello World" в виде N-модуля прекрасно себя >> чувствует: >>> https://tejgop.github.io/nginx-module-guide/#the-c-file >>> что мешает сходить в БД, собрать string "..." и также >> вернуть >>> клиенту через NGINX? -- Val From nginx-forum на forum.nginx.org Thu Nov 7 20:30:45 2019 From: nginx-forum на forum.nginx.org (greenwar) Date: Thu, 07 Nov 2019 15:30:45 -0500 Subject: =?UTF-8?B?UmU6INC30LDRh9C10Lwg0L/QuNGB0LDRgtGMIEZhc3RDR0kg0YHQtdGA0LLQtdGA?= =?UTF-8?B?Pw==?= In-Reply-To: <65d36bb2-6360-a306-2449-3292d02462c7@grid.net.ru> References: <65d36bb2-6360-a306-2449-3292d02462c7@grid.net.ru> Message-ID: а можно поподробнее - ЧТО именно проходит и НЕ проходит? Valery Kholodkov Wrote: ------------------------------------------------------- > В модулях nginx? Как раз наоборот, там неасинхрон не проходит. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286092,286139#msg-286139 From valery+nginxru на grid.net.ru Thu Nov 7 20:36:06 2019 From: valery+nginxru на grid.net.ru (Valery Kholodkov) Date: Thu, 7 Nov 2019 21:36:06 +0100 Subject: =?UTF-8?B?UmU6INC30LDRh9C10Lwg0L/QuNGB0LDRgtGMIEZhc3RDR0kg0YHQtdGA0LLQtdGA?= =?UTF-8?B?Pw==?= In-Reply-To: References: <65d36bb2-6360-a306-2449-3292d02462c7@grid.net.ru> Message-ID: <53c287d2-96e3-7616-e836-3a876abd9a1b@grid.net.ru> Пожалуйста: http://www.grid.net.ru/nginx/nginx-modules.html On 07-11-19 21:30, greenwar wrote: > а можно поподробнее - ЧТО именно проходит и НЕ проходит? > > Valery Kholodkov Wrote: > ------------------------------------------------------- >> В модулях nginx? Как раз наоборот, там неасинхрон не проходит. -- Val From nginx-forum на forum.nginx.org Fri Nov 8 01:21:31 2019 From: nginx-forum на forum.nginx.org (commeta) Date: Thu, 07 Nov 2019 20:21:31 -0500 Subject: =?UTF-8?B?UmU6INCX0LDQvNC10L3QsCBjb250ZW50LXR5cGUgaW1hZ2Uvd2VicCDQsiBsb2Nh?= =?UTF-8?B?dGlvbg==?= In-Reply-To: <20191107132753.GH58103@ufanet.ru> References: <20191107132753.GH58103@ufanet.ru> Message-ID: А как здесь location /webp прикрутить? подскажите. Вот полный конфиг хоста server { server_name mysite www.mysite; charset UTF-8; index index.php index.html; disable_symlinks if_not_owner from=$root_path; include /etc/nginx/vhosts-includes/*.conf; include /etc/nginx/vhosts-resources/mysite/*.conf; access_log /var/www/httpd-logs/mysite.access.log; error_log /var/www/httpd-logs/mysite.error.log notice; set $root_path /var/www/www-root/data/www/mysite; root $root_path; location / { location ~ [^/]\.ph(p\d*|tml)$ { try_files /does_not_exists @fallback; } location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf|woff|woff2|ico|ttf)$ { try_files $uri $uri/ @fallback; } location / { try_files /does_not_exists @fallback; } } location @fallback { proxy_pass http://127.0.0.1:8080; proxy_redirect http://127.0.0.1:8080 /; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; access_log off; } return 301 https://$host:443$request_uri; gzip on; gzip_comp_level 9; gzip_disable "msie6"; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript; listen 55.55.55.55:80; } server { server_name mysite www.mysite; ssl_certificate "/var/www/httpd-cert/www-root/mysite_le3.crtca"; ssl_certificate_key "/var/www/httpd-cert/www-root/mysite_le3.key"; ssl_ciphers EECDH:+AES256:-3DES:RSA+AES:!NULL:!RC4; ssl_prefer_server_ciphers on; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_dhparam /etc/ssl/certs/dhparam4096.pem; charset UTF-8; index index.php index.html; disable_symlinks if_not_owner from=$root_path; include /etc/nginx/vhosts-includes/*.conf; include /etc/nginx/vhosts-resources/mysite/*.conf; access_log /var/www/httpd-logs/mysite.access.log; error_log /var/www/httpd-logs/mysite.error.log notice; set $root_path /var/www/www-root/data/www/mysite; root $root_path; location / { location ~ [^/]\.ph(p\d*|tml)$ { try_files /does_not_exists @apacheback; } location ~* ^.+\.(gif|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf|woff|woff2|ico|ttf|eot|otf|flv)$ { try_files $uri $uri/ @fallback; expires 365d; } location ~* ^.+\.(jpg|jpeg|png)$ { set $ax 0; if ( $http_accept ~* "webp" ) { set $ax 1; } if ( -e $root_path/webp$uri ){ set $ax "${ax}1"; } if ($http_cookie ~* "modx_admin" ) { set $ax 0; } if ( $ax = "11" ) { rewrite ^ /webp$uri break; add_header Vary Accept; add_header Content-Type image/webp; } #types { } default_type "image/webp"; expires 365d; try_files $uri $uri/ @fallback; } location / { try_files /does_not_exists @fallback; } } location @fallback { proxy_pass http://127.0.0.1:6081; proxy_redirect http://127.0.0.1:6081 /; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; access_log off; } location @apacheback { proxy_pass http://127.0.0.1:8080; proxy_redirect http://127.0.0.1:8080 /; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; access_log off; } gzip on; gzip_comp_level 9; gzip_disable "msie6"; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript; listen 55.55.55.55:443 ssl http2; } Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286117,286141#msg-286141 From red-fox0 на ya.ru Fri Nov 8 02:07:47 2019 From: red-fox0 на ya.ru (fox) Date: Fri, 8 Nov 2019 09:07:47 +0700 Subject: =?UTF-8?B?UmU6INC30LDRh9C10Lwg0L/QuNGB0LDRgtGMIEZhc3RDR0kg0YHQtdGA0LLQtdGA?= =?UTF-8?B?Pw==?= In-Reply-To: <407a35fbf9d78f7c98fcccaa12bfed82.NginxMailingListRussian@forum.nginx.org> References: <613a4f2c-13ee-eb74-b1a6-631ea229ce5a@ya.ru> <407a35fbf9d78f7c98fcccaa12bfed82.NginxMailingListRussian@forum.nginx.org> Message-ID: <408e6dc4-f3ad-e8c4-8d75-68b68f061b5c@ya.ru> Что где-то на диске лежит файл *.pl, *.php, *.py (вставить своё), содержащий код, который, если выполнить интерпретатором, сгенерирует динамический html или другой ответ для браузера. nginx этой работой в не занимается (не выполняет файлы) и просто работает как реверс-прокси. А логикой его "грузят" нижележащими серверами приложений (которые могут быть написаны на любом языке). 08.11.2019 0:42, greenwar пишет: > fox Wrote: > ------------------------------------------------------- >>> потому что с виду он делает всё тоже самое, что и fcgi - отдаёт >> HTML-код >>> клиенту >> Думаю, основная фишка nginx - что он *не* занимается интерпретацией >> файлов. Только проксированием и раздачей статики. > > Интерпретацией файлов... это что имеется ввиду? Логикой то его же грузят > через модули... > А если взять случай, когда 1 сервер = 1 проект, т.е. 1 NGINX решает 1 > задачу... > Что если он при таком раскладе начнёт ходить в редиску, например? > латенси конечно упадёт, но других проектов же нет, чтобы жаловаться... > > Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286092,286133#msg-286133 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > From boco на ufanet.ru Fri Nov 8 03:24:54 2019 From: boco на ufanet.ru (damir bikmuhametov) Date: Fri, 8 Nov 2019 08:24:54 +0500 Subject: =?UTF-8?B?UmU6INCX0LDQvNC10L3QsCBjb250ZW50LXR5cGUgaW1hZ2Uvd2VicCDQsiBsb2Nh?= =?UTF-8?B?dGlvbg==?= In-Reply-To: References: <20191107132753.GH58103@ufanet.ru> Message-ID: <20191108032454.GP58103@ufanet.ru> On Thu, Nov 07, 2019 at 08:21:31PM -0500, commeta wrote: > А как здесь location /webp прикрутить? подскажите. в любое место внутри вашего location / { ... } только нужно использовать location ^~ /webp/ { ... }, потому что регулярки выигрывают и вы получите цикл. а еще мне кажется, что вместо толпы if надо использовать map и try_files -- boco From nginx-forum на forum.nginx.org Fri Nov 8 03:30:49 2019 From: nginx-forum на forum.nginx.org (commeta) Date: Thu, 07 Nov 2019 22:30:49 -0500 Subject: =?UTF-8?B?UmU6INCX0LDQvNC10L3QsCBjb250ZW50LXR5cGUgaW1hZ2Uvd2VicCDQsiBsb2Nh?= =?UTF-8?B?dGlvbg==?= In-Reply-To: References: <20191107132753.GH58103@ufanet.ru> Message-ID: Все, разобрался, получилось так location / { location ~ [^/]\.ph(p\d*|tml)$ { try_files /does_not_exists @apacheback; } location ~* ^.+\.(gif|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf|woff|woff2|ico|ttf|eot|otf|flv)$ { try_files $uri $uri/ @fallback; expires 365d; } location ~* ^.+\.(jpg|jpeg|png)$ { set $ax 0; if ( $http_accept ~* "webp" ) { set $ax 1; } if ( -e $root_path/webp$uri ){ set $ax "${ax}1"; } if ($http_cookie ~* "modx_admin" ) { set $ax 0; } if ( $ax = "11" ) { rewrite ^ /webp$uri last; return 403; } expires 365d; try_files $uri $uri/ @fallback; } location ^~ /webp/ { types { } default_type "image/webp"; add_header Vary Accept; expires 365d; try_files $uri $uri/ @fallback; } location / { try_files /does_not_exists @fallback; } } Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286117,286144#msg-286144 From nginx-forum на forum.nginx.org Fri Nov 8 08:38:24 2019 From: nginx-forum на forum.nginx.org (greenwar) Date: Fri, 08 Nov 2019 03:38:24 -0500 Subject: =?UTF-8?B?UmU6INC30LDRh9C10Lwg0L/QuNGB0LDRgtGMIEZhc3RDR0kg0YHQtdGA0LLQtdGA?= =?UTF-8?B?Pw==?= In-Reply-To: <53c287d2-96e3-7616-e836-3a876abd9a1b@grid.net.ru> References: <53c287d2-96e3-7616-e836-3a876abd9a1b@grid.net.ru> Message-ID: весьма познавательно, спасибо, ситуация прояснилась ) Valery Kholodkov Wrote: ------------------------------------------------------- > Пожалуйста: > > http://www.grid.net.ru/nginx/nginx-modules.html > > On 07-11-19 21:30, greenwar wrote: > > а можно поподробнее - ЧТО именно проходит и НЕ проходит? > > > > Valery Kholodkov Wrote: > > ------------------------------------------------------- > >> В модулях nginx? Как раз наоборот, там неасинхрон не проходит. > > > -- > Val > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286092,286145#msg-286145 From postmaster на softsearch.ru Mon Nov 11 14:23:55 2019 From: postmaster на softsearch.ru (=?utf-8?B?0JzQuNGF0LDQuNC7INCc0L7QvdCw0YjRkdCy?=) Date: Mon, 11 Nov 2019 17:23:55 +0300 Subject: client_max_body_size inside if Message-ID: <1915796344.20191111172355@softsearch.ru> Здравствуйте. Оказалось, что client_max_body_size не работает внутри if-а . Хотел ограничивать размер GET- и POST-запросов, не ограничивая размер PUT-запросов, поступающих с доверенных ip. Конфиг планировался примерно такой: server { listen 80; server_name xxxxx; expires 1y; location / { root /xxxx/yyyyy; if ($request_method == PUT ) { client_max_body_size 0; # disable request size checks } client_body_temp_path /xxxx/webdav-tmp; dav_methods PUT DELETE MKCOL COPY MOVE; create_full_put_path on; dav_access user:rw group:rw all:r; limit_except GET { allow 127.0.0.0/8; allow 10.0.0.0/8; deny all; } } } Добавить NGX_HTTP_LIF_CONF в ngx_http_core_module.c не проблема. Но если есть возможность менять client_max_body_size внутри if-ов в самом nginx-е, было бы здорово. Если против этого, конечно же, нет никаких возражений. -- С уважением, Михаил mailto:postmaster на softsearch.ru From red-fox0 на ya.ru Mon Nov 11 14:32:51 2019 From: red-fox0 на ya.ru (fox) Date: Mon, 11 Nov 2019 21:32:51 +0700 Subject: client_max_body_size inside if In-Reply-To: <1915796344.20191111172355@softsearch.ru> References: <1915796344.20191111172355@softsearch.ru> Message-ID: <46fe141b-4ec3-422e-c117-ee430a118cf2@ya.ru> В разве не "if ($request_method = PUT )"? 11.11.2019 21:23, Михаил Монашёв пишет: > Здравствуйте. > > Оказалось, что client_max_body_size не работает внутри if-а . > > Хотел ограничивать размер GET- и POST-запросов, не ограничивая размер > PUT-запросов, поступающих с доверенных ip. Конфиг планировался > примерно такой: > > server { > listen 80; > server_name xxxxx; > > expires 1y; > > location / { > root /xxxx/yyyyy; > > if ($request_method == PUT ) { > client_max_body_size 0; # disable request size checks > } > > client_body_temp_path /xxxx/webdav-tmp; > > dav_methods PUT DELETE MKCOL COPY MOVE; > create_full_put_path on; > dav_access user:rw group:rw all:r; > > limit_except GET { > allow 127.0.0.0/8; > allow 10.0.0.0/8; > > deny all; > } > } > } > > Добавить NGX_HTTP_LIF_CONF в ngx_http_core_module.c не проблема. Но > если есть возможность менять client_max_body_size внутри if-ов в самом > nginx-е, было бы здорово. Если против этого, конечно же, нет никаких > возражений. > From postmaster на softsearch.ru Mon Nov 11 14:37:09 2019 From: postmaster на softsearch.ru (=?utf-8?B?0JzQuNGF0LDQuNC7INCc0L7QvdCw0YjRkdCy?=) Date: Mon, 11 Nov 2019 17:37:09 +0300 Subject: client_max_body_size inside if In-Reply-To: <46fe141b-4ec3-422e-c117-ee430a118cf2@ya.ru> References: <1915796344.20191111172355@softsearch.ru> <46fe141b-4ec3-422e-c117-ee430a118cf2@ya.ru> Message-ID: <207494691.20191111173709@softsearch.ru> Здравствуйте, fox. Вы правы. Нужно писать одно равно. > В разве не "if ($request_method = PUT )"? Но тут всёравно нет if-а http://nginx.org/ru/docs/http/ngx_http_core_module.html#client_max_body_size -- С уважением, Михаил mailto:postmaster на softsearch.ru From ru на nginx.com Tue Nov 12 14:50:15 2019 From: ru на nginx.com (Ruslan Ermilov) Date: Tue, 12 Nov 2019 17:50:15 +0300 Subject: client_max_body_size inside if In-Reply-To: <1915796344.20191111172355@softsearch.ru> References: <1915796344.20191111172355@softsearch.ru> Message-ID: <20191112145015.GA68963@lo0.su> On Mon, Nov 11, 2019 at 05:23:55PM +0300, Михаил Монашёв wrote: > Здравствуйте. > > Оказалось, что client_max_body_size не работает внутри if-а . > > Хотел ограничивать размер GET- и POST-запросов, не ограничивая размер > PUT-запросов, поступающих с доверенных ip. Конфиг планировался > примерно такой: > > server { > listen 80; > server_name xxxxx; > > expires 1y; > > location / { > root /xxxx/yyyyy; > > if ($request_method == PUT ) { > client_max_body_size 0; # disable request size checks > } > > client_body_temp_path /xxxx/webdav-tmp; > > dav_methods PUT DELETE MKCOL COPY MOVE; > create_full_put_path on; > dav_access user:rw group:rw all:r; > > limit_except GET { > allow 127.0.0.0/8; > allow 10.0.0.0/8; > > deny all; > } > } > } > > Добавить NGX_HTTP_LIF_CONF в ngx_http_core_module.c не проблема. Но > если есть возможность менять client_max_body_size внутри if-ов в самом > nginx-е, было бы здорово. Если против этого, конечно же, нет никаких > возражений. Всё не так просто. Сейчас для обычного (не-chunked) тела запроса проверка на данное ограничение встроена в фазу FIND_CONFIG, обработчик которой вызывается при исходном выборе location'а, а также каждый раз, когда location выбирается при помощи директивы rewrite. Можно передвинуть проверку на ограничение в фазу POST_REWRITE. От этого становится чуть лучше, и client_max_body_size начинает работать внутри "if" (добавления только NGX_HTTP_LIF_CONF недостаточно), но ограничение всё равно будет проверяться по числу выборов новых location'ов, и в целом идея работать не будет, т.к. фактически будет срабатывать наименьшее из ограничений: location /1 { client_max_body_size 8; rewrite /1 /2; } location /2 { client_max_body_size 9; rewrite /2 /3; } location /3 { client_max_body_size 10; } } Кроме того, фазы POST_REWRITE может и не быть, так что туда нельзя. Аналогично, не подходит и фаза POST_ACCESS (её также может не быть). Остаётся убрать это в CONTENT-фазу, но насколько это хорошее изменение, я пока не до конца понимаю. Proof of concept патч: # HG changeset patch # User Ruslan Ermilov # Date 1573570198 -10800 # Tue Nov 12 17:49:58 2019 +0300 # Node ID f50e2acbb576cbd699307a647da3e4ec2dbe5b48 # Parent 1ab95c51955e9c9fc9954b4d43d287c87a97fe0e Enabled client_max_body_size inside "if". diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c --- a/src/http/ngx_http_core_module.c +++ b/src/http/ngx_http_core_module.c @@ -343,7 +343,8 @@ static ngx_command_t ngx_http_core_comm NULL }, { ngx_string("client_max_body_size"), - NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, + NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF + |NGX_CONF_TAKE1, ngx_conf_set_off_slot, NGX_HTTP_LOC_CONF_OFFSET, offsetof(ngx_http_core_loc_conf_t, client_max_body_size), @@ -961,25 +962,6 @@ ngx_http_core_find_config_phase(ngx_http ngx_http_update_location_config(r); - ngx_log_debug2(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, - "http cl:%O max:%O", - r->headers_in.content_length_n, clcf->client_max_body_size); - - if (r->headers_in.content_length_n != -1 - && !r->discard_body - && clcf->client_max_body_size - && clcf->client_max_body_size < r->headers_in.content_length_n) - { - ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, - "client intended to send too large body: %O bytes", - r->headers_in.content_length_n); - - r->expect_tested = 1; - (void) ngx_http_discard_request_body(r); - ngx_http_finalize_request(r, NGX_HTTP_REQUEST_ENTITY_TOO_LARGE); - return NGX_OK; - } - if (rc == NGX_DONE) { ngx_http_clear_location(r); @@ -1160,9 +1142,31 @@ ngx_int_t ngx_http_core_content_phase(ngx_http_request_t *r, ngx_http_phase_handler_t *ph) { - size_t root; - ngx_int_t rc; - ngx_str_t path; + size_t root; + ngx_int_t rc; + ngx_str_t path; + ngx_http_core_loc_conf_t *clcf; + + clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module); + + ngx_log_debug2(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, + "http cl:%O max:%O", + r->headers_in.content_length_n, clcf->client_max_body_size); + + if (r->headers_in.content_length_n != -1 + && !r->discard_body + && clcf->client_max_body_size + && clcf->client_max_body_size < r->headers_in.content_length_n) + { + ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, + "client intended to send too large body: %O bytes", + r->headers_in.content_length_n); + + r->expect_tested = 1; + (void) ngx_http_discard_request_body(r); + ngx_http_finalize_request(r, NGX_HTTP_REQUEST_ENTITY_TOO_LARGE); + return NGX_OK; + } if (r->content_handler) { r->write_event_handler = ngx_http_request_empty_handler; From postmaster на softsearch.ru Tue Nov 12 18:25:26 2019 From: postmaster на softsearch.ru (=?utf-8?B?0JzQuNGF0LDQuNC7INCc0L7QvdCw0YjRkdCy?=) Date: Tue, 12 Nov 2019 21:25:26 +0300 Subject: client_max_body_size inside if In-Reply-To: <20191112145015.GA68963@lo0.su> References: <1915796344.20191111172355@softsearch.ru> <20191112145015.GA68963@lo0.su> Message-ID: <393178367.20191112212526@softsearch.ru> Здравствуйте, Ruslan. > Proof of concept патч: Руслан, огромное спасибо! -- С уважением, Михаил mailto:postmaster на softsearch.ru From chipitsine на gmail.com Wed Nov 13 12:31:04 2019 From: chipitsine на gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Wed, 13 Nov 2019 17:31:04 +0500 Subject: =?UTF-8?B?0LrQsNC6INGB0LrQvtC80L/QuNC70LjRgNC+0LLQsNGC0Ywgbmdpbngg0YEgb3Bl?= =?UTF-8?B?bnNzbCAzLjAgPw==?= Message-ID: привет, наверное, вопрос, как собрать openssl ? потому что.... .... /root/nginx-1.17.5/src/event/ngx_event_openssl.c:3198: undefined reference to `EVP_MD_CTX_create' /root/nginx-1.17.5/src/event/ngx_event_openssl.c:3290: undefined reference to `EVP_MD_CTX_destroy' /root/nginx-1.17.5/src/event/ngx_event_openssl.c:3253: undefined reference to `sk_num' /root/nginx-1.17.5/src/event/ngx_event_openssl.c:3256: undefined reference to `sk_value' /root/nginx-1.17.5/src/event/ngx_event_openssl.c:3278: undefined reference to `EVP_MD_CTX_destroy' objs/src/event/ngx_event_openssl.o: In function `ngx_openssl_exit': /root/nginx-1.17.5/src/event/ngx_event_openssl.c:5188: undefined reference to `ENGINE_cleanup' objs/src/event/ngx_event_openssl_stapling.o: In function `ngx_ssl_stapling_issuer': /root/nginx-1.17.5/src/event/ngx_event_openssl_stapling.c:308: undefined reference to `sk_num' /root/nginx-1.17.5/src/event/ngx_event_openssl_stapling.c:314: undefined reference to `sk_value' /root/nginx-1.17.5/src/event/ngx_event_openssl_stapling.c:319: undefined reference to `CRYPTO_add_lock' objs/src/event/ngx_event_openssl_stapling.o: In function `ngx_ssl_stapling_responder': /root/nginx-1.17.5/src/event/ngx_event_openssl_stapling.c:404: undefined reference to `sk_value' collect2: error: ld returned 1 exit status make[1]: *** [objs/nginx] Error 1 make[1]: Leaving directory `/root/nginx-1.17.5' make: *** [build] Error 2 [root на xxx ~]# ls ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From chipitsine на gmail.com Thu Nov 14 09:03:52 2019 From: chipitsine на gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Thu, 14 Nov 2019 14:03:52 +0500 Subject: =?UTF-8?B?UmU6INC60LDQuiDRgdC60L7QvNC/0LjQu9C40YDQvtCy0LDRgtGMIG5naW54INGB?= =?UTF-8?B?IG9wZW5zc2wgMy4wID8=?= In-Reply-To: References: Message-ID: отбой, всё получилось ср, 13 нояб. 2019 г. в 17:31, Илья Шипицин : > привет, > > наверное, вопрос, как собрать openssl ? > потому что.... > > .... > > /root/nginx-1.17.5/src/event/ngx_event_openssl.c:3198: undefined reference > to `EVP_MD_CTX_create' > /root/nginx-1.17.5/src/event/ngx_event_openssl.c:3290: undefined reference > to `EVP_MD_CTX_destroy' > /root/nginx-1.17.5/src/event/ngx_event_openssl.c:3253: undefined reference > to `sk_num' > /root/nginx-1.17.5/src/event/ngx_event_openssl.c:3256: undefined reference > to `sk_value' > /root/nginx-1.17.5/src/event/ngx_event_openssl.c:3278: undefined reference > to `EVP_MD_CTX_destroy' > objs/src/event/ngx_event_openssl.o: In function `ngx_openssl_exit': > /root/nginx-1.17.5/src/event/ngx_event_openssl.c:5188: undefined reference > to `ENGINE_cleanup' > objs/src/event/ngx_event_openssl_stapling.o: In function > `ngx_ssl_stapling_issuer': > /root/nginx-1.17.5/src/event/ngx_event_openssl_stapling.c:308: undefined > reference to `sk_num' > /root/nginx-1.17.5/src/event/ngx_event_openssl_stapling.c:314: undefined > reference to `sk_value' > /root/nginx-1.17.5/src/event/ngx_event_openssl_stapling.c:319: undefined > reference to `CRYPTO_add_lock' > objs/src/event/ngx_event_openssl_stapling.o: In function > `ngx_ssl_stapling_responder': > /root/nginx-1.17.5/src/event/ngx_event_openssl_stapling.c:404: undefined > reference to `sk_value' > collect2: error: ld returned 1 exit status > make[1]: *** [objs/nginx] Error 1 > make[1]: Leaving directory `/root/nginx-1.17.5' > make: *** [build] Error 2 > [root на xxx ~]# ls > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From kpoxa на kpoxa.net Thu Nov 14 09:21:54 2019 From: kpoxa на kpoxa.net (kpoxa) Date: Thu, 14 Nov 2019 12:21:54 +0300 Subject: =?UTF-8?B?0J3QtSDQv9C70LDQvdC40YDRg9C10YLRgdGPINC70Lgg0L3QsNC/0LjRgdCw0L0=?= =?UTF-8?B?0LjQtSDQvNC+0LTRg9C70Y8g0LTQu9GPIEROUyBvdmVyIEhUVFA/?= Message-ID: Добрый день. Не планируется ли написание модуля к nginx для DNS over HTTP? -- Рустам -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum на forum.nginx.org Thu Nov 14 09:34:30 2019 From: nginx-forum на forum.nginx.org (iefremov) Date: Thu, 14 Nov 2019 04:34:30 -0500 Subject: Ngonx for confluence Message-ID: <12193a9e59671c2d3e8d861307465509.NginxMailingListRussian@forum.nginx.org> У конфлюенса при установке создается файл вида server { listen 80; server name short; location / { client_max_body_size 300m; proxy_pass http://127.0.0.1:8090; proxy_set_header Host $host; proxy_set_header X-Real_IP $remote addr; proxy_set_header X-Forwarded-for $remote_addr; port_in_redirect off; proxy_redirect http://127.0.0.1:8090/ /; proxy_connect_timeout 600; } } Я так понял это перенаправление на порт 8090 при любом обращении (хоть айпи, хоть имя) к серверу через http. Хотел добавить редирект также при любом обращении на полное имя сайта. Пишу return 301 http://short.domain.local; редирект идет, но браузер пишет ошибку "выполнил переадресацию слишком много раз". Что я делаю не так? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286206,286206#msg-286206 From pnz.stalker на mail.ru Thu Nov 14 10:53:25 2019 From: pnz.stalker на mail.ru (=?UTF-8?B?0JDQvdGC0L7QvSDQk9C+0YDQu9C+0LI=?=) Date: Thu, 14 Nov 2019 13:53:25 +0300 Subject: =?UTF-8?B?UmU6INC60LDQuiDRgdC60L7QvNC/0LjQu9C40YDQvtCy0LDRgtGMIG5naW54INGB?= =?UTF-8?B?IG9wZW5zc2wgMy4wID8=?= In-Reply-To: References: Message-ID: <78500c0e-8957-19fd-d985-071e4b4a5b97@mail.ru> Написали бы что было и как победили проблему. вдруг кому ещё пригодится 14.11.2019 12:03, Илья Шипицин пишет: > отбой, всё получилось > > ср, 13 нояб. 2019 г. в 17:31, Илья Шипицин >: > > привет, > > наверное, вопрос, как собрать openssl ? > потому что.... > > .... > > /root/nginx-1.17.5/src/event/ngx_event_openssl.c:3198: undefined > reference to `EVP_MD_CTX_create' > /root/nginx-1.17.5/src/event/ngx_event_openssl.c:3290: undefined > reference to `EVP_MD_CTX_destroy' From nginx-forum на forum.nginx.org Fri Nov 15 07:45:06 2019 From: nginx-forum на forum.nginx.org (yanda.a) Date: Fri, 15 Nov 2019 02:45:06 -0500 Subject: Ngonx for confluence In-Reply-To: <12193a9e59671c2d3e8d861307465509.NginxMailingListRussian@forum.nginx.org> References: <12193a9e59671c2d3e8d861307465509.NginxMailingListRussian@forum.nginx.org> Message-ID: <40b5d0dbd66865a0a327c1100dfce0ac.NginxMailingListRussian@forum.nginx.org> В конфигурации только один server {}? Домен, на который идет редирект, находится на том же сервере? Если на оба вопроса ответ "да", то все верно, так как запрос попадает в этот же server {}, и выполняет редирект. И так по кругу. При таком раскладе нужно делать для short.domain.local отдельный server {}, а для short убрать location / {} и оставить только return 301. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286206,286214#msg-286214 From nginx-forum на forum.nginx.org Fri Nov 15 07:51:37 2019 From: nginx-forum на forum.nginx.org (yanda.a) Date: Fri, 15 Nov 2019 02:51:37 -0500 Subject: Ngonx for confluence In-Reply-To: <40b5d0dbd66865a0a327c1100dfce0ac.NginxMailingListRussian@forum.nginx.org> References: <12193a9e59671c2d3e8d861307465509.NginxMailingListRussian@forum.nginx.org> <40b5d0dbd66865a0a327c1100dfce0ac.NginxMailingListRussian@forum.nginx.org> Message-ID: Небольшое дополнение. Было бы не плохой практикой делать отдельный server {} (параметр default_server для listen, ссылка на документацию ниже) для "левых" запросов, которые не должны обрабатываться существующими сервисами, а для каждого сервиса делать отдельный server {}. Зачем это? Чтобы сервис "отдавался" только по домену, на котором он находится, это позволит избежать неожиданных ситуаций. Также, не плохо использовать отдельный access_log для каждого server {}, чтобы понимать куда попадают запросы (никто не отменял ошибок в директиве server_name, а логи помогут быстрее локализовать проблему). http://nginx.org/ru/docs/http/ngx_http_core_module.html#listen http://nginx.org/ru/docs/http/ngx_http_log_module.html#access_log Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286206,286215#msg-286215 From nginx-forum на forum.nginx.org Fri Nov 15 12:31:22 2019 From: nginx-forum на forum.nginx.org (iefremov) Date: Fri, 15 Nov 2019 07:31:22 -0500 Subject: Ngonx for confluence In-Reply-To: <40b5d0dbd66865a0a327c1100dfce0ac.NginxMailingListRussian@forum.nginx.org> References: <12193a9e59671c2d3e8d861307465509.NginxMailingListRussian@forum.nginx.org> <40b5d0dbd66865a0a327c1100dfce0ac.NginxMailingListRussian@forum.nginx.org> Message-ID: Спасибо, получилось. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286206,286217#msg-286217 From nginx-forum на forum.nginx.org Tue Nov 19 10:05:30 2019 From: nginx-forum на forum.nginx.org (vitsh1974) Date: Tue, 19 Nov 2019 05:05:30 -0500 Subject: balancer keepalive Message-ID: Прошу прощения. возможно что то не так написал Задано 1 windows сервер на него установлен и запущен НГИНКС общая задача у меня есть несколько серверов решений Гоогл каптчи ( довольно длительный процесс и занимает около 300 секунд !!! необходимо настроить балансировку (на глазок) в общем если процесс происходит быстро ( менее 30 секунд то все хорошо) вот пример конфига. но он вроде как закрывает соединения не успев дождаться ответа #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 2048; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; # tcp_nopush on; # keepalive_timeout 0; keepalive_timeout 300s; #gzip on; upstream backend { keepalive 300; server 188.9.203.78:3312 weight=10; // тут живет 1 XEVEL server 32.16.142.63:3312 weight=1; // тут живет 2 XEVEL } #В этом примере из каждых 11 запросов первый бэкенд будет обрабатывать 10, второй 1, server { listen 3315; // вроде как сюда принимаем server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://backend; fastcgi_store on; fastcgi_send_timeout 300s; proxy_read_timeout 300s; keepalive_timeout 300s; proxy_connect_timeout 300s; # proxy_http_version 1.1; # proxy_set_header Connection ""; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286243,286243#msg-286243 From mdounin на mdounin.ru Tue Nov 19 11:35:09 2019 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 19 Nov 2019 14:35:09 +0300 Subject: =?UTF-8?B?UmU6INCd0LUg0L/Qu9Cw0L3QuNGA0YPQtdGC0YHRjyDQu9C4INC90LDQv9C40YE=?= =?UTF-8?B?0LDQvdC40LUg0LzQvtC00YPQu9GPINC00LvRjyBETlMgb3ZlciBIVFRQPw==?= In-Reply-To: References: Message-ID: <20191119113509.GR12894@mdounin.ru> Hello! On Thu, Nov 14, 2019 at 12:21:54PM +0300, kpoxa wrote: > Не планируется ли написание модуля к nginx для DNS over HTTP? Пока в планах нет. На всякий случай уточню - что именно хочется от nginx'а: - чтобы он отвечал на DoH-запросы сам, - чтобы он транслировал их на какой-то внешний DNS-сервер по UDP/TCP, - или чтобы умел использовать DoH в рамках директивы resolver? -- Maxim Dounin http://mdounin.ru/ From kpoxa на kpoxa.net Tue Nov 19 12:21:28 2019 From: kpoxa на kpoxa.net (kpoxa) Date: Tue, 19 Nov 2019 15:21:28 +0300 Subject: =?UTF-8?B?UmU6INCd0LUg0L/Qu9Cw0L3QuNGA0YPQtdGC0YHRjyDQu9C4INC90LDQv9C40YE=?= =?UTF-8?B?0LDQvdC40LUg0LzQvtC00YPQu9GPINC00LvRjyBETlMgb3ZlciBIVFRQPw==?= In-Reply-To: <20191119113509.GR12894@mdounin.ru> References: <20191119113509.GR12894@mdounin.ru> Message-ID: Добрый день. Вариант 2, чтобы он транслировал запросы на внешний НДС по UPD/TCP. вт, 19 нояб. 2019 г. в 14:35, Maxim Dounin : > Hello! > > On Thu, Nov 14, 2019 at 12:21:54PM +0300, kpoxa wrote: > > > Не планируется ли написание модуля к nginx для DNS over HTTP? > > Пока в планах нет. > На всякий случай уточню - что именно хочется от nginx'а: > > - чтобы он отвечал на DoH-запросы сам, > - чтобы он транслировал их на какой-то внешний DNS-сервер по UDP/TCP, > - или чтобы умел использовать DoH в рамках директивы resolver? > > -- > Maxim Dounin > http://mdounin.ru/ > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -------------- next part -------------- An HTML attachment was scrubbed... URL: From thresh на nginx.com Tue Nov 19 13:19:49 2019 From: thresh на nginx.com (Konstantin Pavlov) Date: Tue, 19 Nov 2019 16:19:49 +0300 Subject: =?UTF-8?B?UmU6INCd0LUg0L/Qu9Cw0L3QuNGA0YPQtdGC0YHRjyDQu9C4INC90LDQv9C40YE=?= =?UTF-8?B?0LDQvdC40LUg0LzQvtC00YPQu9GPINC00LvRjyBETlMgb3ZlciBIVFRQPw==?= In-Reply-To: References: <20191119113509.GR12894@mdounin.ru> Message-ID: <3cfc278c-c78b-7bc7-05b6-80a90156798c@nginx.com> Добрый день, https://github.com/TuxInvader/nginx-dns содержит пример в examples, где делается ровно это - DoH преобразуется в обычные DNS-запросы: https://github.com/TuxInvader/nginx-dns/blob/master/docs/nginx-dns-over-https.md На простые запросы с A/AAAA отвечает правду, более сложные случаи я лично не пробовал, YMMV. 19.11.2019 15:21, kpoxa wrote: > Добрый день. > > Вариант 2, чтобы он транслировал запросы на внешний НДС по UPD/TCP. > > вт, 19 нояб. 2019 г. в 14:35, Maxim Dounin >: > > Hello! > > On Thu, Nov 14, 2019 at 12:21:54PM +0300, kpoxa wrote: > > > Не планируется ли написание модуля к nginx для DNS over HTTP? > > Пока в планах нет. > На всякий случай уточню - что именно хочется от nginx'а: > > - чтобы он отвечал на DoH-запросы сам, > - чтобы он транслировал их на какой-то внешний DNS-сервер по UDP/TCP, > - или чтобы умел использовать DoH в рамках директивы resolver? > -- Konstantin Pavlov https://www.nginx.com/ From mdounin на mdounin.ru Tue Nov 19 14:32:59 2019 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 19 Nov 2019 17:32:59 +0300 Subject: nginx-1.17.6 Message-ID: <20191119143259.GW12894@mdounin.ru> Изменения в nginx 1.17.6 19.11.2019 *) Добавление: переменные $proxy_protocol_server_addr и $proxy_protocol_server_port. *) Добавление: директива limit_conn_dry_run. *) Добавление: переменные $limit_req_status и $limit_conn_status. -- Maxim Dounin http://nginx.org/ From nginx-forum на forum.nginx.org Sat Nov 23 23:33:31 2019 From: nginx-forum на forum.nginx.org (luk911) Date: Sat, 23 Nov 2019 18:33:31 -0500 Subject: =?UTF-8?B?0KDQtdC00LjRgNC10LrRgiDQstGB0LXRhSAkcmVxdWVzdCB1cmkgINC90LAgwqAv?= =?UTF-8?B?ICDQsdC10Lcg0L/QtdGA0LXQtNCw0YfQuCDRjdGC0L7Qs9C+INGB0LDQvNC+?= =?UTF-8?B?0LPQviAkcmVxdWVzdCB1cmk=?= Message-ID: Собственно задача: есть старый сайт, он на другой был cms и там были юрлы всякие /index.php?productID=2588 и так далее с параметром после index.php Как перенаправить все эти юрлы на главную нового сайта. http://www.stylekinder.ru/index.php?productID=2588 и надо чтобы все эти старые ссылки редиректились на https://www.stylekinder.ru/ все конфиги каторые я пробовал редиректят сюда https://www.stylekinder.ru/?productID=2588 А мне надо чтоб эти хвосты не передавались на новый сайт, а просто вели на главную. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286309,286309#msg-286309 From nginx-forum на forum.nginx.org Sun Nov 24 02:41:25 2019 From: nginx-forum на forum.nginx.org (luk911) Date: Sat, 23 Nov 2019 21:41:25 -0500 Subject: =?UTF-8?B?UmU6INCg0LXQtNC40YDQtdC60YIg0LLRgdC10YUgJHJlcXVlc3QgdXJpICDQvdCw?= =?UTF-8?B?IMKgLyAg0LHQtdC3INC/0LXRgNC10LTQsNGH0Lgg0Y3RgtC+0LPQviDRgdCw?= =?UTF-8?B?0LzQvtCz0L4gJHJlcXVlc3QgdXJp?= In-Reply-To: References: Message-ID: <64aa3543ebffb1d13736f7afb593daf9.NginxMailingListRussian@forum.nginx.org> Кажется глюк в браузерах современных, криво они юрлы отображают, проверку надо делать другими инструментами, хотя бы в вебмастере проверить ответ сервера. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286309,286310#msg-286310 From root на dl.sm.ua Sun Nov 24 04:31:51 2019 From: root на dl.sm.ua (Dmytro Lavryk) Date: Sun, 24 Nov 2019 06:31:51 +0200 Subject: =?UTF-8?B?0JLRltC00L/QvtCy0ZbQtNGMOiDQoNC10LTQuNGA0LXQutGCINCy0YHQtdGFICRy?= =?UTF-8?B?ZXF1ZXN0IHVyaSAg0L3QsCDCoC8gINCx0LXQtyDQv9C10YDQtdC00LDRh9C4?= =?UTF-8?B?INGN0YLQvtCz0L4g0YHQsNC80L7Qs9C+ICRyZXF1ZXN0IHVyaQ==?= In-Reply-To: References: Message-ID: <16e9bae252e.bf61e9d3174431.7027540395440774010@dl.sm.ua> return 301 https://www.stylekinder.ru/ ___________ С уважением, Дмитрий Лаврик WWW: https://dl.sm.ua E-mail: mailto:me на dl.sm.ua Telegram: dlsumy Тел. (viber): +380506037953 Skype: dmytro.lavryk Facebook: https://www.facebook.com/dmytro.lavryk ---- Увімкнуто нд, 24 лист. 2019 01:33:31 +0200 luk911 написав ---- Собственно задача: есть старый сайт, он на другой был cms и там были юрлы всякие /index.php?productID=2588 и так далее с параметром после index.php Как перенаправить все эти юрлы на главную нового сайта. http://www.stylekinder.ru/index.php?productID=2588 и надо чтобы все эти старые ссылки редиректились на https://www.stylekinder.ru/ все конфиги каторые я пробовал редиректят сюда https://www.stylekinder.ru/?productID=2588 А мне надо чтоб эти хвосты не передавались на новый сайт, а просто вели на главную. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286309,286309#msg-286309 _______________________________________________ nginx-ru mailing list nginx-ru на nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на forum.nginx.org Sun Nov 24 23:45:32 2019 From: nginx-forum на forum.nginx.org (kron) Date: Sun, 24 Nov 2019 18:45:32 -0500 Subject: =?UTF-8?B?bmVnYXRpdmUgc2l6ZSBidWYgaW4gd3JpdGVyINC/0L7RgdC70LUgd3JpdGV2KCkg?= =?UTF-8?B?bm90IHJlYWR5?= Message-ID: <7f5e2b22ef256377c2a151999cf00066.NginxMailingListRussian@forum.nginx.org> Доброго всем дня! Сейчас в процессе написания модуля для nginx по генерации PDF (https://github.com/undying/nginx-html2x-module/blob/master/src/ngx_http_html2x_module.c#L205) и наткнулся в процессе на странное. Началось с того, что если тестировать локально, то генерация и отдача PDF работает. Если разнести сервер и клиента на разные машины, начинаются проблемы. В логе нашел следующее: 2019/11/24 23:22:31 [debug] 9#9: *1 http write filter limit 0 2019/11/24 23:22:31 [debug] 9#9: *1 writev: 44540 of 168186 2019/11/24 23:22:31 [debug] 9#9: *1 writev: -1 of 123646 2019/11/24 23:22:31 [debug] 9#9: *1 writev() not ready (11: Resource temporarily unavailable) 2019/11/24 23:22:31 [debug] 9#9: *1 http write filter 000055D3FDBEFF60 2019/11/24 23:22:31 [debug] 9#9: *1 http copy filter: -2 "/html2pdf?dpi=100" 2019/11/24 23:22:31 [debug] 9#9: *1 http finalize request: -2, "/html2pdf?dpi=100" a:1, c:1 2019/11/24 23:22:31 [debug] 9#9: *1 event timer add: 3: 60000:1302169663 2019/11/24 23:22:31 [debug] 9#9: *1 epoll add event: fd:3 op:3 ev:80002005 2019/11/24 23:22:32 [debug] 9#9: *1 http run request: "/html2pdf?dpi=100" 2019/11/24 23:22:32 [debug] 9#9: *1 http writer handler: "/html2pdf?dpi=100" 2019/11/24 23:22:32 [debug] 9#9: *1 http output filter "/html2pdf?dpi=100" 2019/11/24 23:22:32 [debug] 9#9: *1 http copy filter: "/html2pdf?dpi=100" 2019/11/24 23:22:32 [debug] 9#9: *1 write old buf t:0 f:0 00007FFFC360B460, pos 0000000000000000, size: 1254989623795351808 file: 94368983417552, size: -94368983417552 2019/11/24 23:22:32 [alert] 9#9: *1 negative size buf in writer t:0 r:0 f:0 00007FFFC360B460 0000000000000000-116A9E69E31F8100 000055D3FDBBFF00 94368983417552-0, client: 192.168.1.228, server: , request: "POST /html2pdf?dpi=100 HTTP/1.1", host: "html2x.domain.local" 2019/11/24 23:22:32 [debug] 9#9: *1 http copy filter: -1 "/html2pdf?dpi=100" 2019/11/24 23:22:32 [debug] 9#9: *1 http writer output filter: -1, "/html2pdf?dpi=100" Насколько я понял, после первой пачки байт сокет становится занят и запись откладывается, но с наступлением таймера, при повторной попытке записи оказывается, что буфер для чтения пуст. Пока не понял, почему так может быть. Был бы благодарен за любую подсказку. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286312,286312#msg-286312 From nginx-forum на forum.nginx.org Sun Nov 24 23:49:35 2019 From: nginx-forum на forum.nginx.org (kron) Date: Sun, 24 Nov 2019 18:49:35 -0500 Subject: =?UTF-8?B?UmU6IG5lZ2F0aXZlIHNpemUgYnVmIGluIHdyaXRlciDQv9C+0YHQu9C1IHdyaXRl?= =?UTF-8?B?digpIG5vdCByZWFkeQ==?= In-Reply-To: <7f5e2b22ef256377c2a151999cf00066.NginxMailingListRussian@forum.nginx.org> References: <7f5e2b22ef256377c2a151999cf00066.NginxMailingListRussian@forum.nginx.org> Message-ID: <92f4bce8c4ea20a083573e5f0ed8f7c0.NginxMailingListRussian@forum.nginx.org> nginx version: nginx/1.16.1 built by gcc 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1) built with OpenSSL 1.1.1 11 Sep 2018 TLS SNI support enabled configure arguments: --with-debug --with-ld-opt=-Wl,-rpath,/usr/local/lib --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-cc-opt='-O0 -g -ggdb' --with-threads --with-pcre-jit --with-file-aio --with-http_v2_module --with-http_ssl_module --with-http_geoip_module --with-http_realip_module --with-http_gunzip_module --with-http_gzip_static_module --without-http_ssi_module --without-http_scgi_module --without-http_uwsgi_module --without-http_mirror_module --without-http_fastcgi_module --without-http_memcached_module --add-module=/opt/mod_pdf Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286312,286313#msg-286313 From nginx-forum на forum.nginx.org Sun Nov 24 23:57:46 2019 From: nginx-forum на forum.nginx.org (kron) Date: Sun, 24 Nov 2019 18:57:46 -0500 Subject: =?UTF-8?B?UmU6IG5lZ2F0aXZlIHNpemUgYnVmIGluIHdyaXRlciDQv9C+0YHQu9C1IHdyaXRl?= =?UTF-8?B?digpIG5vdCByZWFkeQ==?= In-Reply-To: <92f4bce8c4ea20a083573e5f0ed8f7c0.NginxMailingListRussian@forum.nginx.org> References: <7f5e2b22ef256377c2a151999cf00066.NginxMailingListRussian@forum.nginx.org> <92f4bce8c4ea20a083573e5f0ed8f7c0.NginxMailingListRussian@forum.nginx.org> Message-ID: Пробовал с последней версией Nginx, та же история nginx version: nginx/1.17.6 built by gcc 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1) built with OpenSSL 1.1.1 11 Sep 2018 TLS SNI support enabled configure arguments: --with-debug --with-ld-opt=-Wl,-rpath,/usr/local/lib --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-cc-opt='-O0 -g -ggdb' --with-threads --with-pcre-jit --with-file-aio --with-http_v2_module --with-http_ssl_module --with-http_geoip_module --with-http_realip_module --with-http_gunzip_module --with-http_gzip_static_module --without-http_ssi_module --without-http_scgi_module --without-http_uwsgi_module --without-http_mirror_module --without-http_fastcgi_module --without-http_memcached_module --add-module=/opt/mod_pdf Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286312,286314#msg-286314 From mdounin на mdounin.ru Mon Nov 25 12:19:35 2019 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 25 Nov 2019 15:19:35 +0300 Subject: =?UTF-8?B?UmU6IG5lZ2F0aXZlIHNpemUgYnVmIGluIHdyaXRlciDQv9C+0YHQu9C1IHdyaXRl?= =?UTF-8?B?digpIG5vdCByZWFkeQ==?= In-Reply-To: <7f5e2b22ef256377c2a151999cf00066.NginxMailingListRussian@forum.nginx.org> References: <7f5e2b22ef256377c2a151999cf00066.NginxMailingListRussian@forum.nginx.org> Message-ID: <20191125121935.GI12894@mdounin.ru> Hello! On Sun, Nov 24, 2019 at 06:45:32PM -0500, kron wrote: > Доброго всем дня! > Сейчас в процессе написания модуля для nginx по генерации PDF > (https://github.com/undying/nginx-html2x-module/blob/master/src/ngx_http_html2x_module.c#L205) > и наткнулся в процессе на странное. > Началось с того, что если тестировать локально, то генерация и отдача PDF > работает. > Если разнести сервер и клиента на разные машины, начинаются проблемы. > > В логе нашел следующее: > 2019/11/24 23:22:31 [debug] 9#9: *1 http write filter limit 0 > 2019/11/24 23:22:31 [debug] 9#9: *1 writev: 44540 of 168186 > 2019/11/24 23:22:31 [debug] 9#9: *1 writev: -1 of 123646 > > 2019/11/24 23:22:31 [debug] 9#9: *1 writev() not ready (11: Resource > temporarily unavailable) > > 2019/11/24 23:22:31 [debug] 9#9: *1 http write filter 000055D3FDBEFF60 > 2019/11/24 23:22:31 [debug] 9#9: *1 http copy filter: -2 > "/html2pdf?dpi=100" > 2019/11/24 23:22:31 [debug] 9#9: *1 http finalize request: -2, > "/html2pdf?dpi=100" a:1, c:1 > 2019/11/24 23:22:31 [debug] 9#9: *1 event timer add: 3: 60000:1302169663 > 2019/11/24 23:22:31 [debug] 9#9: *1 epoll add event: fd:3 op:3 ev:80002005 > 2019/11/24 23:22:32 [debug] 9#9: *1 http run request: "/html2pdf?dpi=100" > 2019/11/24 23:22:32 [debug] 9#9: *1 http writer handler: > "/html2pdf?dpi=100" > 2019/11/24 23:22:32 [debug] 9#9: *1 http output filter "/html2pdf?dpi=100" > 2019/11/24 23:22:32 [debug] 9#9: *1 http copy filter: "/html2pdf?dpi=100" > 2019/11/24 23:22:32 [debug] 9#9: *1 write old buf t:0 f:0 00007FFFC360B460, > pos 0000000000000000, size: 1254989623795351808 file: 94368983417552, size: > -94368983417552 > > 2019/11/24 23:22:32 [alert] 9#9: *1 negative size buf in writer t:0 r:0 f:0 > 00007FFFC360B460 0000000000000000-116A9E69E31F8100 000055D3FDBBFF00 > 94368983417552-0, client: 192.168.1.228, server: , request: "POST > /html2pdf?dpi=100 HTTP/1.1", host: "html2x.domain.local" > > 2019/11/24 23:22:32 [debug] 9#9: *1 http copy filter: -1 > "/html2pdf?dpi=100" > 2019/11/24 23:22:32 [debug] 9#9: *1 http writer output filter: -1, > "/html2pdf?dpi=100" > > Насколько я понял, после первой пачки байт сокет становится занят и запись > откладывается, но с наступлением таймера, при повторной попытке записи > оказывается, что буфер для чтения пуст. > Пока не понял, почему так может быть. Был бы благодарен за любую подсказку. У вас буфер, который вы отдаёте в ngx_http_output_filter() - на стеке. Соответственно если содержимое буфера не отправляется сразу - при следующей попытке по соответствующему указателю будет уже не буфер, а мусор. Именно это наглядно демострирует приведённый вами лог. Не надо так. На стеке можно держать chain link'и (ngx_chain_t), а вот структуры буферов (ngx_buf_t) и собственно сами данные - обязательно должны иметь время жизни не меньше, чем требуется для их отправки клиенту. То есть в простейшем случае - их следует выделять из пула запроса. -- Maxim Dounin http://mdounin.ru/ From nginx-forum на forum.nginx.org Mon Nov 25 19:15:58 2019 From: nginx-forum на forum.nginx.org (kron) Date: Mon, 25 Nov 2019 14:15:58 -0500 Subject: =?UTF-8?B?UmU6IG5lZ2F0aXZlIHNpemUgYnVmIGluIHdyaXRlciDQv9C+0YHQu9C1IHdyaXRl?= =?UTF-8?B?digpIG5vdCByZWFkeQ==?= In-Reply-To: <20191125121935.GI12894@mdounin.ru> References: <20191125121935.GI12894@mdounin.ru> Message-ID: Спасибо большое, Максим! Уже не первый раз выстреливаю себе в ногу забывая об асинхронности :/ Еще раз спасибо! Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286312,286322#msg-286322 From nginx-forum на forum.nginx.org Tue Nov 26 11:42:24 2019 From: nginx-forum на forum.nginx.org (vahvarh) Date: Tue, 26 Nov 2019 06:42:24 -0500 Subject: =?UTF-8?B?UmU6INCa0LDQuiDQt9Cw0L/QuNGB0LDRgtGMINC60LvRjtGH0LggcHJlLW1hc3Rl?= =?UTF-8?B?ciDQvtGCIHRscy3RgdC+0LXQtNC40L3QtdC90LjQuSwg0L7QsdGA0LDQsdCw?= =?UTF-8?B?0YLRi9Cy0LDQtdC80YvRhSBuZ2lueD8=?= In-Reply-To: <1801394579.20190903124215@yandex.ru> References: <1801394579.20190903124215@yandex.ru> Message-ID: <19a5aff9ab09ecc65212cc9d85555408.NginxMailingListRussian@forum.nginx.org> Аналогичная задача (нужно писать ключи и дамп чтобы найти кто портит данные), но не помогает. На апаче сделали, оказалось с nginx приходит, нужно понять приходит ли так и на nginx или портится внутри него. На nginx машине сделали: systemctl edit nginx [Service] Environment=SSLKEYLOGFILE=/www/sslkeylog.txt Environment=LD_PRELOAD=/usr/local/lib/libsslkeylog.so nginx.conf: env LD_PRELOAD=/usr/local/lib/libsslkeylog.so; env SSLKEYLOGFILE=/tmp/premaster.txt; systemctl stop nginx; systemctl start nginx ИТОГО: 1) lsof -n -p показывает что libsslkeylog загружен 2) файл /tmp/ не создает. 3) cat /proc/.../environ не показывает указанных env Возможно это из-за того что nginx старый (nginx version: nginx/1.10.3), но в документации ничего про такую фигню с env в старых версиях нет. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,285423,286326#msg-286326 From nginx-forum на forum.nginx.org Wed Nov 27 07:59:14 2019 From: nginx-forum на forum.nginx.org (grey) Date: Wed, 27 Nov 2019 02:59:14 -0500 Subject: =?UTF-8?B?0J/QvtC00LzQtdC90LjRgtGMINC30LDQs9C+0LvQvtCy0L7QuiBFeHBpcmVzINC4?= =?UTF-8?B?0LcgUEhQ?= Message-ID: Приветствую. Конфиг nginx 1.17.2: location ~* ^/www/ { expires 30d; internal; } PHP проверяет условия и отдает картинки таким образом: header ("X-Accel-Redirect: /www/".$file); Всё ок - заголовок Expires устанавливается как надо, т.е. +30 дней. Но при определенных условиях, мне нужно изменить Expires. Я делаю так: header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header ("X-Accel-Redirect: /www/".$file); Результат - nginx игнорирует посланный php заголовок. Это нормально? Баг или настройка из конфига имеет больший приоритет? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286337,286337#msg-286337 From nginx-forum на forum.nginx.org Wed Nov 27 08:19:14 2019 From: nginx-forum на forum.nginx.org (grey) Date: Wed, 27 Nov 2019 03:19:14 -0500 Subject: =?UTF-8?B?UmU6INCf0L7QtNC80LXQvdC40YLRjCDQt9Cw0LPQvtC70L7QstC+0LogRXhwaXJl?= =?UTF-8?B?cyDQuNC3IFBIUA==?= In-Reply-To: References: Message-ID: <9fdda06be0ec836cbcc5b1419cf5aee2.NginxMailingListRussian@forum.nginx.org> Добавлю header ("X-Accel-Expires: 0"); header ("X-Accel-Redirect: /www/".$file); тоже не дает результата. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286337,286338#msg-286338 From red-fox0 на ya.ru Wed Nov 27 08:29:57 2019 From: red-fox0 на ya.ru (fox) Date: Wed, 27 Nov 2019 15:29:57 +0700 Subject: =?UTF-8?B?UmU6INCf0L7QtNC80LXQvdC40YLRjCDQt9Cw0LPQvtC70L7QstC+0LogRXhwaXJl?= =?UTF-8?B?cyDQuNC3IFBIUA==?= In-Reply-To: References: Message-ID: <9a46dd95-bfc0-54a6-d825-1e644d48ed6f@ya.ru> >Если в заголовке нет поля “X-Accel-Expires”, параметры кэширования определяются по полям заголовка “Expires” или “Cache-Control”. 27.11.2019 14:59, grey пишет: > Приветствую. > > Конфиг nginx 1.17.2: > location ~* ^/www/ > { > expires 30d; > internal; > } > > PHP проверяет условия и отдает картинки таким образом: > header ("X-Accel-Redirect: /www/".$file); > > Всё ок - заголовок Expires устанавливается как надо, т.е. +30 дней. Но при > определенных условиях, мне нужно изменить Expires. Я делаю так: > header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); > header ("X-Accel-Redirect: /www/".$file); > > Результат - nginx игнорирует посланный php заголовок. > > Это нормально? Баг или настройка из конфига имеет больший приоритет? > > Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286337,286337#msg-286337 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > From nginx-forum на forum.nginx.org Wed Nov 27 08:54:13 2019 From: nginx-forum на forum.nginx.org (grey) Date: Wed, 27 Nov 2019 03:54:13 -0500 Subject: =?UTF-8?B?UmU6INCf0L7QtNC80LXQvdC40YLRjCDQt9Cw0LPQvtC70L7QstC+0LogRXhwaXJl?= =?UTF-8?B?cyDQuNC3IFBIUA==?= In-Reply-To: <9a46dd95-bfc0-54a6-d825-1e644d48ed6f@ya.ru> References: <9a46dd95-bfc0-54a6-d825-1e644d48ed6f@ya.ru> Message-ID: Поле есть, но толку от него нет. header("Cache-Control: max-age=123"); тоже не помогает. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286337,286341#msg-286341 From pluknet на nginx.com Wed Nov 27 09:21:03 2019 From: pluknet на nginx.com (Sergey Kandaurov) Date: Wed, 27 Nov 2019 12:21:03 +0300 Subject: =?UTF-8?B?UmU6INCf0L7QtNC80LXQvdC40YLRjCDQt9Cw0LPQvtC70L7QstC+0LogRXhwaXJl?= =?UTF-8?B?cyDQuNC3IFBIUA==?= In-Reply-To: References: Message-ID: <766FFD4C-8769-4C44-9AE2-721D52794BCB@nginx.com> > On 27 Nov 2019, at 10:59, grey wrote: > > Приветствую. > > Конфиг nginx 1.17.2: > location ~* ^/www/ > { > expires 30d; > internal; > } > > PHP проверяет условия и отдает картинки таким образом: > header ("X-Accel-Redirect: /www/".$file); > > Всё ок - заголовок Expires устанавливается как надо, т.е. +30 дней. Но при > определенных условиях, мне нужно изменить Expires. Я делаю так: > header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); > header ("X-Accel-Redirect: /www/".$file); > > Результат - nginx игнорирует посланный php заголовок. > > Это нормально? Баг или настройка из конфига имеет больший приоритет? Здравствуйте. http://mailman.nginx.org/pipermail/nginx-ru/2015-October/056991.html -- Sergey Kandaurov From mdounin на mdounin.ru Wed Nov 27 19:17:03 2019 From: mdounin на mdounin.ru (Maxim Dounin) Date: Wed, 27 Nov 2019 22:17:03 +0300 Subject: =?UTF-8?B?UmU6INCa0LDQuiDQt9Cw0L/QuNGB0LDRgtGMINC60LvRjtGH0LggcHJlLW1hc3Rl?= =?UTF-8?B?ciDQvtGCIHRscy3RgdC+0LXQtNC40L3QtdC90LjQuSwg0L7QsdGA0LDQsdCw?= =?UTF-8?B?0YLRi9Cy0LDQtdC80YvRhSBuZ2lueD8=?= In-Reply-To: <19a5aff9ab09ecc65212cc9d85555408.NginxMailingListRussian@forum.nginx.org> References: <1801394579.20190903124215@yandex.ru> <19a5aff9ab09ecc65212cc9d85555408.NginxMailingListRussian@forum.nginx.org> Message-ID: <20191127191703.GN12894@mdounin.ru> Hello! On Tue, Nov 26, 2019 at 06:42:24AM -0500, vahvarh wrote: > Аналогичная задача (нужно писать ключи и дамп чтобы найти кто портит > данные), но не помогает. > На апаче сделали, оказалось с nginx приходит, нужно понять приходит ли так и > на nginx или портится внутри него. > > На nginx машине сделали: > > systemctl edit nginx > [Service] > Environment=SSLKEYLOGFILE=/www/sslkeylog.txt > Environment=LD_PRELOAD=/usr/local/lib/libsslkeylog.so > > nginx.conf: > env LD_PRELOAD=/usr/local/lib/libsslkeylog.so; > env SSLKEYLOGFILE=/tmp/premaster.txt; > > systemctl stop nginx; systemctl start nginx > > ИТОГО: > 1) lsof -n -p показывает что libsslkeylog загружен > 2) файл /tmp/ не создает. > 3) cat /proc/.../environ не показывает указанных env > > Возможно это из-за того что nginx старый (nginx version: nginx/1.10.3), но в > документации ничего про такую фигню с env в старых версиях нет. Содержимое /proc/.../environ ничего показывать и не будет, так как environment очищается/устанавливается в уже запущенном рабочем прочессе, и ядро этих изменений не увидит. Кроме того, на Linux'е environment процесса используется для установки заголовка процесса, так что в случае nginx'а там и исходное содержимое затёрто. Почему конкретно libsslkeylog загружается, но не работает - проще всего разбираться, видимо, инструментируя libsslkeylog и/или запуская всё под strace'ом. Just in case, список пришедших в голову возможных причин: - редактируется не тот nginx.conf; - libsslkeylog собран не с той версией OpenSSL, с которой собран/запускается nginx; - у рабочих процессов nginx'а нет прав на запись в /tmp/premaster.txt (в том числе при формальном наличии таковых прав, e.g., из-за какого-нибудь SELinux'а). -- Maxim Dounin http://mdounin.ru/ From nginx-forum на forum.nginx.org Thu Nov 28 09:51:57 2019 From: nginx-forum на forum.nginx.org (grey) Date: Thu, 28 Nov 2019 04:51:57 -0500 Subject: =?UTF-8?B?UmU6INCf0L7QtNC80LXQvdC40YLRjCDQt9Cw0LPQvtC70L7QstC+0LogRXhwaXJl?= =?UTF-8?B?cyDQuNC3IFBIUA==?= In-Reply-To: <766FFD4C-8769-4C44-9AE2-721D52794BCB@nginx.com> References: <766FFD4C-8769-4C44-9AE2-721D52794BCB@nginx.com> Message-ID: <888a49ba3620c13046f4574991a8a08f.NginxMailingListRussian@forum.nginx.org> :))) Спасибо. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,286337,286354#msg-286354 From nginx-forum на forum.nginx.org Thu Nov 28 12:28:16 2019 From: nginx-forum на forum.nginx.org (vahvarh) Date: Thu, 28 Nov 2019 07:28:16 -0500 Subject: =?UTF-8?B?UmU6INCa0LDQuiDQt9Cw0L/QuNGB0LDRgtGMINC60LvRjtGH0LggcHJlLW1hc3Rl?= =?UTF-8?B?ciDQvtGCIHRscy3RgdC+0LXQtNC40L3QtdC90LjQuSwg0L7QsdGA0LDQsdCw?= =?UTF-8?B?0YLRi9Cy0LDQtdC80YvRhSBuZ2lueD8=?= In-Reply-To: <20191127191703.GN12894@mdounin.ru> References: <20191127191703.GN12894@mdounin.ru> Message-ID: <660ca90675964eb4ccde12a3c8ab5ba2.NginxMailingListRussian@forum.nginx.org> Спасибо! Помогло собрать SSLKEYLOG с NO_OPENSSL_102_SUPPORT. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,285423,286358#msg-286358 From tolmachev.vlad на gmail.com Thu Nov 28 23:52:18 2019 From: tolmachev.vlad на gmail.com (=?UTF-8?B?0JLQu9Cw0LTQuNGB0LvQsNCyINCi0L7Qu9C80LDRh9C10LI=?=) Date: Fri, 29 Nov 2019 02:52:18 +0300 Subject: proxy_cache_min_uses time window Message-ID: Привет, есть ли в *proxy_cache_min_uses *период, за который вотрой запрос считался бы повторным? Либо может быть какой модуль для этого? Если нет ни того, ни дуругого, идея норм, если запрос повторился столько то раз за 5 минут, значит кэшируем, если нет, то не нужно кэшировать.... ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mdounin на mdounin.ru Fri Nov 29 13:10:30 2019 From: mdounin на mdounin.ru (Maxim Dounin) Date: Fri, 29 Nov 2019 16:10:30 +0300 Subject: proxy_cache_min_uses time window In-Reply-To: References: Message-ID: <20191129131030.GP12894@mdounin.ru> Hello! On Fri, Nov 29, 2019 at 02:52:18AM +0300, Владислав Толмачев wrote: > Привет, есть ли в *proxy_cache_min_uses *период, за который вотрой запрос > считался бы повторным? Либо может быть какой модуль для этого? > Если нет ни того, ни дуругого, идея норм, если запрос повторился столько то > раз за 5 минут, значит кэшируем, если нет, то не нужно кэшировать.... Учёт количества использований ведётся ровно так же, как и собственно хранение закэшированных ответов: nginx забудет о конкретном ресурсе, если с последнего обращения истечёт время, указанное в параметре inactive директивы proxy_cache_path (или же соответствующий элемент кэша будет вытеснен в рамках очистки кэша, в соответствии с параметром max_size той же директивы или из-за недостаточного размера зоны разделяемой памяти). -- Maxim Dounin http://mdounin.ru/ From tolmachev.vlad на gmail.com Fri Nov 29 13:13:24 2019 From: tolmachev.vlad на gmail.com (=?UTF-8?B?0JLQu9Cw0LTQuNGB0LvQsNCyINCi0L7Qu9C80LDRh9C10LI=?=) Date: Fri, 29 Nov 2019 16:13:24 +0300 Subject: proxy_cache_min_uses time window In-Reply-To: <20191129131030.GP12894@mdounin.ru> References: <20191129131030.GP12894@mdounin.ru> Message-ID: Нет ли идеи добавить отдельно время для новых элементов и время для тех, что уже в кеше, тк кэш уже создан и его дешевле хранить дольше, а новые элементы могут иметь другой интервал для добавления... пт, 29 нояб. 2019 г. в 16:10, Maxim Dounin : > Hello! > > On Fri, Nov 29, 2019 at 02:52:18AM +0300, Владислав Толмачев wrote: > > > Привет, есть ли в *proxy_cache_min_uses *период, за который вотрой запрос > > считался бы повторным? Либо может быть какой модуль для этого? > > Если нет ни того, ни дуругого, идея норм, если запрос повторился столько > то > > раз за 5 минут, значит кэшируем, если нет, то не нужно кэшировать.... > > Учёт количества использований ведётся ровно так же, как и > собственно хранение закэшированных ответов: nginx забудет о > конкретном ресурсе, если с последнего обращения истечёт время, > указанное в параметре inactive директивы proxy_cache_path (или же > соответствующий элемент кэша будет вытеснен в рамках очистки кэша, > в соответствии с параметром max_size той же директивы или из-за > недостаточного размера зоны разделяемой памяти). > > -- > Maxim Dounin > http://mdounin.ru/ > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- С уважением Толмачев Владислав. tolmachev.vlad на gmail.com skype: vladislaviki ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mdounin на mdounin.ru Fri Nov 29 14:21:38 2019 From: mdounin на mdounin.ru (Maxim Dounin) Date: Fri, 29 Nov 2019 17:21:38 +0300 Subject: proxy_cache_min_uses time window In-Reply-To: References: <20191129131030.GP12894@mdounin.ru> Message-ID: <20191129142138.GQ12894@mdounin.ru> Hello! On Fri, Nov 29, 2019 at 04:13:24PM +0300, Владислав Толмачев wrote: > Нет ли идеи добавить отдельно время для новых элементов и время для тех, > что уже в кеше, тк кэш уже создан и его дешевле хранить дольше, а новые > элементы могут иметь другой интервал для добавления... Время inactive считается от последнего обращения, и если к элементу кэша регулярно обращаются - он может храниться вечно. Соответственно счётчик proxy_cache_min_uses - это фильтр, не допускающий в кэш элементы, к которым обращаются реже, чем раз в inactive. А увеличивая proxy_cache_min_uses - мы, фактически, как раз и требуем, чтобы для попадания в кэш между обращениями к данному элементу проходило меньше времени (и/или увеличиваем время перед попаданием в кэш новых элементов, если обращения к ним происходят раз в inactive). То есть имеющаяся схема - она как раз про то, чтобы существующие элементы хранить по возможности дольше, а новые - добавлять только тогда, когда они в кэше нужнее, чем уже имеющиеся в кэше элементы. -- Maxim Dounin http://mdounin.ru/ From tolmachev.vlad на gmail.com Fri Nov 29 14:26:52 2019 From: tolmachev.vlad на gmail.com (=?UTF-8?B?0JLQu9Cw0LTQuNGB0LvQsNCyINCi0L7Qu9C80LDRh9C10LI=?=) Date: Fri, 29 Nov 2019 17:26:52 +0300 Subject: proxy_cache_min_uses time window In-Reply-To: <20191129142138.GQ12894@mdounin.ru> References: <20191129131030.GP12894@mdounin.ru> <20191129142138.GQ12894@mdounin.ru> Message-ID: если я создал элемент и хочу, что бы без обращения он пролежал в кэше год, то всё, что будет обращаться в течении года при min_uses 2 допустим, тоже будет закэшировано, а мне может надо, чтоб оно кэшировалось только если есть 5 обращений за 5 мин... есть много разных задач для такого поведения... пт, 29 нояб. 2019 г. в 17:21, Maxim Dounin : > Hello! > > On Fri, Nov 29, 2019 at 04:13:24PM +0300, Владислав Толмачев wrote: > > > Нет ли идеи добавить отдельно время для новых элементов и время для тех, > > что уже в кеше, тк кэш уже создан и его дешевле хранить дольше, а новые > > элементы могут иметь другой интервал для добавления... > > Время inactive считается от последнего обращения, и если к > элементу кэша регулярно обращаются - он может храниться вечно. > Соответственно счётчик proxy_cache_min_uses - это фильтр, не > допускающий в кэш элементы, к которым обращаются реже, чем раз в > inactive. А увеличивая proxy_cache_min_uses - мы, фактически, как > раз и требуем, чтобы для попадания в кэш между обращениями к > данному элементу проходило меньше времени (и/или увеличиваем время > перед попаданием в кэш новых элементов, если обращения к ним > происходят раз в inactive). > > То есть имеющаяся схема - она как раз про то, чтобы существующие > элементы хранить по возможности дольше, а новые - добавлять только > тогда, когда они в кэше нужнее, чем уже имеющиеся в кэше элементы. > > -- > Maxim Dounin > http://mdounin.ru/ > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- С уважением Толмачев Владислав. tolmachev.vlad на gmail.com skype: vladislaviki ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mdounin на mdounin.ru Fri Nov 29 14:54:30 2019 From: mdounin на mdounin.ru (Maxim Dounin) Date: Fri, 29 Nov 2019 17:54:30 +0300 Subject: proxy_cache_min_uses time window In-Reply-To: References: <20191129131030.GP12894@mdounin.ru> <20191129142138.GQ12894@mdounin.ru> Message-ID: <20191129145430.GR12894@mdounin.ru> Hello! On Fri, Nov 29, 2019 at 05:26:52PM +0300, Владислав Толмачев wrote: > если я создал элемент и хочу, что бы без обращения он пролежал в кэше год, > то всё, что будет обращаться в течении года при min_uses 2 допустим, тоже > будет закэшировано, а мне может надо, чтоб оно кэшировалось только если > есть 5 обращений за 5 мин... есть много разных задач для такого поведения... Если исходить из постановки проблемы как "мне может надо", то, безусловно, nginx умеет не всё. Я лишь пытался объяснить, что директива proxy_cache_min_uses - как раз для того, чтобы существующие элементы в кэше хранить дольше, а новые - не класть в кэш, если к ним обращаются недостаточно часто. И если у вас нет жёстких требований именно по времени - похожую логику можно получить, используя существующие механизмы. -- Maxim Dounin http://mdounin.ru/