From nginx-forum на nginx.us Mon Jul 2 12:15:57 2012 From: nginx-forum на nginx.us (arty777) Date: Mon, 2 Jul 2012 08:15:57 -0400 (EDT) Subject: =?UTF-8?B?cHJveHkgY2FjaGUg0LzRg9GB0L7RgCDQsiDQutC10YjQtQ==?= Message-ID: <33f4de821e8f25c20a496b01a8b67056.NginxMailingListRussian@forum.nginx.org> Подскажите . как такое может получится? И как с этим боротся? # cat /nginx1/temp/proxy/f/97/cf2b54b26767ffde297df947c05c197f KEY: http://xxx.xxx.xxx.xxx:xxx/category/video/1727 HTTP/1.0 302 Found X-Powered-By: PHP/5.3.10-1ubuntu3.2 Location: http://piopo.25u.com/ - ЭТО ФЕЙК , реально у меня сайт совсем другой Content-type: text/html Content-Length: 0 Connection: close Date: Mon, 02 Jul 2012 12:13:04 GMT Server: Apache 1.3 видимо меня "атакуют" и пишут мне мусор в кеш , как это побороть , что б в кеш такое не попадало? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228165,228165#msg-228165 From mdounin на mdounin.ru Mon Jul 2 12:44:23 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 2 Jul 2012 16:44:23 +0400 Subject: =?UTF-8?B?UmU6IHByb3h5IGNhY2hlINC80YPRgdC+0YAg0LIg0LrQtdGI0LU=?= In-Reply-To: <33f4de821e8f25c20a496b01a8b67056.NginxMailingListRussian@forum.nginx.org> References: <33f4de821e8f25c20a496b01a8b67056.NginxMailingListRussian@forum.nginx.org> Message-ID: <20120702124423.GT31671@mdounin.ru> Hello! On Mon, Jul 02, 2012 at 08:15:57AM -0400, arty777 wrote: > Подскажите . как такое может получится? > И как с этим боротся? > > # cat /nginx1/temp/proxy/f/97/cf2b54b26767ffde297df947c05c197f > > KEY: http://xxx.xxx.xxx.xxx:xxx/category/video/1727 > HTTP/1.0 302 Found > X-Powered-By: PHP/5.3.10-1ubuntu3.2 > Location: http://piopo.25u.com/ - ЭТО ФЕЙК , реально у > меня сайт совсем другой > Content-type: text/html > Content-Length: 0 > Connection: close > Date: Mon, 02 Jul 2012 12:13:04 GMT > Server: Apache 1.3 > > видимо меня "атакуют" и пишут мне мусор > в кеш , как это побороть , что б в кеш > такое не попадало? Такое может получиться тогда и только тогда, когда такое возвращает бекенд. Бороться очень просто: сделать так, чтобы бекенд такого не возвращал. Maxim Dounin From nginx-forum на nginx.us Mon Jul 2 13:11:36 2012 From: nginx-forum на nginx.us (arty777) Date: Mon, 2 Jul 2012 09:11:36 -0400 (EDT) Subject: =?UTF-8?B?UmU6IHByb3h5IGNhY2hlINC80YPRgdC+0YAg0LIg0LrQtdGI0LU=?= In-Reply-To: <20120702124423.GT31671@mdounin.ru> References: <20120702124423.GT31671@mdounin.ru> Message-ID: Этого не может быть , бекенд не возвращает такое . 100% . Если зайти напрямую , без кеша на бекенд по тому же адресу, то все гут , через кеш - какой-то редирект на фейк Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228166,228167#msg-228167 From nginx-forum на nginx.us Mon Jul 2 14:02:56 2012 From: nginx-forum на nginx.us (arty777) Date: Mon, 2 Jul 2012 10:02:56 -0400 (EDT) Subject: =?UTF-8?B?UmU6IHByb3h5IGNhY2hlINC80YPRgdC+0YAg0LIg0LrQtdGI0LU=?= In-Reply-To: <20120702124423.GT31671@mdounin.ru> References: <20120702124423.GT31671@mdounin.ru> Message-ID: <5664ee9997e8621a483c6684ca319859.NginxMailingListRussian@forum.nginx.org> Вы правы, вирусом сайт сломали, вот и выдает фейки эпизодически Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228166,228169#msg-228169 From mdounin на mdounin.ru Mon Jul 2 14:05:05 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 2 Jul 2012 18:05:05 +0400 Subject: =?UTF-8?B?UmU6IHByb3h5IGNhY2hlINC80YPRgdC+0YAg0LIg0LrQtdGI0LU=?= In-Reply-To: References: <20120702124423.GT31671@mdounin.ru> Message-ID: <20120702140505.GW31671@mdounin.ru> Hello! On Mon, Jul 02, 2012 at 09:11:36AM -0400, arty777 wrote: > Этого не может быть , бекенд не > возвращает такое . 100% . Если зайти Я стесняюсь спросить - вы таки гарантируете это? > напрямую , без кеша на бекенд по тому же > адресу, то все гут , через кеш - какой-то > редирект на фейк То, что бекенд делает это не для всех и не каждый раз - не означает, что он этого не делает и/или не делал, когда соответствующий ответ был закеширован. Скорее всего у вас банально вредоносный код на бекенде, возвращающий в некоторых ситуациях редиректы на дорвеи и т.п. Maxim Dounin From nginx-forum на nginx.us Mon Jul 2 14:20:06 2012 From: nginx-forum на nginx.us (arty777) Date: Mon, 2 Jul 2012 10:20:06 -0400 (EDT) Subject: =?UTF-8?B?UmU6IHByb3h5IGNhY2hlINC80YPRgdC+0YAg0LIg0LrQtdGI0LU=?= In-Reply-To: <5664ee9997e8621a483c6684ca319859.NginxMailingListRussian@forum.nginx.org> References: <20120702124423.GT31671@mdounin.ru> <5664ee9997e8621a483c6684ca319859.NginxMailingListRussian@forum.nginx.org> Message-ID: Да, вредоностный код , написал же выше ) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228166,228171#msg-228171 From nginx-forum на nginx.us Mon Jul 2 15:35:03 2012 From: nginx-forum на nginx.us (playnet) Date: Mon, 2 Jul 2012 11:35:03 -0400 (EDT) Subject: =?UTF-8?B?0YDQtdCz0YPQu9GP0YDQutC4INCyIHNlcnZlciBuYW1l?= Message-ID: Согласно документации, в server_name можно использовать регулярки. Понадобилось сделать редирект c урлов вида www.sub.site.ru на sub.site.ru, при этом сохранив работу www.site.ru. sub - доменов более 50. Сам сайт описан как server_name site.ru www.site.ru *.site.ru Сделал отдельный сервер с server_name ~^www\.(w+)\.site.ru$; по логике - имя корректное. Этот блок идёт выше основного. При этом в него мы не попадаем никогда. Как показало 4 часа ковыряния, "у регэкспов в сервер_нейм приоритет минимальный и туда попадаем если нет ничего лучше". Есть возможность выставить этому регэкспу высокий приоритет? Или только изменить главное описание, сделав его также регэкспом и потеряв в производительности? Использовать дефолтный сервер не вариант - сайтов на сервере больше 20 плюс "по умолчанию" должно отдавать ошибку. Сайтов с такой системой в дальнейшем также будет больше одного. Второй вариант - сделать так нелюбимый тут if ($http_host ~* ^www\.w+\.site\.ru)... и как модифицировать $http_host? rewrite меняет только uri. Третий - через встроенный perl. Не хотелось бы, но если у кого такая схема работает - просьба поделиться вариантами. четвертый, совсем уж через 1 место - описать каждый www-поддомен в отдельном сервере.. 50+ раз... Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228177,228177#msg-228177 From nginx-forum на nginx.us Mon Jul 2 15:41:43 2012 From: nginx-forum на nginx.us (playnet) Date: Mon, 2 Jul 2012 11:41:43 -0400 (EDT) Subject: =?UTF-8?B?UmU6IFtTUEFNIDkuNjBdIFJlOiBTZXJ2ZXIgTmFtZSByZWdleHAg0LjQu9C4INC6?= =?UTF-8?B?0LDQui3RgtC+INC40L3QsNGH0LU/?= In-Reply-To: <201206150422.23514.ne@vbart.ru> References: <201206150422.23514.ne@vbart.ru> Message-ID: не работает, если есть описание сервера вида *.domain.com (для обработки всех поддоменов). Posted at Nginx Forum: http://forum.nginx.org/read.php?21,227549,228181#msg-228181 From igor на sysoev.ru Mon Jul 2 15:44:31 2012 From: igor на sysoev.ru (Igor Sysoev) Date: Mon, 2 Jul 2012 19:44:31 +0400 Subject: =?UTF-8?B?UmU6INGA0LXQs9GD0LvRj9GA0LrQuCDQsiBzZXJ2ZXIgbmFtZQ==?= In-Reply-To: References: Message-ID: <136A87D7-351A-4597-A2F1-9C1928066062@sysoev.ru> On Jul 2, 2012, at 19:35 , playnet wrote: > Согласно документации, в server_name можно > использовать регулярки. > Понадобилось сделать редирект c урлов > вида www.sub.site.ru на sub.site.ru, при этом > сохранив работу www.site.ru. sub - доменов > более 50. > > Сам сайт описан как > server_name site.ru www.site.ru *.site.ru > > Сделал отдельный сервер с server_name > ~^www\.(w+)\.site.ru$; > по логике - имя корректное. Этот блок > идёт выше основного. При этом в него мы > не попадаем никогда. Как показало 4 часа > ковыряния, "у регэкспов в сервер_нейм > приоритет минимальный и туда попадаем > если нет ничего лучше". Есть > возможность выставить этому регэкспу > высокий приоритет? Или только изменить > главное описание, сделав его также > регэкспом и потеряв в > производительности? > > Использовать дефолтный сервер не > вариант - сайтов на сервере больше 20 > плюс "по умолчанию" должно отдавать > ошибку. Сайтов с такой системой в > дальнейшем также будет больше одного. > > Второй вариант - сделать так нелюбимый > тут if ($http_host ~* ^www\.w+\.site\.ru)... и как > модифицировать $http_host? rewrite меняет > только uri. > > Третий - через встроенный perl. Не > хотелось бы, но если у кого такая схема > работает - просьба поделиться > вариантами. > > четвертый, совсем уж через 1 место - > описать каждый www-поддомен в отдельном > сервере.. 50+ раз... Как выглядит текущие server_name ? -- Igor Sysoev From igor на sysoev.ru Mon Jul 2 15:46:53 2012 From: igor на sysoev.ru (Igor Sysoev) Date: Mon, 2 Jul 2012 19:46:53 +0400 Subject: =?UTF-8?B?UmU6INGA0LXQs9GD0LvRj9GA0LrQuCDQsiBzZXJ2ZXIgbmFtZQ==?= In-Reply-To: <136A87D7-351A-4597-A2F1-9C1928066062@sysoev.ru> References: <136A87D7-351A-4597-A2F1-9C1928066062@sysoev.ru> Message-ID: <05526529-21BD-4644-A232-C2EB439B00D9@sysoev.ru> On Jul 2, 2012, at 19:44 , Igor Sysoev wrote: > On Jul 2, 2012, at 19:35 , playnet wrote: > >> Согласно документации, в server_name можно >> использовать регулярки. >> Понадобилось сделать редирект c урлов >> вида www.sub.site.ru на sub.site.ru, при этом >> сохранив работу www.site.ru. sub - доменов >> более 50. >> >> Сам сайт описан как >> server_name site.ru www.site.ru *.site.ru >> >> Сделал отдельный сервер с server_name >> ~^www\.(w+)\.site.ru$; >> по логике - имя корректное. Этот блок >> идёт выше основного. При этом в него мы >> не попадаем никогда. Как показало 4 часа >> ковыряния, "у регэкспов в сервер_нейм >> приоритет минимальный и туда попадаем >> если нет ничего лучше". Есть >> возможность выставить этому регэкспу >> высокий приоритет? Или только изменить >> главное описание, сделав его также >> регэкспом и потеряв в >> производительности? >> >> Использовать дефолтный сервер не >> вариант - сайтов на сервере больше 20 >> плюс "по умолчанию" должно отдавать >> ошибку. Сайтов с такой системой в >> дальнейшем также будет больше одного. >> >> Второй вариант - сделать так нелюбимый >> тут if ($http_host ~* ^www\.w+\.site\.ru)... и как >> модифицировать $http_host? rewrite меняет >> только uri. >> >> Третий - через встроенный perl. Не >> хотелось бы, но если у кого такая схема >> работает - просьба поделиться >> вариантами. >> >> четвертый, совсем уж через 1 место - >> описать каждый www-поддомен в отдельном >> сервере.. 50+ раз... > > Как выглядит текущие server_name ? Увидел. А какова цель описания *.site.ru ? -- Igor Sysoev From ne на vbart.ru Mon Jul 2 15:47:03 2012 From: ne на vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Mon, 2 Jul 2012 19:47:03 +0400 Subject: =?UTF-8?B?UmU6IFNlcnZlciBOYW1lIHJlZ2V4cCDQuNC70Lgg0LrQsNC6LdGC0L4g0LjQvdCw?= =?UTF-8?B?0YfQtT8=?= In-Reply-To: References: <201206150422.23514.ne@vbart.ru> Message-ID: <201207021947.03167.ne@vbart.ru> On Monday 02 July 2012 19:41:43 playnet wrote: > не работает, если есть описание сервера > вида *.domain.com (для обработки всех > поддоменов). > Разумеется. Если оно есть - его надо убрать =) или переделать. -- Валентин Бартенев From nginx-forum на nginx.us Mon Jul 2 15:47:39 2012 From: nginx-forum на nginx.us (playnet) Date: Mon, 2 Jul 2012 11:47:39 -0400 (EDT) Subject: =?UTF-8?B?UmU6IFNlcnZlciBOYW1lIHJlZ2V4cCDQuNC70Lgg0LrQsNC6LdGC0L4g0LjQvdCw?= =?UTF-8?B?0YfQtT8=?= In-Reply-To: References: Message-ID: <6d5752ff03599d0b73bd09f8e219c80b.NginxMailingListRussian@forum.nginx.org> http://forum.nginx.org/read.php?21,228177 И надо подключить Сысоева, что он посоветует. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,227510,228186#msg-228186 From nginx-forum на nginx.us Mon Jul 2 15:48:21 2012 From: nginx-forum на nginx.us (playnet) Date: Mon, 2 Jul 2012 11:48:21 -0400 (EDT) Subject: server_name regexp In-Reply-To: <353035413.20120423143842@mtu-net.ru> References: <353035413.20120423143842@mtu-net.ru> Message-ID: <9afa9d0fd157c13a4a232aaad007d11b.NginxMailingListRussian@forum.nginx.org> Не работает, если есть *.example.com в другом месте. У меня подобная проблема ( http://forum.nginx.org/read.php?21,228177 ) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,132132,228189#msg-228189 From igor на sysoev.ru Mon Jul 2 16:06:54 2012 From: igor на sysoev.ru (Igor Sysoev) Date: Mon, 2 Jul 2012 20:06:54 +0400 Subject: =?UTF-8?B?UmU6INGA0LXQs9GD0LvRj9GA0LrQuCDQsiBzZXJ2ZXIgbmFtZQ==?= In-Reply-To: References: Message-ID: <280940CB-E302-437A-A62B-A918379441C9@sysoev.ru> On Jul 2, 2012, at 19:35 , playnet wrote: > Согласно документации, в server_name можно > использовать регулярки. > Понадобилось сделать редирект c урлов > вида www.sub.site.ru на sub.site.ru, при этом > сохранив работу www.site.ru. sub - доменов > более 50. > > Сам сайт описан как > server_name site.ru www.site.ru *.site.ru > > Сделал отдельный сервер с server_name > ~^www\.(w+)\.site.ru$; > по логике - имя корректное. Этот блок > идёт выше основного. При этом в него мы > не попадаем никогда. Как показало 4 часа > ковыряния, "у регэкспов в сервер_нейм > приоритет минимальный и туда попадаем > если нет ничего лучше". Есть > возможность выставить этому регэкспу > высокий приоритет? Или только изменить > главное описание, сделав его также > регэкспом и потеряв в > производительности? > > Использовать дефолтный сервер не > вариант - сайтов на сервере больше 20 > плюс "по умолчанию" должно отдавать > ошибку. Сайтов с такой системой в > дальнейшем также будет больше одного. > > Второй вариант - сделать так нелюбимый > тут if ($http_host ~* ^www\.w+\.site\.ru)... и как > модифицировать $http_host? rewrite меняет > только uri. > > Третий - через встроенный perl. Не > хотелось бы, но если у кого такая схема > работает - просьба поделиться > вариантами. > > четвертый, совсем уж через 1 место - > описать каждый www-поддомен в отдельном > сервере.. 50+ раз... server { server_name site.ru www.site.ru sub1.site.ru sub2.site.ru ... ; } server { server_name ~^www..... } -- Igor Sysoev From cronfy на gmail.com Mon Jul 2 16:06:50 2012 From: cronfy на gmail.com (cronfy) Date: Mon, 2 Jul 2012 20:06:50 +0400 Subject: =?UTF-8?B?YWlvOiDRgSBzZW5kZmlsZSDQuNC70Lgg0LHQtdC3Pw==?= Message-ID: Добрый день! Планирую включить aio в nginx. Система FreeBSD 7.4. В документации сейчас есть два варианта - с sendfile и без него: ===================== location /video/ { sendfile off; aio on; output_buffers 1 64k; } Кроме того, начиная с FreeBSD 5.2.1 и nginx 0.8.12, AIO также можно использовать для подгрузки данных для sendfile(): location /video/ { sendfile on; tcp_nopush on; aio sendfile; } ===================== Собственно, а в чем разница? Какие-то плюсы/минусы есть у этих вариантов или нет? -- Олег Петрачев From nginx-forum на nginx.us Mon Jul 2 16:13:10 2012 From: nginx-forum на nginx.us (playnet) Date: Mon, 2 Jul 2012 12:13:10 -0400 (EDT) Subject: =?UTF-8?B?UmU6INGA0LXQs9GD0LvRj9GA0LrQuCDQsiBzZXJ2ZXIgbmFtZQ==?= In-Reply-To: References: Message-ID: <68cbe2d3545cdf7a8b246603251b8bbe.NginxMailingListRussian@forum.nginx.org> похоже решение придумано. Не очень хорошее, но работает. server { server_name ~^www\.(\w+\.site\.ru)$; return 301 http://$1$request_uri; } server { server_name site.ru www.site.ru ~^\w+\.site\.ru$; #главный сайт } Для поддоменов на регэкспы будут отрабатывать регулярки, но лучше чем ничего. Как вообще отлаживать прохождение запроса через nginx? Что-то про debug-log говорили. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228177,228194#msg-228194 From ne на vbart.ru Mon Jul 2 16:23:22 2012 From: ne на vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Mon, 2 Jul 2012 20:23:22 +0400 Subject: =?UTF-8?B?UmU6INGA0LXQs9GD0LvRj9GA0LrQuCDQsiBzZXJ2ZXIgbmFtZQ==?= In-Reply-To: <68cbe2d3545cdf7a8b246603251b8bbe.NginxMailingListRussian@forum.nginx.org> References: <68cbe2d3545cdf7a8b246603251b8bbe.NginxMailingListRussian@forum.nginx.org> Message-ID: <201207022023.22771.ne@vbart.ru> On Monday 02 July 2012 20:13:10 playnet wrote: [...] > Как вообще отлаживать прохождение > запроса через nginx? Что-то про debug-log > говорили. > http://nginx.org/ru/docs/debugging_log.html > Как показало 4 часа > ковыряния, "у регэкспов в сервер_нейм > приоритет минимальный и туда попадаем > если нет ничего лучше". Для того, чтобы узнать как работает директива server_name вовсе не обязательно тратить несколько часов, а достаточно лишь почитать документацию: http://nginx.org/r/server_name/ru (Порядок проверки имён следующий...) А также: http://nginx.org/en/docs/http/server_names.html -- Валентин Бартенев From nginx-forum на nginx.us Mon Jul 2 16:43:03 2012 From: nginx-forum на nginx.us (playnet) Date: Mon, 2 Jul 2012 12:43:03 -0400 (EDT) Subject: =?UTF-8?B?UmU6IFtTUEFNIDkuNjBdIFJlOiBTZXJ2ZXIgTmFtZSByZWdleHAg0LjQu9C4INC6?= =?UTF-8?B?0LDQui3RgtC+INC40L3QsNGH0LU/?= In-Reply-To: <201206150422.23514.ne@vbart.ru> References: <201206150422.23514.ne@vbart.ru> Message-ID: я эту задачу тоже решил уже. http://forum.nginx.org/read.php?21,228177 Posted at Nginx Forum: http://forum.nginx.org/read.php?21,227549,228199#msg-228199 From hell-for-yahoo на umail.ru Mon Jul 2 22:03:14 2012 From: hell-for-yahoo на umail.ru (Andrey Repin) Date: Tue, 3 Jul 2012 02:03:14 +0400 Subject: server_name regexp In-Reply-To: <9afa9d0fd157c13a4a232aaad007d11b.NginxMailingListRussian@forum.nginx.org> References: <353035413.20120423143842@mtu-net.ru> <9afa9d0fd157c13a4a232aaad007d11b.NginxMailingListRussian@forum.nginx.org> Message-ID: <1926928601.20120703020314@mtu-net.ru> Здравствуйте, Уважаемый(-ая, -ое) playnet! p> Не работает, если есть *.example.com в другом p> месте. Издеваетесь? Естественно, не будет работать, если вы намеренно сносите серверу крышу своими настройками. -- С уважением Andrey Repin (hell-for-yahoo на umail.ru) вторник, 03.07.2012, <02:02> From oleg.cherniy на gmail.com Tue Jul 3 07:18:56 2012 From: oleg.cherniy на gmail.com (=?KOI8-U?B?78zFxyD+xdLOpso=?=) Date: Tue, 3 Jul 2012 10:18:56 +0300 Subject: nginx-1.3.2 In-Reply-To: <20120627144821.GG31671@mdounin.ru> References: <20120626140120.GL31671@mdounin.ru> <20120627144821.GG31671@mdounin.ru> Message-ID: 2012/6/27 Maxim Dounin : > Hello! > > On Wed, Jun 27, 2012 at 04:00:21PM +0300, Олег Черн?й wrote: > >> У меня отвалился ngx_cache_purge. Нормально собирается, но не работает. >> Может кто уже подфиксил? > > Я бы рекомендовал спросить в английской рассылке и/или > непосредственно у автора. > > Но вообще странно, в 1.3.2 никаких изменений в области кеша нет, и > сломаться не должно бы (даже с учётом того, что ngx_cache_purge > беззастенчиво лезет во внутренние структуры кеша, и может > сломаться при любых изменениях в нём). На этом участке: proxy_cache_key $uri$is_args$args; location ~ /some_keyword(/.*) { #allow 127.0.0.1; #deny all; proxy_cache_purge auto_ajax $1$is_args$args; access_log /var/log/nginx/cache_purge_access.log; } В nginx 1.3.2 получаем: # nginx -t nginx: [emerg] unknown directive "proxy_cache_purge" in /etc/nginx/conf.vs/auto/auto.conf:336 nginx: configuration file /etc/nginx/nginx.conf test failed В nginx < 1.3.2 при всех тех же опциях сборки -- все Ok. # nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful > > Maxim Dounin > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- --- С уважением, Олег Черний, руководитель отдела разработки AUTO.ria.ua RIA.ua тел./факс.: 0 432 555-200 (многоканальний) моб: 0 (67) 295-27-52 E-mail: oleg.cherniy на ria.ua From wangsamp на gmail.com Tue Jul 3 08:19:24 2012 From: wangsamp на gmail.com (Oleksandr V. Typlyns'kyi) Date: Tue, 3 Jul 2012 11:19:24 +0300 (EEST) Subject: nginx-1.3.2 In-Reply-To: References: <20120626140120.GL31671@mdounin.ru> <20120627144821.GG31671@mdounin.ru> Message-ID: Today Jul 3, 2012 at 10:18 Олег Черн?й wrote: > 2012/6/27 Maxim Dounin : > >> У меня отвалился ngx_cache_purge. Нормально собирается, но не работает. > >> Может кто уже подфиксил? > > > > Я бы рекомендовал спросить в английской рассылке и/или > > непосредственно у автора. > > > > Но вообще странно, в 1.3.2 никаких изменений в области кеша нет, и > > сломаться не должно бы (даже с учётом того, что ngx_cache_purge > > беззастенчиво лезет во внутренние структуры кеша, и может > > сломаться при любых изменениях в нём). > > На этом участке: > > proxy_cache_key $uri$is_args$args; > > location ~ /some_keyword(/.*) { > #allow 127.0.0.1; > #deny all; > proxy_cache_purge auto_ajax $1$is_args$args; > > access_log /var/log/nginx/cache_purge_access.log; > } > > В nginx 1.3.2 получаем: > > # nginx -t > nginx: [emerg] unknown directive "proxy_cache_purge" in > /etc/nginx/conf.vs/auto/auto.conf:336 > nginx: configuration file /etc/nginx/nginx.conf test failed Максим уже давал Вам совет куда обратится. А там буквально на следующий день был патч: http://mailman.nginx.org/pipermail/nginx-devel/2012-June/002410.html И вчера анонс: http://mailman.nginx.org/pipermail/nginx/2012-July/034484.html -- WNGS-RIPE From uncleandyv на gmail.com Tue Jul 3 08:22:29 2012 From: uncleandyv на gmail.com (Andrey Velikoredchanin) Date: Tue, 3 Jul 2012 12:22:29 +0400 Subject: =?UTF-8?B?0KPRgtC+0YfQvdC10L3QuNC1INC/0YDQviBYLUFjY2VsLVJlZGlyZWN0?= Message-ID: Всем привет! Интересует один ньюанс в работе X-Accel-Redirect. Возможно, я это уже спрашивал или это где-то описывалось. Тогда извиняюсь за повтор. Просто этот ньюанс очень важен для текущего разрабатываемого проекта. Есть FastCGI скрипт, который, на определенное дейтствие отправляет X-Accel-Redirect на другой локейшн. Вопрос такой: После перенаправления коннекта на новый локейшн, остается-ли открытым коннект на FastCGI скрипт пока не отработает второй лэкейшн? Или он закрывается сразу как только был получен ответ с X-Accell-Redirect и только после этого идет запрос на второй локейшн? Спасибо! -------------- next part -------------- An HTML attachment was scrubbed... URL: From mdounin на mdounin.ru Tue Jul 3 10:28:28 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 3 Jul 2012 14:28:28 +0400 Subject: =?UTF-8?B?UmU6INCj0YLQvtGH0L3QtdC90LjQtSDQv9GA0L4gWC1BY2NlbC1SZWRpcmVjdA==?= In-Reply-To: References: Message-ID: <20120703102828.GB31671@mdounin.ru> Hello! On Tue, Jul 03, 2012 at 12:22:29PM +0400, Andrey Velikoredchanin wrote: > Всем привет! > > Интересует один ньюанс в работе X-Accel-Redirect. Возможно, я это уже > спрашивал или это где-то описывалось. Тогда извиняюсь за повтор. Просто > этот ньюанс очень важен для текущего разрабатываемого проекта. > > Есть FastCGI скрипт, который, на определенное дейтствие отправляет > X-Accel-Redirect на другой локейшн. > > Вопрос такой: > После перенаправления коннекта на новый локейшн, остается-ли открытым > коннект на FastCGI скрипт пока не отработает второй лэкейшн? Или он > закрывается сразу как только был получен ответ с X-Accell-Redirect и только > после этого идет запрос на второй локейшн? Закрывается сразу (или складывается в кеш открытых соединений, если используется upstream keepalive). Maxim Dounin From mdounin на mdounin.ru Tue Jul 3 11:18:57 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 3 Jul 2012 15:18:57 +0400 Subject: nginx-1.2.2 Message-ID: <20120703111857.GE31671@mdounin.ru> Изменения в nginx 1.2.2 03.07.2012 *) Изменение: параметр single директивы keepalive теперь игнорируется. *) Изменение: сжатие SSL теперь отключено в том числе при использовании OpenSSL cтарее 1.0.0. *) Добавление: директивы proxy_pass, fastcgi_pass, scgi_pass, uwsgi_pass и директива server в блоке upstream теперь поддерживают IPv6-адреса. *) Добавление: в директиве resolver теперь можно указывать порт и задавать IPv6-адреса DNS-серверов. *) Добавление: директива least_conn в блоке upstream. *) Добавление: при использовании директивы ip_hash теперь можно задавать веса серверов. *) Добавление: директиву "ip_hash" теперь можно использовать для балансировки IPv6 клиентов. *) Добавление: переменную $status теперь можно использовать не только в директиве log_format. *) Исправление: nginx не собирался с модулем ngx_cpp_test_module; ошибка появилась в 1.1.12. *) Исправление: доступ к переменным из SSI и встроенного перла мог не работать после переконфигурации. Спасибо Yichun Zhang. *) Исправление: в модуле ngx_http_xslt_filter_module. Спасибо Kuramoto Eiji. *) Исправление: утечки памяти при использовании переменной $geoip_org. Спасибо Денису Латыпову. *) Исправление: в директивах proxy_cookie_domain и proxy_cookie_path. *) Исправление: при завершении рабочего процесса мог произойти segmentation fault, если использовалась директива resolver. *) Исправление: в рабочем процессе мог произойти segmentation fault, если использовался модуль ngx_http_mp4_module. *) Исправление: в модуле ngx_http_mp4_module. *) Исправление: в рабочем процессе мог произойти segmentation fault, если использовались конфликтующие имена серверов с масками. *) Исправление: на платформе ARM nginx мог аварийно завершаться по сигналу SIGBUS. *) Исправление: во время переконфигурации на HP-UX в лог записывался alert "sendmsg() failed (9: Bad file number)". Maxim Dounin From postmaster на softsearch.ru Wed Jul 4 09:24:26 2012 From: postmaster на softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Wed, 4 Jul 2012 13:24:26 +0400 Subject: =?UTF-8?Q?OFFTOPIC_Location_=D0=B8_410?= Message-ID: <15710262588.20120704132426@softsearch.ru> Здравствуйте. Гугель пишет, что в ответах удалённых страниц надо отвечать 410-ым кодом: http://support.google.com/webmasters/bin/answer.py?hl=ru&answer=181708 Я по старинке отвечаю 301-ым постоянным редиректом на главную страницу. А хочется отвечать правильно, т.е. возвращать 410 с htpp-редиректом. Но может ли в ответе с 410-ым кодом быть заголовок Location ? Тут http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30 и тут http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.11 ничего не нашёл про это. -- С уважением, Михаил mailto:postmaster на softsearch.ru From igor на sysoev.ru Wed Jul 4 09:29:33 2012 From: igor на sysoev.ru (Igor Sysoev) Date: Wed, 4 Jul 2012 13:29:33 +0400 Subject: =?UTF-8?Q?Re=3A_OFFTOPIC_Location_=D0=B8_410?= In-Reply-To: <15710262588.20120704132426@softsearch.ru> References: <15710262588.20120704132426@softsearch.ru> Message-ID: <20120704092932.GB88194@nginx.com> On Wed, Jul 04, 2012 at 01:24:26PM +0400, Михаил Монашёв wrote: > Здравствуйте. > > Гугель пишет, что в ответах удалённых страниц надо отвечать 410-ым > кодом: > http://support.google.com/webmasters/bin/answer.py?hl=ru&answer=181708 > > Я по старинке отвечаю 301-ым постоянным редиректом на главную > страницу. А хочется отвечать правильно, т.е. возвращать 410 с > htpp-редиректом. Но может ли в ответе с 410-ым кодом быть заголовок > Location ? Тут > http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30 и тут > http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.11 > ничего не нашёл про это. Насколько я понимаю, там заголовка быть не может. А зачем тебе в случае редирект ? Пользователю он уже не поможет. -- Igor Sysoev From temotor на gmail.com Wed Jul 4 09:31:07 2012 From: temotor на gmail.com (Sergey Shepelev) Date: Wed, 4 Jul 2012 13:31:07 +0400 Subject: =?UTF-8?Q?Re=3A_OFFTOPIC_Location_=D0=B8_410?= In-Reply-To: <15710262588.20120704132426@softsearch.ru> References: <15710262588.20120704132426@softsearch.ru> Message-ID: [Почти] любые заголовки могут быть с любыми ответами, другой вопрос в том, что ходить по этой ссылке будут и браузеры и роботы, только если статус 3xx. Может быть, и не нужно главной страницы, если вы точно знаете, что ссылка была. Может, будет уместна красивая страница с уведомлением, что такое было, но теперь нет, и какими-то вариантами дальнейших действий. 2012/7/4 Михаил Монашёв : > Здравствуйте. > > Гугель пишет, что в ответах удалённых страниц надо отвечать 410-ым > кодом: > http://support.google.com/webmasters/bin/answer.py?hl=ru&answer=181708 > > Я по старинке отвечаю 301-ым постоянным редиректом на главную > страницу. А хочется отвечать правильно, т.е. возвращать 410 с > htpp-редиректом. Но может ли в ответе с 410-ым кодом быть заголовок > Location ? Тут > http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30 и тут > http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.11 > ничего не нашёл про это. > > -- > С уважением, > Михаил mailto:postmaster на softsearch.ru > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From hell-for-yahoo на umail.ru Wed Jul 4 10:16:29 2012 From: hell-for-yahoo на umail.ru (Andrey Repin) Date: Wed, 4 Jul 2012 14:16:29 +0400 Subject: =?UTF-8?Q?Re=3A_OFFTOPIC_Location_=D0=B8_410?= In-Reply-To: <15710262588.20120704132426@softsearch.ru> References: <15710262588.20120704132426@softsearch.ru> Message-ID: <165056166.20120704141629@mtu-net.ru> Здравствуйте, уважаемый(-ая, -ое) Михаил Монашёв! ММ> Гугель пишет, что в ответах удалённых страниц надо отвечать 410-ым ММ> кодом: ММ> http://support.google.com/webmasters/bin/answer.py?hl=ru&answer=181708 При чём тут гугель?... Читаем первоисточники: http://tools.ietf.org/html/rfc2616#section-10.4.11 ММ> Я по старинке отвечаю 301-ым постоянным редиректом на главную ММ> страницу. А хочется отвечать правильно, т.е. возвращать 410 с ММ> htpp-редиректом. Каким редиректом? Куда? Вы что, хотите как в жизни - "Здравствуйте, мне нужен такой-то" - "таких здесь нет, идите на[вц]"... ММ> Но может ли в ответе с 410-ым кодом быть заголовок Location ? Может, да. Но не должен. ММ> Тут http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30 и тут ММ> http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.11 ММ> ничего не нашёл про это. Естественно. -- С уважением Andrey Repin (hell-for-yahoo на umail.ru) среда, 04.07.2012, <14:13> From postmaster на softsearch.ru Wed Jul 4 10:25:38 2012 From: postmaster на softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Wed, 4 Jul 2012 14:25:38 +0400 Subject: =?UTF-8?Q?Re=5B2=5D=3A_OFFTOPIC_Location_=D0=B8_410?= In-Reply-To: <20120704092932.GB88194@nginx.com> References: <15710262588.20120704132426@softsearch.ru> <20120704092932.GB88194@nginx.com> Message-ID: <35485887.20120704142538@softsearch.ru> Здравствуйте, Igor. >> Гугель пишет, что в ответах удалённых страниц надо отвечать 410-ым >> кодом: >> http://support.google.com/webmasters/bin/answer.py?hl=ru&answer=181708 >> >> Я по старинке отвечаю 301-ым постоянным редиректом на главную >> страницу. А хочется отвечать правильно, т.е. возвращать 410 с >> htpp-редиректом. Но может ли в ответе с 410-ым кодом быть заголовок >> Location ? Тут >> http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30 и тут >> http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.11 >> ничего не нашёл про это. > Насколько я понимаю, там заголовка быть не может. > А зачем тебе в случае редирект ? Пользователю он уже не поможет. В дневнике у юзера есть записи. Какую-то запись юзер удалил. А ссылки на других сайтах остались. Кто-то переходит по такой ссылке. Я его сейчас на главную редиректю, может там его что-то заинтересует. Можно конечно сделать редирект HTML-ем, но не хочется усложнять. -- С уважением, Михаил mailto:postmaster на softsearch.ru From gmm на csdoc.com Wed Jul 4 10:53:44 2012 From: gmm на csdoc.com (Gena Makhomed) Date: Wed, 04 Jul 2012 13:53:44 +0300 Subject: =?UTF-8?Q?Re=3A_OFFTOPIC_Location_=D0=B8_410?= In-Reply-To: <35485887.20120704142538@softsearch.ru> References: <15710262588.20120704132426@softsearch.ru> <20120704092932.GB88194@nginx.com> <35485887.20120704142538@softsearch.ru> Message-ID: <4FF420B8.3090603@csdoc.com> On 04.07.2012 13:25, Михаил Монашёв wrote: >>> Гугель пишет, что в ответах удалённых страниц надо отвечать 410-ым >>> кодом: >>> http://support.google.com/webmasters/bin/answer.py?hl=ru&answer=181708 >>> >>> Я по старинке отвечаю 301-ым постоянным редиректом на главную >>> страницу. А хочется отвечать правильно, т.е. возвращать 410 с >>> htpp-редиректом. Но может ли в ответе с 410-ым кодом быть заголовок >>> Location ? Тут >>> http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30 и тут >>> http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.11 >>> ничего не нашёл про это. >> Насколько я понимаю, там заголовка быть не может. >> А зачем тебе в случае редирект ? Пользователю он уже не поможет. > В дневнике у юзера есть записи. Какую-то запись юзер удалил. А ссылки > на других сайтах остались. Кто-то переходит по такой ссылке. Я его > сейчас на главную редиректю, может там его что-то заинтересует. > Можно конечно сделать редирект HTML-ем, но не хочется усложнять. а зачем именно редирект делать? можно показать красивую html страницу с 404 или 410 кодом, в которой так и будет написано, что пользователь уже удалил эту запись, и предложить посетителю на выбор ссылки на главную страницу сайта и на главную страницу этого пользователя (если такой пользователь не удален и не забанен) + рекламные баннеры. а когда пользователь хочет увидеть запись, переходя по ссылке, а его после этого молча перебрасывает на главную страницу сайта - это обескураживает, потому что пользователь не понимает почему так произошло. и поисковые системы такой редирект тоже вводит в заблуждение. а так как рекомендует гугл - будет наверное лучше всего, объяснение на человеческом языке для людей, почему такой страницы на сайте уже нет и 410 или 404 код для поисковых машин, чтобы они ее убрали из индекса. -- Best regards, Gena From nginx-forum на nginx.us Wed Jul 4 12:05:43 2012 From: nginx-forum на nginx.us (ddr400) Date: Wed, 4 Jul 2012 08:05:43 -0400 (EDT) Subject: =?UTF-8?B?0L7RiNC40LHQutC4INGBIDQwMCDQutC+0LTQvtC8INC70L7Qs9Cz0LjRgNGD0Y4=?= =?UTF-8?B?0YLRgdGPINCyINGH0YPQttC+0LkgYWNjZXNzLmxvZw==?= Message-ID: <1a2714cd4eb14348d69ccf50356d44ab.NginxMailingListRussian@forum.nginx.org> Всем привет. Столкнулся со странной проблемой на одном из фронтэндов. Есть несколько вируальных хостов, для упрощения возьмем host1 и host2 При запросах host1, ошибки вида: 91.143.38.134 - - [04/Jul/2012:15:27:34 +0400] "-" 400 0 "-" "-" "-" 188.19.97.96 - - [04/Jul/2012:15:27:34 +0400] "-" 400 0 "-" "-" "-" 85.117.224.56 - - [04/Jul/2012:15:27:34 +0400] "-" 400 0 "-" "-" "-" 217.132.37.176 - - [04/Jul/2012:15:27:34 +0400] "-" 400 0 "-" "-" "-" пишутся в access лог host2 Причем в error логе host2 это отображается так 2012/07/04 15:27:34 [info] 1892#0: *171499 client prematurely closed connection while reading client request line, client: 91.143.38.134, server: host2 2012/07/04 15:27:34 [info] 1886#0: *167326 client prematurely closed connection while reading client request line, client: 188.19.97.96, server: host2 2012/07/04 15:27:34 [info] 1890#0: *173368 client prematurely closed connection while reading client request line, client: 85.117.224.56, server: host2 2012/07/04 15:27:34 [info] 1890#0: *171609 client prematurely closed connection while reading client request line, client: 217.132.37.176, server: host2 Если я правильно понимаю, то это свидетельствует о коннекте клиента к host2 с последующим закрытием соединения? Но на host1 никаких упоминаний о host2 нет. Юзерагенты у клиентов разные. Пользователи легитимные. host1 при запросе отдал им 200 код. Конфиг host1. Некоторые локейшены я убрал, поскольку они вида location /some { root /home/www/host1; index index.htm;} и только затрудняют чтение конфига. server { listen ; server_name host1 www.host1; access_log /var/log/nginx/frontend-host1/access.log main; error_log /var/log/nginx/frontend-host1/error.log notice; root /home/www/host1; ssi on; gzip_static off; gzip off; charset windows-1251; sendfile on; ssi_value_length 200k; include /etc/nginx/deny.conf; location / { proxy_cache main-cache; proxy_cache_valid 200 302 301 304 3s; proxy_cache_key "$request_method|$http_if_modified_since|$http_if_none_match|$host|$uri"; proxy_hide_header "Set-Cookie"; proxy_ignore_headers "Cache-Control" "Expires"; proxy_cache_lock on; include /etc/nginx/proxy_params; proxy_set_header Host "host1"; proxy_pass http://; } Конфиг host2 приводить смысла нет, поскольку, если например убираешь его из конфигурации, то сообщения о 400 ошибке начинают логироваться в другой hostN с другой конфигурацией. Может, уважаемое сообщество подскажет, в каком направлении копать? Спасибо. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228275,228275#msg-228275 From mdounin на mdounin.ru Wed Jul 4 12:11:31 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Wed, 4 Jul 2012 16:11:31 +0400 Subject: =?UTF-8?B?UmU6INC+0YjQuNCx0LrQuCDRgSA0MDAg0LrQvtC00L7QvCDQu9C+0LPQs9C40YA=?= =?UTF-8?B?0YPRjtGC0YHRjyDQsiDRh9GD0LbQvtC5IGFjY2Vzcy5sb2c=?= In-Reply-To: <1a2714cd4eb14348d69ccf50356d44ab.NginxMailingListRussian@forum.nginx.org> References: <1a2714cd4eb14348d69ccf50356d44ab.NginxMailingListRussian@forum.nginx.org> Message-ID: <20120704121131.GP31671@mdounin.ru> Hello! On Wed, Jul 04, 2012 at 08:05:43AM -0400, ddr400 wrote: > Всем привет. > > Столкнулся со странной проблемой на > одном из фронтэндов. Есть несколько > вируальных хостов, для упрощения > возьмем host1 и host2 > > При запросах host1, ошибки вида: > > 91.143.38.134 - - [04/Jul/2012:15:27:34 +0400] "-" 400 0 "-" "-" "-" > 188.19.97.96 - - [04/Jul/2012:15:27:34 +0400] "-" 400 0 "-" "-" "-" > 85.117.224.56 - - [04/Jul/2012:15:27:34 +0400] "-" 400 0 "-" "-" "-" > 217.132.37.176 - - [04/Jul/2012:15:27:34 +0400] "-" 400 0 "-" "-" "-" > > пишутся в access лог host2 [...] > Может, уважаемое сообщество подскажет, > в каком направлении копать? Если заголовки запроса ещё не прочитаны, и соответственно виртуальный сервер - неизвестен, то ошибки логгируются в сервер по умолчанию для данного listen-сокета. Подробнее можно почитать тут: http://nginx.org/ru/docs/http/request_processing.html Maxim Dounin From nginx-forum на nginx.us Wed Jul 4 15:01:00 2012 From: nginx-forum на nginx.us (v2t) Date: Wed, 4 Jul 2012 11:01:00 -0400 (EDT) Subject: =?UTF-8?B?UmU6INCf0YDQuNC60YDRg9GC0LjRgtGMINCx0LDQt9GDIGlwZ2VvYmFzZS5ydSA=?= =?UTF-8?B?0Logbmd4IGh0dHAgZ2VvaXAgbW9kdWxl?= In-Reply-To: References: Message-ID: <9579986dd375cccd7be86d0108a84940.NginxMailingListRussian@forum.nginx.org> Добрый день! Александр, спасибо за ваш ответ. Правильно ли я понимаю, что возможности этого модуля аналогичные ngx http geoip module? Нужны не только страны, а и регионы и города. Буду думать, как вытащить нужные диапазоны IP из базы, или, может, у кого-то уже есть скрипты для вытаскивания из базы нужной части по городу/региону? Пока из готовых решений встречал только такую тему http://www.dizballanze.com/?p=864 В ней формируются конфиги для ngx_http_geo_module (только для MSK и SPB). Спасибо. Oleksandr V. Typlyns'kyi Пишет: ------------------------------------------------------- > Вам нужен другой модуль: > http://nginx.org/ru/docs/http/ngx_http_geo_module. > html > Важный параметр - ranges. > Если нужны только страны, > то достаточно даже awk: > cat cidr_optim.txt | awk '{print $3$4$5" > "$6";"}' Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228120,228281#msg-228281 From wangsamp на gmail.com Wed Jul 4 20:44:21 2012 From: wangsamp на gmail.com (Oleksandr V. Typlyns'kyi) Date: Wed, 4 Jul 2012 23:44:21 +0300 (EEST) Subject: =?UTF-8?B?UmU6INCf0YDQuNC60YDRg9GC0LjRgtGMINCx0LDQt9GDIGlwZ2VvYmFzZS5ydSA=?= =?UTF-8?B?0Logbmd4IGh0dHAgZ2VvaXAgbW9kdWxl?= In-Reply-To: <9579986dd375cccd7be86d0108a84940.NginxMailingListRussian@forum.nginx.org> References: <9579986dd375cccd7be86d0108a84940.NginxMailingListRussian@forum.nginx.org> Message-ID: Today Jul 4, 2012 at 11:01 v2t wrote: > Добрый день! > Александр, спасибо за ваш ответ. > Правильно ли я понимаю, что возможности > этого модуля аналогичные ngx http geoip module? Этот модуль позволяет определять значения произвольных переменных в зависимости от IP клиента. А geoip - создаёт определённый набор переменных после поиска по базе MaxMind. > Нужны не только страны, а и регионы и > города. Буду думать, как вытащить > нужные диапазоны IP из базы, или, может, у > кого-то уже есть скрипты для > вытаскивания из базы нужной части по > городу/региону? Вытащить номера городов и регионов тоже просто: cat cidr_optim.txt | awk '{if ($7 != "-") print $3$4$5" "$7";"}' > region.conf А потом использовать совместно с map: http://nginx.org/ru/docs/http/ngx_http_map_module.html geo $regnum { ranges; default 0; include region.conf; } map $regnum $region { default UNK; 2097 MSK; 2287 SPB; .... } cities.txt быстро обработать для map тоже можно, но там кириллические названия. -- WNGS-RIPE From postmaster на softsearch.ru Thu Jul 5 07:16:38 2012 From: postmaster на softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Thu, 5 Jul 2012 11:16:38 +0400 Subject: =?UTF-8?B?UmU6INCf0YDQuNC60YDRg9GC0LjRgtGMINCx0LDQt9GDIGlwZ2VvYmFzZS5ydSA=?= =?UTF-8?B?0Logbmd4IGh0dHAgZ2VvaXAgbW9kdWxl?= In-Reply-To: <94baad2356a1b82f85336ce38cdad84a.NginxMailingListRussian@forum.nginx.org> References: <94baad2356a1b82f85336ce38cdad84a.NginxMailingListRussian@forum.nginx.org> Message-ID: <551575020.20120705111638@softsearch.ru> Здравствуйте, v2t. > Здравствуйте. По умолчанию модуль использует базу от MaxMind, > которая, как известно, содержит для России и Украины много > неточностей. Возможно, кто-то уже реализовал механизм преобразования > базы ipgeobase.ru в формат, который можно использовать с данным > модулем. Спасибо. А где можно скачать базу ipgeobase.ru? На сайте ссылку не смог найти. -- С уважением, Михаил mailto:postmaster на softsearch.ru From go.al.ni на gmail.com Thu Jul 5 07:18:31 2012 From: go.al.ni на gmail.com (go.al.ni на gmail.com) Date: Thu, 5 Jul 2012 11:18:31 +0400 Subject: =?UTF-8?B?UmU6INCf0YDQuNC60YDRg9GC0LjRgtGMINCx0LDQt9GDIGlwZ2VvYmFzZS5ydSA=?= =?UTF-8?B?0Logbmd4IGh0dHAgZ2VvaXAgbW9kdWxl?= In-Reply-To: <551575020.20120705111638@softsearch.ru> References: <94baad2356a1b82f85336ce38cdad84a.NginxMailingListRussian@forum.nginx.org> <551575020.20120705111638@softsearch.ru> Message-ID: http://ipgeobase.ru/cgi-bin/Archive.cgi 5 июля 2012 г., 11:16 пользователь Михаил Монашёв написал: > Здравствуйте, v2t. > >> Здравствуйте. По умолчанию модуль использует базу от MaxMind, >> которая, как известно, содержит для России и Украины много >> неточностей. Возможно, кто-то уже реализовал механизм преобразования >> базы ipgeobase.ru в формат, который можно использовать с данным >> модулем. Спасибо. > > А где можно скачать базу ipgeobase.ru? На сайте ссылку не смог найти. > > -- > С уважением, > Михаил mailto:postmaster на softsearch.ru > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From postmaster на softsearch.ru Thu Jul 5 07:52:42 2012 From: postmaster на softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Thu, 5 Jul 2012 11:52:42 +0400 Subject: =?UTF-8?B?UmVbMl06INCf0YDQuNC60YDRg9GC0LjRgtGMINCx0LDQt9GDIGlwZ2VvYmFzZS5y?= =?UTF-8?B?dSDQuiBuZ3ggaHR0cCBnZW9pcCBtb2R1bGU=?= In-Reply-To: References: <94baad2356a1b82f85336ce38cdad84a.NginxMailingListRussian@forum.nginx.org> <551575020.20120705111638@softsearch.ru> Message-ID: <437549822.20120705115242@softsearch.ru> Здравствуйте, go. > http://ipgeobase.ru/cgi-bin/Archive.cgi Спасибо. Посмотрел базу. Нашёл вот такое: 178.33.178.128 - 178.33.178.135 BE 178.33.178.136 - 178.33.178.143 DE 178.33.178.144 - 178.33.178.159 FR 178.33.178.160 - 178.33.178.175 NL 178.33.178.176 - 178.33.178.183 FR 178.33.178.184 - 178.33.178.187 PL 178.33.178.188 - 178.33.178.191 FI 178.33.178.192 - 178.33.178.207 CZ 178.33.178.208 - 178.33.178.211 FR 178.33.178.212 - 178.33.178.215 DE 178.33.178.216 - 178.33.178.255 FR неужели в один диапазон /25 кто-то столько стран напихал? -- С уважением, Михаил mailto:postmaster на softsearch.ru From maxim на nginx.com Thu Jul 5 08:05:42 2012 From: maxim на nginx.com (Maxim Konovalov) Date: Thu, 05 Jul 2012 12:05:42 +0400 Subject: =?UTF-8?B?UmU6INCf0YDQuNC60YDRg9GC0LjRgtGMINCx0LDQt9GDIGlwZ2VvYmFzZS5ydSA=?= =?UTF-8?B?0Logbmd4IGh0dHAgZ2VvaXAgbW9kdWxl?= In-Reply-To: <437549822.20120705115242@softsearch.ru> References: <94baad2356a1b82f85336ce38cdad84a.NginxMailingListRussian@forum.nginx.org> <551575020.20120705111638@softsearch.ru> <437549822.20120705115242@softsearch.ru> Message-ID: <4FF54AD6.3070208@nginx.com> On 7/5/12 11:52 AM, Михаил Монашёв wrote: > Здравствуйте, go. > >> http://ipgeobase.ru/cgi-bin/Archive.cgi > > Спасибо. Посмотрел базу. Нашёл вот такое: > 178.33.178.128 - 178.33.178.135 BE > 178.33.178.136 - 178.33.178.143 DE > 178.33.178.144 - 178.33.178.159 FR > 178.33.178.160 - 178.33.178.175 NL > 178.33.178.176 - 178.33.178.183 FR > 178.33.178.184 - 178.33.178.187 PL > 178.33.178.188 - 178.33.178.191 FI > 178.33.178.192 - 178.33.178.207 CZ > 178.33.178.208 - 178.33.178.211 FR > 178.33.178.212 - 178.33.178.215 DE > 178.33.178.216 - 178.33.178.255 FR > > неужели в один диапазон /25 кто-то столько стран напихал? > Похоже, блок с p2p (в провайдерско-сетевом смысле) сетями. -- Maxim Konovalov +7 (910) 4293178 http://nginx.com/ From nginx-forum на nginx.us Thu Jul 5 11:10:38 2012 From: nginx-forum на nginx.us (ddr400) Date: Thu, 5 Jul 2012 07:10:38 -0400 (EDT) Subject: =?UTF-8?B?UmU6INC+0YjQuNCx0LrQuCDRgSA0MDAg0LrQvtC00L7QvCDQu9C+0LPQs9C40YA=?= =?UTF-8?B?0YPRjtGC0YHRjyDQsiDRh9GD0LbQvtC5IGFjY2Vzcy5sb2c=?= In-Reply-To: <20120704121131.GP31671@mdounin.ru> References: <20120704121131.GP31671@mdounin.ru> Message-ID: Благодарю, помогло :) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228275,228302#msg-228302 From maybe на arjlover.net Thu Jul 5 17:42:39 2012 From: maybe на arjlover.net (Anton Kuznetsov) Date: Thu, 5 Jul 2012 19:42:39 +0200 Subject: =?UTF-8?B?0JrQsNC20LXRgtGB0Y8g0Y8g0L7RgtC60YDRi9C7INCQ0LzQtdGA0LjQutGDINCy?= =?UTF-8?B?INC60YPQutCw0YUuIDop?= Message-ID: В конфиге нжинкса стоит: add_header Set-Cookie "tmp_lbl=$arg_lbl"; опущу всю, богатую на подробности, историю, результат: в хроме и в ФФ вижу эту куку с доменом "exmaple.com", но все остальные куки выставленные через PHP и от гугль-аналитика вижу с доменом ".exmaple.com" - спереди стоит точка! Мой код на пхп не может удалить эту куку. Точнее только волшебный браузер опера игнорирует эту точку и работает как и задумано. У остальных - это разные домены! Глянул как на других сайтах - везде есть точка спереди. Нжинкс не прав? Если так как ему указать выставлять точку перед доменом или в какую сторону копать? -- Best regards, Anton Kuznetsov. -------------- next part -------------- An HTML attachment was scrubbed... URL: From postmaster на softsearch.ru Thu Jul 5 18:51:30 2012 From: postmaster на softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Thu, 5 Jul 2012 22:51:30 +0400 Subject: =?UTF-8?B?UmU6INCa0LDQttC10YLRgdGPINGPINC+0YLQutGA0YvQuyDQkNC80LXRgNC40Lo=?= =?UTF-8?B?0YMg0LIg0LrRg9C60LDRhS4gOik=?= In-Reply-To: References: Message-ID: <455092905.20120705225130@softsearch.ru> Здравствуйте, Anton. Явно указать домен. -- С уважением, Михаил mailto:postmaster на softsearch.ru From ne на vbart.ru Thu Jul 5 18:53:06 2012 From: ne на vbart.ru (=?utf-8?b?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Thu, 5 Jul 2012 22:53:06 +0400 Subject: =?UTF-8?B?UmU6ICDQmtCw0LbQtdGC0YHRjyDRjyDQvtGC0LrRgNGL0Lsg0JDQvNC10YDQuNC6?= =?UTF-8?B?0YMg0LIg0LrRg9C60LDRhS4gOik=?= In-Reply-To: References: Message-ID: <201207052253.06775.ne@vbart.ru> On Thursday 05 July 2012 21:42:39 Anton Kuznetsov wrote: > В конфиге нжинкса стоит: > add_header Set-Cookie "tmp_lbl=$arg_lbl"; > > опущу всю, богатую на подробности, историю, результат: > в хроме и в ФФ вижу эту куку с доменом "exmaple.com", но все остальные куки > выставленные через PHP и от гугль-аналитика вижу с доменом ".exmaple.com" - > спереди стоит точка! Мой код на пхп не может удалить эту куку. Точнее > только волшебный браузер опера игнорирует эту точку и работает как и > задумано. У остальных - это разные домены! Глянул как на других сайтах - > везде есть точка спереди. Нжинкс не прав? Если так как ему указать > выставлять точку перед доменом или в какую сторону копать? add_header Set-Cookie "tmp_lbl=$arg_lbl"; Делает ровно то, что вы указали, а именно посылает заголовок: "Set-Cookie: tmp_lbl=...", без атрибута "domain=". Если я правильно помню RFC, то в этом случае кука устанавливается браузером на домен к которому был запрос. Почему ваш код на PHP не может удалить эту куку из приведенной информации не ясно (хотя к nginx это уже никакого отношения не имеет). Вероятно вы установили куку, когда пользователь зашел на example.com, а удалить пытаетесь с www.example.com -- Валентин Бартенев From maybe на arjlover.net Thu Jul 5 19:35:33 2012 From: maybe на arjlover.net (Anton Kuznetsov) Date: Thu, 5 Jul 2012 21:35:33 +0200 Subject: =?UTF-8?B?UmU6INCa0LDQttC10YLRgdGPINGPINC+0YLQutGA0YvQuyDQkNC80LXRgNC40Lo=?= =?UTF-8?B?0YMg0LIg0LrRg9C60LDRhS4gOik=?= In-Reply-To: <455092905.20120705225130@softsearch.ru> References: <455092905.20120705225130@softsearch.ru> Message-ID: С точкой спереди? :-\ 2012/7/5 Михаил Монашёв > Здравствуйте, Anton. > > Явно указать домен. > > -- > С уважением, > Михаил mailto:postmaster на softsearch.ru > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Best regards, Anton Kuznetsov. -------------- next part -------------- An HTML attachment was scrubbed... URL: From unlexx на gmail.com Fri Jul 6 05:16:07 2012 From: unlexx на gmail.com (Un Lexx) Date: Fri, 6 Jul 2012 11:16:07 +0600 Subject: =?UTF-8?B?UmU6INCa0LDQttC10YLRgdGPINGPINC+0YLQutGA0YvQuyDQkNC80LXRgNC40Lo=?= =?UTF-8?B?0YMg0LIg0LrRg9C60LDRhS4gOik=?= In-Reply-To: References: <455092905.20120705225130@softsearch.ru> Message-ID: точка это корневой домен http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D1%80%D0%BD%D0%B5%D0%B2%D0%BE%D0%B9_%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD 6 июля 2012 г., 1:35 пользователь Anton Kuznetsov написал: > С точкой спереди? :-\ > > > > 2012/7/5 Михаил Монашёв > >> Здравствуйте, Anton. >> >> Явно указать домен. >> >> -- >> С уважением, >> Михаил mailto:postmaster на softsearch.ru >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > > -- > Best regards, > Anton Kuznetsov. > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum на nginx.us Fri Jul 6 08:00:18 2012 From: nginx-forum на nginx.us (erd) Date: Fri, 6 Jul 2012 04:00:18 -0400 (EDT) Subject: =?UTF-8?B?0JLQt9Cw0LjQvNC+0LTQtdC50YHRgtCy0LjQtSBodHRwIHBlcmwgbW9kdWxlINC4?= =?UTF-8?B?IGh0dHAgdXBsb2FkIG1vZHVsZQ==?= Message-ID: <4a922435c9fd8026aa64485798c71cb3.NginxMailingListRussian@forum.nginx.org> Здравствуйте. Пробовал реализовать загрузку файлов с использованием http_perl_module и http_upload_module. Непосредственно загрузка и сохранение файла проходят успешно, однако в запросе к @upload не передаются абсолютно никакие параметры, даже тот, что был задан через upload_pass_form_field. Самостоятельно ошибку или причину недопонимания найти не получается, поэтому прошу помощи здесь. nginx version: nginx/1.3.2 configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt='-I /usr/local/include' --with-ld-opt='-L /usr/local/lib' --conf-path=/usr/local/etc/nginx/nginx.conf --sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid --error-log-path=/var/log/nginx-error.log --user=www --group=www --with-file-aio --with-ipv6 --http-client-body-temp-path=/var/tmp/nginx/client_body_temp --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp --http-proxy-temp-path=/var/tmp/nginx/proxy_temp --http-scgi-temp-path=/var/tmp/nginx/scgi_temp --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi_temp --http-log-path=/var/log/nginx-access.log --add-module=/usr/ports/www/nginx-devel/work/ngx_cache_purge-1.6 --with-http_image_filter_module --with-http_perl_module --with-http_stub_status_module --with-http_sub_module --add-module=/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0 --add-module=/usr/ports/www/nginx-devel/work/masterzen-nginx-upload-progress-module-a788dea --add-module=/usr/ports/www/nginx-devel/work/chaoslawful-lua-nginx-module-3b1e9aa --with-pcre --add-module=/usr/ports/www/nginx-devel/work/simpl-ngx_devel_kit-bc97eea --add-module=/usr/ports/www/nginx-devel/work/calio-iconv-nginx-module-abdac17 #настройки nginx server { client_header_buffer_size 4k; ... location /u { root /home/webl/www/node1; error_page 403 = 404; } location @upload { perl WebLab::upl; } location =/upload { client_max_body_size 15m; upload_pass @upload; upload_store /home/webl/www/node1/u; upload_store_access user:r; # upload_set_form_field $upload_field_name.name "$upload_file_name"; # upload_set_form_field $upload_field_name.content_type "$upload_content_type"; # upload_set_form_field $upload_field_name.path "$upload_tmp_path"; # upload_aggregate_form_field "$upload_field_name.md5" "$upload_file_md5"; # upload_aggregate_form_field "$upload_field_name.size" "$upload_file_size"; upload_set_form_field "${upload_field_name}_name" $upload_file_name; upload_set_form_field "${upload_field_name}_content_type" $upload_content_type; upload_set_form_field "${upload_field_name}_path" $upload_tmp_path; upload_aggregate_form_field "${upload_field_name}_md5" $upload_file_md5; upload_aggregate_form_field "${upload_field_name}_size" $upload_file_size; upload_pass_form_field "^test$"; upload_cleanup 400-404 499 500-505; } } #обработчик WebLab::upl; package WebLab; sub upl { no strict; no warnings; shift->has_request_body(sub{ my$r = shift; $r->send_http_header("text/plain"); $r->print("request_body: \"", $r->request_body, "\"\n"); $r->print("request_body_file: \"", $r->request_body_file, "\"\n"); }); } #пример запроса на /upload POST /upload HTTP/1.1 Host: node1.webl Connection: keep-alive ... Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryJ0GtAjmfwCLxtzFL ------WebKitFormBoundaryJ0GtAjmfwCLxtzFL Content-Disposition: form-data; name="file"; filename="image.jpg" Content-Type: image/jpeg ------WebKitFormBoundaryJ0GtAjmfwCLxtzFL Content-Disposition: form-data; name="test" val ------WebKitFormBoundaryJ0GtAjmfwCLxtzFL-- #ответ от сервера request_body: "------WebKitFormBoundaryJ0GtAjmfwCLxtzFL" request_body_file: "" Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228322,228322#msg-228322 From bdfy на mail.ru Fri Jul 6 09:43:46 2012 From: bdfy на mail.ru (=?UTF-8?B?SXZhbg==?=) Date: Fri, 06 Jul 2012 13:43:46 +0400 Subject: =?UTF-8?B?UmU6INCS0LfQsNC40LzQvtC00LXQudGB0YLQstC40LUgaHR0cCBwZXJsIG1vZHVs?= =?UTF-8?B?ZSDQuCBodHRwIHVwbG9hZCBtb2R1bGU=?= In-Reply-To: <4a922435c9fd8026aa64485798c71cb3.NginxMailingListRussian@forum.nginx.org> References: <4a922435c9fd8026aa64485798c71cb3.NginxMailingListRussian@forum.nginx.org> Message-ID: <1341567825.616060726@f147.mail.ru> прочитайте вот это: http://forum.nginx.org/read.php?21,216148,216148 и используете следующую конструкцию: server {     listen 3000;     location / {     default_type text/html;     perl uploader::handler;     } }    location @uploadhandler {         proxy_pass http://localhost:3000;     }    upload_pass   @uploadhandler; Fri, 6 Jul 2012 04:00:18 -0400 (EDT) от "erd" : Здравствуйте. Пробовал реализовать загрузку файлов с использованием http_perl_module и http_upload_module. Непосредственно загрузка и сохранение файла проходят успешно, однако в запросе к @upload не передаются абсолютно никакие параметры, даже тот, что был задан через upload_pass_form_field. Самостоятельно ошибку или причину недопонимания найти не получается, поэтому прошу помощи здесь. nginx version: nginx/1.3.2 configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt='-I /usr/local/include' --with-ld-opt='-L /usr/local/lib' --conf-path=/usr/local/etc/nginx/nginx.conf --sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid --error-log-path=/var/log/nginx-error.log --user=www --group=www --with-file-aio --with-ipv6 --http-client-body-temp-path=/var/tmp/nginx/client_body_temp --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp --http-proxy-temp-path=/var/tmp/nginx/proxy_temp --http-scgi-temp-path=/var/tmp/nginx/scgi_temp --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi_temp --http-log-path=/var/log/nginx-access.log --add-module=/usr/ports/www/nginx-devel/work/ngx_cache_purge-1.6 --with-http_image_filter_module --with-http_perl_module --with-http_stub_status_module --with-http_sub_module --add-module=/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0 --add-module=/usr/ports/www/nginx-devel/work/masterzen-nginx-upload-progress-module-a788dea --add-module=/usr/ports/www/nginx-devel/work/chaoslawful-lua-nginx-module-3b1e9aa --with-pcre --add-module=/usr/ports/www/nginx-devel/work/simpl-ngx_devel_kit-bc97eea --add-module=/usr/ports/www/nginx-devel/work/calio-iconv-nginx-module-abdac17 #настройки nginx server { client_header_buffer_size 4k; ... location /u { root /home/webl/www/node1; error_page 403 = 404; } location @upload { perl WebLab::upl; } location =/upload { client_max_body_size 15m; upload_pass @upload; upload_store /home/webl/www/node1/u; upload_store_access user:r; # upload_set_form_field $upload_field_name.name "$upload_file_name"; # upload_set_form_field $upload_field_name.content_type "$upload_content_type"; # upload_set_form_field $upload_field_name.path "$upload_tmp_path"; # upload_aggregate_form_field "$upload_field_name.md5" "$upload_file_md5"; # upload_aggregate_form_field "$upload_field_name.size" "$upload_file_size"; upload_set_form_field "${upload_field_name}_name" $upload_file_name; upload_set_form_field "${upload_field_name}_content_type" $upload_content_type; upload_set_form_field "${upload_field_name}_path" $upload_tmp_path; upload_aggregate_form_field "${upload_field_name}_md5" $upload_file_md5; upload_aggregate_form_field "${upload_field_name}_size" $upload_file_size; upload_pass_form_field "^test$"; upload_cleanup 400-404 499 500-505; } } #обработчик WebLab::upl; package WebLab; sub upl { no strict; no warnings; shift->has_request_body(sub{ my$r = shift; $r->send_http_header("text/plain"); $r->print("request_body: \"", $r->request_body, "\"\n"); $r->print("request_body_file: \"", $r->request_body_file, "\"\n"); }); } #пример запроса на /upload POST /upload HTTP/1.1 Host: node1.webl Connection: keep-alive ... Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryJ0GtAjmfwCLxtzFL ------WebKitFormBoundaryJ0GtAjmfwCLxtzFL Content-Disposition: form-data; name="file"; filename="image.jpg" Content-Type: image/jpeg ------WebKitFormBoundaryJ0GtAjmfwCLxtzFL Content-Disposition: form-data; name="test" val ------WebKitFormBoundaryJ0GtAjmfwCLxtzFL-- #ответ от сервера request_body: "------WebKitFormBoundaryJ0GtAjmfwCLxtzFL" request_body_file: "" Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228322,228322#msg-228322 _______________________________________________ nginx-ru mailing list nginx-ru на nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From bdfy на mail.ru Fri Jul 6 15:06:38 2012 From: bdfy на mail.ru (=?UTF-8?B?SXZhbg==?=) Date: Fri, 06 Jul 2012 19:06:38 +0400 Subject: =?UTF-8?B?0JLQt9Cw0LjQvNC+0LTQtdC50YHRgtCy0LjQtSBodHRwIHBlcmwgbW9kdWxlINC4?= =?UTF-8?B?IGh0dHAgdXBsb2FkIG1vZHVsZQ==?= Message-ID: <1341587198.498625665@f318.mail.ru> прочитайте вот это: http://forum.nginx.org/read.php?21,216148,216148 и используете следующую конструкцию: server {     listen 3000;     location / {     default_type text/html;     perl uploader::handler;     } }    location @uploadhandler {         proxy_pass http://localhost:3000;     }    upload_pass   @uploadhandler; Fri, 6 Jul 2012 04:00:18 -0400 (EDT) от "erd" : Здравствуйте. Пробовал реализовать загрузку файлов с использованием http_perl_module и http_upload_module. Непосредственно загрузка и сохранение файла проходят успешно, однако в запросе к @upload не передаются абсолютно никакие параметры, даже тот, что был задан через upload_pass_form_field. Самостоятельно ошибку или причину недопонимания найти не получается, поэтому прошу помощи здесь. nginx version: nginx/1.3.2 configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt='-I /usr/local/include' --with-ld-opt='-L /usr/local/lib' --conf-path=/usr/local/etc/nginx/nginx.conf --sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid --error-log-path=/var/log/nginx-error.log --user=www --group=www --with-file-aio --with-ipv6 --http-client-body-temp-path=/var/tmp/nginx/client_body_temp --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp --http-proxy-temp-path=/var/tmp/nginx/proxy_temp --http-scgi-temp-path=/var/tmp/nginx/scgi_temp --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi_temp --http-log-path=/var/log/nginx-access.log --add-module=/usr/ports/www/nginx-devel/work/ngx_cache_purge-1.6 --with-http_image_filter_module --with-http_perl_module --with-http_stub_status_module --with-http_sub_module --add-module=/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0 --add-module=/usr/ports/www/nginx-devel/work/masterzen-nginx-upload-progress-module-a788dea --add-module=/usr/ports/www/nginx-devel/work/chaoslawful-lua-nginx-module-3b1e9aa --with-pcre --add-module=/usr/ports/www/nginx-devel/work/simpl-ngx_devel_kit-bc97eea --add-module=/usr/ports/www/nginx-devel/work/calio-iconv-nginx-module-abdac17 #настройки nginx server { client_header_buffer_size 4k; ... location /u { root /home/webl/www/node1; error_page 403 = 404; } location @upload { perl WebLab::upl; } location =/upload { client_max_body_size 15m; upload_pass @upload; upload_store /home/webl/www/node1/u; upload_store_access user:r; # upload_set_form_field $upload_field_name.name "$upload_file_name"; # upload_set_form_field $upload_field_name.content_type "$upload_content_type"; # upload_set_form_field $upload_field_name.path "$upload_tmp_path"; # upload_aggregate_form_field "$upload_field_name.md5" "$upload_file_md5"; # upload_aggregate_form_field "$upload_field_name.size" "$upload_file_size"; upload_set_form_field "${upload_field_name}_name" $upload_file_name; upload_set_form_field "${upload_field_name}_content_type" $upload_content_type; upload_set_form_field "${upload_field_name}_path" $upload_tmp_path; upload_aggregate_form_field "${upload_field_name}_md5" $upload_file_md5; upload_aggregate_form_field "${upload_field_name}_size" $upload_file_size; upload_pass_form_field "^test$"; upload_cleanup 400-404 499 500-505; } } #обработчик WebLab::upl; package WebLab; sub upl { no strict; no warnings; shift->has_request_body(sub{ my$r = shift; $r->send_http_header("text/plain"); $r->print("request_body: \"", $r->request_body, "\"\n"); $r->print("request_body_file: \"", $r->request_body_file, "\"\n"); }); } #пример запроса на /upload POST /upload HTTP/1.1 Host: node1.webl Connection: keep-alive ... Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryJ0GtAjmfwCLxtzFL ------WebKitFormBoundaryJ0GtAjmfwCLxtzFL Content-Disposition: form-data; name="file"; filename="image.jpg" Content-Type: image/jpeg ------WebKitFormBoundaryJ0GtAjmfwCLxtzFL Content-Disposition: form-data; name="test" val ------WebKitFormBoundaryJ0GtAjmfwCLxtzFL-- #ответ от сервера request_body: "------WebKitFormBoundaryJ0GtAjmfwCLxtzFL" request_body_file: "" Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228322,228322#msg-228322 _______________________________________________ nginx-ru mailing list nginx-ru на nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru ---------------------------------------------------------------------- ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From roman.vasilyev на yousendit.com Fri Jul 6 16:51:59 2012 From: roman.vasilyev на yousendit.com (Roman Vasilyev) Date: Fri, 6 Jul 2012 09:51:59 -0700 Subject: =?UTF-8?B?UmU6INCS0LfQsNC40LzQvtC00LXQudGB0YLQstC40LUgaHR0cCBwZXJsIG1vZHVs?= =?UTF-8?B?ZSDQuCBodHRwIHVwbG9hZCBtb2R1bGU=?= In-Reply-To: <4a922435c9fd8026aa64485798c71cb3.NginxMailingListRussian@forum.nginx.org> References: <4a922435c9fd8026aa64485798c71cb3.NginxMailingListRussian@forum.nginx.org> Message-ID: <4FF717AF.2030303@yousendit.com> upload module перегенерирует body для бэкенда. это именно то что вы и видите On 07/06/2012 01:00 AM, erd wrote: > Здравствуйте. > > Пробовал реализовать загрузку файлов с > использованием http_perl_module и http_upload_module. > Непосредственно загрузка и сохранение > файла проходят успешно, однако в > запросе к @upload не передаются абсолютно > никакие параметры, даже тот, что был > задан через upload_pass_form_field. > > Самостоятельно ошибку или причину > недопонимания найти не получается, > поэтому прошу помощи здесь. > > nginx version: nginx/1.3.2 > configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt='-I > /usr/local/include' --with-ld-opt='-L /usr/local/lib' > --conf-path=/usr/local/etc/nginx/nginx.conf > --sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid > --error-log-path=/var/log/nginx-error.log --user=www --group=www > --with-file-aio --with-ipv6 > --http-client-body-temp-path=/var/tmp/nginx/client_body_temp > --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp > --http-proxy-temp-path=/var/tmp/nginx/proxy_temp > --http-scgi-temp-path=/var/tmp/nginx/scgi_temp > --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi_temp > --http-log-path=/var/log/nginx-access.log > --add-module=/usr/ports/www/nginx-devel/work/ngx_cache_purge-1.6 > --with-http_image_filter_module --with-http_perl_module > --with-http_stub_status_module --with-http_sub_module > --add-module=/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0 > --add-module=/usr/ports/www/nginx-devel/work/masterzen-nginx-upload-progress-module-a788dea > --add-module=/usr/ports/www/nginx-devel/work/chaoslawful-lua-nginx-module-3b1e9aa > --with-pcre > --add-module=/usr/ports/www/nginx-devel/work/simpl-ngx_devel_kit-bc97eea > --add-module=/usr/ports/www/nginx-devel/work/calio-iconv-nginx-module-abdac17 > > #настройки nginx > > server { > client_header_buffer_size 4k; > ... > location /u { > root /home/webl/www/node1; > error_page 403 = 404; > } > location @upload { > perl WebLab::upl; > } > location =/upload { > client_max_body_size 15m; > > upload_pass @upload; > > upload_store /home/webl/www/node1/u; > upload_store_access user:r; > > # upload_set_form_field $upload_field_name.name "$upload_file_name"; > # upload_set_form_field $upload_field_name.content_type > "$upload_content_type"; > # upload_set_form_field $upload_field_name.path "$upload_tmp_path"; > > # upload_aggregate_form_field "$upload_field_name.md5" > "$upload_file_md5"; > # upload_aggregate_form_field "$upload_field_name.size" > "$upload_file_size"; > > upload_set_form_field "${upload_field_name}_name" $upload_file_name; > upload_set_form_field "${upload_field_name}_content_type" > $upload_content_type; > upload_set_form_field "${upload_field_name}_path" $upload_tmp_path; > > upload_aggregate_form_field "${upload_field_name}_md5" > $upload_file_md5; > upload_aggregate_form_field "${upload_field_name}_size" > $upload_file_size; > > upload_pass_form_field "^test$"; > > upload_cleanup 400-404 499 500-505; > } > } > > #обработчик WebLab::upl; > > package WebLab; > > sub upl > { > no strict; > no warnings; > shift->has_request_body(sub{ > my$r = shift; > $r->send_http_header("text/plain"); > $r->print("request_body: \"", $r->request_body, "\"\n"); > $r->print("request_body_file: \"", $r->request_body_file, "\"\n"); > }); > } > > #пример запроса на /upload > > POST /upload HTTP/1.1 > Host: node1.webl > Connection: keep-alive > ... > Content-Type: multipart/form-data; > boundary=----WebKitFormBoundaryJ0GtAjmfwCLxtzFL > > ------WebKitFormBoundaryJ0GtAjmfwCLxtzFL > Content-Disposition: form-data; name="file"; filename="image.jpg" > Content-Type: image/jpeg > > > ------WebKitFormBoundaryJ0GtAjmfwCLxtzFL > Content-Disposition: form-data; name="test" > > val > ------WebKitFormBoundaryJ0GtAjmfwCLxtzFL-- > > #ответ от сервера > > request_body: "------WebKitFormBoundaryJ0GtAjmfwCLxtzFL" > request_body_file: "" > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228322,228322#msg-228322 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From public-mail на alekciy.ru Fri Jul 6 19:13:53 2012 From: public-mail на alekciy.ru (=?UTF-8?B?0JDQu9C10LrRgdC10Lkg0KHRg9C90LTRg9C60L7Qsg==?=) Date: Fri, 6 Jul 2012 23:13:53 +0400 Subject: =?UTF-8?B?UmU6INCa0LDQttC10YLRgdGPINGPINC+0YLQutGA0YvQuyDQkNC80LXRgNC40Lo=?= =?UTF-8?B?0YMg0LIg0LrRg9C60LDRhS4gOik=?= In-Reply-To: References: <455092905.20120705225130@softsearch.ru> Message-ID: Корневой прописывается в виде точки СПРАВА, а у автора точка слева. 6 июля 2012 г., 9:16 пользователь Un Lexx написал: > точка это корневой домен > http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D1%80%D0%BD%D0%B5%D0%B2%D0%BE%D0%B9_%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD From nginx-forum на nginx.us Sat Jul 7 13:41:14 2012 From: nginx-forum на nginx.us (X-Thief) Date: Sat, 7 Jul 2012 09:41:14 -0400 (EDT) Subject: =?UTF-8?B?TmdpbnggY2FjaGUg0LIgSUYg0YPRgdC70L7QstC40Lgg0LjQu9C4?= Message-ID: <653cc486dededa50bb60e35e7a7e40f9.NginxMailingListRussian@forum.nginx.org> Добрый вечер. Пытаюсь сварганить чтобы кэшировало одну страничку, которая открывает два разных контента, в зависимости от заголовка. Пример: location = страничка { коннектимся к пхп демону; if (Заголовок = нужный заголовок) { кэшируем полученную страничку на N минут; } } При примении этого конфига выдает: [emerg] "fastcgi_cache" directive is not allowed here Тоесть, в условии заголовка кэш никак не получается активировать. Как можно подругому это реализовать? Спасибо. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228358,228358#msg-228358 From sytar.alex на gmail.com Sat Jul 7 14:13:51 2012 From: sytar.alex на gmail.com (Aleksandr Sytar) Date: Sat, 7 Jul 2012 18:13:51 +0400 Subject: =?UTF-8?B?UmU6IE5naW54IGNhY2hlINCyIElGINGD0YHQu9C+0LLQuNC4INC40LvQuA==?= In-Reply-To: <653cc486dededa50bb60e35e7a7e40f9.NginxMailingListRussian@forum.nginx.org> References: <653cc486dededa50bb60e35e7a7e40f9.NginxMailingListRussian@forum.nginx.org> Message-ID: 7 июля 2012 г., 17:41 пользователь X-Thief написал: > Добрый вечер. > > Пытаюсь сварганить чтобы кэшировало > одну страничку, которая открывает два > разных контента, в зависимости от > заголовка. > > Пример: > > location = страничка { > > коннектимся к пхп демону; > > if (Заголовок = нужный заголовок) { > кэшируем полученную страничку на N > минут; > } > } > > При примении этого конфига выдает: [emerg] > "fastcgi_cache" directive is not allowed here > > Тоесть, в условии заголовка кэш никак > не получается активировать. > > Как можно подругому это реализовать? Добавьте этот заголовок в ключ кеша From nginx-forum на nginx.us Sat Jul 7 14:17:52 2012 From: nginx-forum на nginx.us (X-Thief) Date: Sat, 7 Jul 2012 10:17:52 -0400 (EDT) Subject: =?UTF-8?B?UmU6IE5naW54IGNhY2hlINCyIElGINGD0YHQu9C+0LLQuNC4INC40LvQuA==?= In-Reply-To: References: Message-ID: <683db8678dc64df3586b8fefdc1e6945.NginxMailingListRussian@forum.nginx.org> Но тогда он будет и другой контент кэшировать, а там динамика. Думаю set поставлю в условие с заголовком и применю fastcgi_cache_bypass Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228358,228362#msg-228362 From ne на vbart.ru Sat Jul 7 15:03:33 2012 From: ne на vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Sat, 7 Jul 2012 19:03:33 +0400 Subject: =?UTF-8?B?UmU6IE5naW54IGNhY2hlINCyIElGINGD0YHQu9C+0LLQuNC4INC40LvQuA==?= In-Reply-To: <683db8678dc64df3586b8fefdc1e6945.NginxMailingListRussian@forum.nginx.org> References: <683db8678dc64df3586b8fefdc1e6945.NginxMailingListRussian@forum.nginx.org> Message-ID: <201207071903.33573.ne@vbart.ru> On Saturday 07 July 2012 18:17:52 X-Thief wrote: > Но тогда он будет и другой контент > кэшировать, а там динамика. > > Думаю set поставлю в условие с > заголовком и применю fastcgi_cache_bypass > Ещё можно использовать map. map $http_your_header $nocache { default 1; 'нужный заголовок' 0; } proxy_no_cache $nocache; http://nginx.org/r/map/ru http://nginx.org/r/proxy_no_cache/ru -- Валентин Бартенев From hell-for-yahoo на umail.ru Sat Jul 7 16:22:47 2012 From: hell-for-yahoo на umail.ru (Andrey Repin) Date: Sat, 7 Jul 2012 20:22:47 +0400 Subject: =?UTF-8?B?UmU6INCa0LDQttC10YLRgdGPINGPINC+0YLQutGA0YvQuyDQkNC80LXRgNC40Lo=?= =?UTF-8?B?0YMg0LIg0LrRg9C60LDRhS4gOik=?= In-Reply-To: References: <455092905.20120705225130@softsearch.ru> Message-ID: <1145176140.20120707202247@mtu-net.ru> Здравствуйте, Уважаемый(-ая, -ое) Un Lexx! UL> точка это корневой домен UL> http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D1%80%D0%BD%D0%B5%D0%B2%D0%BE%D0%B9_%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD Приводить педивикию в качестве аргумента как-то... глупо? -- С уважением Andrey Repin (hell-for-yahoo на umail.ru) суббота, 07.07.2012, <20:22> From vsjcfm на gmail.com Sat Jul 7 16:48:22 2012 From: vsjcfm на gmail.com (Sayetsky Anton) Date: Sat, 7 Jul 2012 19:48:22 +0300 Subject: =?UTF-8?B?UmU6INCa0LDQttC10YLRgdGPINGPINC+0YLQutGA0YvQuyDQkNC80LXRgNC40Lo=?= =?UTF-8?B?0YMg0LIg0LrRg9C60LDRhS4gOik=?= In-Reply-To: <1145176140.20120707202247@mtu-net.ru> References: <455092905.20120705225130@softsearch.ru> <1145176140.20120707202247@mtu-net.ru> Message-ID: 7 июля 2012 г., 19:22 пользователь Andrey Repin написал: > педивикию Вы - рак и луркофаг. Покиньте помещение. From dmitry на labutin.net Sun Jul 8 05:47:09 2012 From: dmitry на labutin.net (Dmitry Y. Labutin) Date: Sun, 08 Jul 2012 09:47:09 +0400 Subject: =?UTF-8?B?0JAgZmFpbF90aW1lb3V0INCyIG5neF9odHRwX3Vwc3RyZWFtX21vZHVsZSDRgNCw?= =?UTF-8?B?0LHQvtGC0LDQtdGCPw==?= Message-ID: <4FF91EDD.9000705@labutin.net> Доброго времени суток. Имею вот такой конфиг: worker_processes 10; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream backend { server www4.company.ru backup; server www1.company.ru fail_timeout=600s; keepalive 64; } server { listen 80; server_name *.company.ru; client_max_body_size 50m; location / { proxy_set_header Host $host; proxy_pass http://backend; proxy_read_timeout 180s; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } Именно сейчас www1.company.ru недоступен - лег канал. Я надеялся, что попытки nginx отправить запрос пользователей через www1.company.ru будут идти раз в 10 минут, но на деле, там очень много вот такого в error.log: 2012/07/08 09:42:02 [error] 10904#0: *5715 connect() failed (110: Connection timed out) while connecting to upstream, client: 212.33.247.144, ... 2012/07/08 09:42:03 [error] 10904#0: *5718 connect() failed (110: Connection timed out) while connecting to upstream, client: 78.46.87.66, ... 2012/07/08 09:42:04 [error] 10904#0: *5720 connect() failed (110: Connection timed out) while connecting to upstream, client: 195.69.65.3, ... 2012/07/08 09:42:08 [error] 10904#0: *5724 connect() failed (110: Connection timed out) while connecting to upstream, client: 178.44.179.181, ... 2012/07/08 09:42:09 [error] 10904#0: *5726 connect() failed (110: Connection timed out) while connecting to upstream, client: 79.122.162.102, ... 2012/07/08 09:42:09 [error] 10904#0: *5728 connect() failed (110: Connection timed out) while connecting to upstream, client: 2.92.46.112, ... 2012/07/08 09:42:09 [error] 10904#0: *5732 connect() failed (110: Connection timed out) while connecting to upstream, client: 93.181.202.77, ... 2012/07/08 09:42:09 [error] 10904#0: *5731 connect() failed (110: Connection timed out) while connecting to upstream, client: 2.92.46.112, ... 2012/07/08 09:42:09 [error] 10904#0: *5735 connect() failed (110: Connection timed out) while connecting to upstream, client: 2.92.46.112, ... 2012/07/08 09:42:10 [error] 10904#0: *5737 connect() failed (110: Connection timed out) while connecting to upstream, client: 85.26.234.5, ... Вопрос - почему nginx делает так много попыток соединения через www1.company.ru ? Ведь он же получил Connection timed out и должен был в соответствии с fail_timeout=600s 10 минут туда не соваться!!! Или я что-то не так настроил? Дмитрий Лабутин From mdounin на mdounin.ru Sun Jul 8 09:16:29 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Sun, 8 Jul 2012 13:16:29 +0400 Subject: =?UTF-8?B?UmU6INCQIGZhaWxfdGltZW91dCDQsiBuZ3hfaHR0cF91cHN0cmVhbV9tb2R1bGUg?= =?UTF-8?B?0YDQsNCx0L7RgtCw0LXRgj8=?= In-Reply-To: <4FF91EDD.9000705@labutin.net> References: <4FF91EDD.9000705@labutin.net> Message-ID: <20120708091628.GX31671@mdounin.ru> Hello! On Sun, Jul 08, 2012 at 09:47:09AM +0400, Dmitry Y. Labutin wrote: [...] > upstream backend { > server www4.company.ru backup; > server www1.company.ru fail_timeout=600s; > > keepalive 64; > } [...] > Именно сейчас www1.company.ru недоступен - лег канал. > Я надеялся, что попытки nginx отправить запрос пользователей через > www1.company.ru будут идти раз в 10 минут, но на деле, там очень > много вот такого в error.log: > 2012/07/08 09:42:02 [error] 10904#0: *5715 connect() failed (110: > Connection timed out) while connecting to upstream, client: > 212.33.247.144, ... [...] > 2012/07/08 09:42:10 [error] 10904#0: *5737 connect() failed (110: > Connection timed out) while connecting to upstream, client: > 85.26.234.5, ... > > > Вопрос - почему nginx делает так много попыток соединения через > www1.company.ru ? Ведь он же получил Connection timed out и должен > был в соответствии с fail_timeout=600s 10 минут туда не соваться!!! > Или я что-то не так настроил? Канал лёг когда? По получению первой ошибки nginx перестаёт отправлять запросы на недоступный бекенд, но уже отправленные - продолжают ждать таймаутов и соответственно отмечаться в error log'е когда дождутся. В вашем случае proxy_connect_timeout используется по умолчанию, 60 секунд, так что приведённая выдержка из лога не позволяет утверждать, что что-то не так. После того, как уже отправленные запросы кончаться - в современных версиях будет 1 запрос на рабочий процесс в fail_timeout секунд. Maxim Dounin From nginx-forum на nginx.us Sun Jul 8 09:24:57 2012 From: nginx-forum на nginx.us (MFS) Date: Sun, 8 Jul 2012 05:24:57 -0400 (EDT) Subject: =?UTF-8?B?Tmdpbngg0LLQu9C40Y/QtdGCINC90LAg0YHQtdGA0LLQtdGAIFRlYW0gRm9ydHJl?= =?UTF-8?B?c3My?= Message-ID: <1a4153124e15bee419775152a7e726f2.NginxMailingListRussian@forum.nginx.org> Стоит пара серверов под управлением debian 6 (64 бита), без особых настроек (т.е. установлены по дефолту). На обоих запущены виртуальные сервера Valve (Team Fortress2 и Counter Strike Source), оба 32 битной архитектуры. На одном еще дополнительно был запущен nginx для отдачи файлов valve (обычных файлов) Тот сервер, на котором nginx отсутствовал, работал нормально, круглосуточно, и никогда не вызывал к себе внимания. А сервер на котором стоял nginx, работал стабильно нестабильно. Выражалось это в том, что виртуальный сервер Team Fortress2 вел себя так, как будто бы сжирал всю память. Просто зависал. После запуска, виртуальный сервер TF2 мог проработать 12-15 часов, после чего требовал перезагрузки. Путем нехитрых манипуляций был выяснен виновник - nginx. Каким образом он влияет на работу TF2 - для меня загадка. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228385,228385#msg-228385 From dmitry на labutin.net Sun Jul 8 09:40:25 2012 From: dmitry на labutin.net (Dmitry Y. Labutin) Date: Sun, 08 Jul 2012 13:40:25 +0400 Subject: =?UTF-8?B?UmU6INCQIGZhaWxfdGltZW91dCDQsiBuZ3hfaHR0cF91cHN0cmVhbV9tb2R1bGUg?= =?UTF-8?B?0YDQsNCx0L7RgtCw0LXRgj8=?= In-Reply-To: <20120708091628.GX31671@mdounin.ru> References: <4FF91EDD.9000705@labutin.net> <20120708091628.GX31671@mdounin.ru> Message-ID: <4FF95589.3050601@labutin.net> Да, логи были после сразу после рестарта nginx. Но вот уже прошло несколько часов и обращения стали конечно реже, но все равно значительно чаще чем раз в 10 минут: 2012/07/08 13:29:30 [error] 10901#0: *163989 connect() failed (110: Connection timed out) while connecting to upstream 2012/07/08 13:29:30 [error] 10901#0: *163994 connect() failed (110: Connection timed out) while connecting to upstream 2012/07/08 13:29:33 [error] 10901#0: *164029 connect() failed (110: Connection timed out) while connecting to upstream 2012/07/08 13:29:33 [error] 10901#0: *164031 connect() failed (110: Connection timed out) while connecting to upstream 2012/07/08 13:29:35 [error] 10901#0: *164033 connect() failed (110: Connection timed out) while connecting to upstream 2012/07/08 13:29:38 [error] 10901#0: *164044 connect() failed (110: Connection timed out) while connecting to upstream 2012/07/08 13:29:39 [error] 10901#0: *164062 connect() failed (110: Connection timed out) while connecting to upstream 2012/07/08 13:31:21 [error] 10899#0: *164566 connect() failed (110: Connection timed out) while connecting to upstream 2012/07/08 13:35:21 [error] 10897#0: *143777 connect() failed (110: Connection timed out) while connecting to upstream 2012/07/08 13:36:51 [error] 10902#0: *168456 connect() failed (110: Connection timed out) while connecting to upstream Дмитрий 08.07.2012 13:16, Maxim Dounin пишет: > Hello! > > On Sun, Jul 08, 2012 at 09:47:09AM +0400, Dmitry Y. Labutin wrote: > > [...] > >> upstream backend { >> server www4.company.ru backup; >> server www1.company.ru fail_timeout=600s; >> >> keepalive 64; >> } > > [...] > >> Именно сейчас www1.company.ru недоступен - лег канал. >> Я надеялся, что попытки nginx отправить запрос пользователей через >> www1.company.ru будут идти раз в 10 минут, но на деле, там очень >> много вот такого в error.log: >> 2012/07/08 09:42:02 [error] 10904#0: *5715 connect() failed (110: >> Connection timed out) while connecting to upstream, client: >> 212.33.247.144, ... > > [...] > >> 2012/07/08 09:42:10 [error] 10904#0: *5737 connect() failed (110: >> Connection timed out) while connecting to upstream, client: >> 85.26.234.5, ... >> >> >> Вопрос - почему nginx делает так много попыток соединения через >> www1.company.ru ? Ведь он же получил Connection timed out и должен >> был в соответствии с fail_timeout=600s 10 минут туда не соваться!!! >> Или я что-то не так настроил? > > Канал лёг когда? По получению первой ошибки nginx перестаёт > отправлять запросы на недоступный бекенд, но уже отправленные - > продолжают ждать таймаутов и соответственно отмечаться в error > log'е когда дождутся. В вашем случае proxy_connect_timeout > используется по умолчанию, 60 секунд, так что приведённая выдержка > из лога не позволяет утверждать, что что-то не так. > > После того, как уже отправленные запросы кончаться - в современных > версиях будет 1 запрос на рабочий процесс в fail_timeout секунд. > > Maxim Dounin > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > From a.vasilishin на kpi.ua Sun Jul 8 09:46:24 2012 From: a.vasilishin на kpi.ua (=?UTF-8?B?0JDQvdC00YDQtdC5INCS0LDRgdC40LvQuNGI0LjQvQ==?=) Date: Sun, 08 Jul 2012 12:46:24 +0300 Subject: ext4 bigalloc & directio_alignment Message-ID: <4FF956F0.4030906@kpi.ua> В ядре 3.2 появилась поддержка кластеров в ext4 с размером кластера до 1М. Решил испробовать, сделал фс с размером блока 4к и размером кластера 1м. На раздаче больших файлов ~100Mб без aio, directio и sendfile особого прироста производительности (уменьшения I/O)не заметил. Сейчас решил уже на другом сервере включить aio и directio с directio_alignment 4096; но все также прогресса не вижу. Есть ли смысл directio_alignment увеличить до 1М? -- WBR, Andrey Vasilishin CDIG1-UANIC, CDIG1-RIPE From nginx-forum на nginx.us Sun Jul 8 09:48:16 2012 From: nginx-forum на nginx.us (cackle) Date: Sun, 8 Jul 2012 05:48:16 -0400 (EDT) Subject: Nginx localization rewrite Message-ID: <1f6a01d91fb2a9f2ca6b78e1e8a99ff7.NginxMailingListRussian@forum.nginx.org> Добрый день. Необходимо написать rewrite правила для Английской и Русской версии сайта. Пускай домен сайта example.com по умолчанию у него Английская локаль. Если у пользователя в браузере en локаль, то он должен попадать на example.com, если ru локаль, то на ru.example.com. Для этого я написал следующие правила: ... location / { if ($host = 'example.com') { set $zzz e; } if ($http_accept_language ~* "^ru") { set $zzz "${zzz}ru"; } if ($zzz = eru) { rewrite ^/(.*)$ http://ru.example.com/$1 permanent; } ... } Следующие случаи работают прекрасно: 1. юзер с локалью en заходит на example.com 2. юзер с локалью en заходит на ru.example.com 3. юзер с локалью ru заходит на example.com и его редиректит на ru.example.com Как быть, если юзер с локалью ru хочет зайтина example.com только на английскую версию сайта? Можно сделать en.example.com и дальше редиректить его на example.com, но в таком случае он снова окажется на ru.example.com. Как сделать так, чтоб если пользователь с ru локалью выбирал бы en.example.com, его редиректило на example.com, но без выполнения последующего редиректан на ru.example.com? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228390,228390#msg-228390 From mdounin на mdounin.ru Sun Jul 8 15:43:50 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Sun, 8 Jul 2012 19:43:50 +0400 Subject: =?UTF-8?B?UmU6INCQIGZhaWxfdGltZW91dCDQsiBuZ3hfaHR0cF91cHN0cmVhbV9tb2R1bGUg?= =?UTF-8?B?0YDQsNCx0L7RgtCw0LXRgj8=?= In-Reply-To: <4FF95589.3050601@labutin.net> References: <4FF91EDD.9000705@labutin.net> <20120708091628.GX31671@mdounin.ru> <4FF95589.3050601@labutin.net> Message-ID: <20120708154350.GZ31671@mdounin.ru> Hello! On Sun, Jul 08, 2012 at 01:40:25PM +0400, Dmitry Y. Labutin wrote: > Да, логи были после сразу после рестарта nginx. Но вот уже прошло > несколько часов и обращения стали конечно реже, но все равно > значительно чаще чем раз в 10 минут: > 2012/07/08 13:29:30 [error] 10901#0: *163989 connect() failed (110: > Connection timed out) while connecting to upstream > 2012/07/08 13:29:30 [error] 10901#0: *163994 connect() failed (110: > Connection timed out) while connecting to upstream > 2012/07/08 13:29:33 [error] 10901#0: *164029 connect() failed (110: > Connection timed out) while connecting to upstream nginx какой версии? [...] Maxim Dounin p.s. Please do not top-post. Thank you. > > Дмитрий > > 08.07.2012 13:16, Maxim Dounin пишет: > >Hello! > > > >On Sun, Jul 08, 2012 at 09:47:09AM +0400, Dmitry Y. Labutin wrote: > > > >[...] > > > >> upstream backend { > >> server www4.company.ru backup; > >> server www1.company.ru fail_timeout=600s; > >> > >> keepalive 64; > >> } > > > >[...] > > > >>Именно сейчас www1.company.ru недоступен - лег канал. > >>Я надеялся, что попытки nginx отправить запрос пользователей через > >>www1.company.ru будут идти раз в 10 минут, но на деле, там очень > >>много вот такого в error.log: > >>2012/07/08 09:42:02 [error] 10904#0: *5715 connect() failed (110: > >>Connection timed out) while connecting to upstream, client: > >>212.33.247.144, ... > > > >[...] > > > >>2012/07/08 09:42:10 [error] 10904#0: *5737 connect() failed (110: > >>Connection timed out) while connecting to upstream, client: > >>85.26.234.5, ... > >> > >> > >>Вопрос - почему nginx делает так много попыток соединения через > >>www1.company.ru ? Ведь он же получил Connection timed out и должен > >>был в соответствии с fail_timeout=600s 10 минут туда не соваться!!! > >>Или я что-то не так настроил? > > > >Канал лёг когда? По получению первой ошибки nginx перестаёт > >отправлять запросы на недоступный бекенд, но уже отправленные - > >продолжают ждать таймаутов и соответственно отмечаться в error > >log'е когда дождутся. В вашем случае proxy_connect_timeout > >используется по умолчанию, 60 секунд, так что приведённая выдержка > >из лога не позволяет утверждать, что что-то не так. > > > >После того, как уже отправленные запросы кончаться - в современных > >версиях будет 1 запрос на рабочий процесс в fail_timeout секунд. > > > >Maxim Dounin > > > >_______________________________________________ > >nginx-ru mailing list > >nginx-ru на nginx.org > >http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From dmitry на labutin.net Sun Jul 8 17:04:43 2012 From: dmitry на labutin.net (Dmitry Y. Labutin) Date: Sun, 08 Jul 2012 21:04:43 +0400 Subject: =?UTF-8?B?UmU6INCQIGZhaWxfdGltZW91dCDQsiBuZ3hfaHR0cF91cHN0cmVhbV9tb2R1bGUg?= =?UTF-8?B?0YDQsNCx0L7RgtCw0LXRgj8=?= In-Reply-To: <20120708154350.GZ31671@mdounin.ru> References: <4FF91EDD.9000705@labutin.net> <20120708091628.GX31671@mdounin.ru> <4FF95589.3050601@labutin.net> <20120708154350.GZ31671@mdounin.ru> Message-ID: <4FF9BDAB.4020103@labutin.net> Доброго времени суток. nginx version: nginx/1.2.2 built by gcc 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC) configure arguments: --prefix=/opt/nginx --without-http_rewrite_module --without-http_gzip_module nginx занимается только балансировкой каналов - перекидыванием на резервный, в случае недоступности основного. Дмитрий 08.07.2012 19:43, Maxim Dounin пишет: > Hello! > > On Sun, Jul 08, 2012 at 01:40:25PM +0400, Dmitry Y. Labutin wrote: > >> Да, логи были после сразу после рестарта nginx. Но вот уже прошло >> несколько часов и обращения стали конечно реже, но все равно >> значительно чаще чем раз в 10 минут: >> 2012/07/08 13:29:30 [error] 10901#0: *163989 connect() failed (110: >> Connection timed out) while connecting to upstream >> 2012/07/08 13:29:30 [error] 10901#0: *163994 connect() failed (110: >> Connection timed out) while connecting to upstream >> 2012/07/08 13:29:33 [error] 10901#0: *164029 connect() failed (110: >> Connection timed out) while connecting to upstream > > nginx какой версии? > > [...] > > Maxim Dounin > > p.s. Please do not top-post. Thank you. > >> >> Дмитрий >> >> 08.07.2012 13:16, Maxim Dounin пишет: >>> Hello! >>> >>> On Sun, Jul 08, 2012 at 09:47:09AM +0400, Dmitry Y. Labutin wrote: >>> >>> [...] >>> >>>> upstream backend { >>>> server www4.company.ru backup; >>>> server www1.company.ru fail_timeout=600s; >>>> >>>> keepalive 64; >>>> } >>> >>> [...] >>> >>>> Именно сейчас www1.company.ru недоступен - лег канал. >>>> Я надеялся, что попытки nginx отправить запрос пользователей через >>>> www1.company.ru будут идти раз в 10 минут, но на деле, там очень >>>> много вот такого в error.log: >>>> 2012/07/08 09:42:02 [error] 10904#0: *5715 connect() failed (110: >>>> Connection timed out) while connecting to upstream, client: >>>> 212.33.247.144, ... >>> >>> [...] >>> >>>> 2012/07/08 09:42:10 [error] 10904#0: *5737 connect() failed (110: >>>> Connection timed out) while connecting to upstream, client: >>>> 85.26.234.5, ... >>>> >>>> >>>> Вопрос - почему nginx делает так много попыток соединения через >>>> www1.company.ru ? Ведь он же получил Connection timed out и должен >>>> был в соответствии с fail_timeout=600s 10 минут туда не соваться!!! >>>> Или я что-то не так настроил? >>> >>> Канал лёг когда? По получению первой ошибки nginx перестаёт >>> отправлять запросы на недоступный бекенд, но уже отправленные - >>> продолжают ждать таймаутов и соответственно отмечаться в error >>> log'е когда дождутся. В вашем случае proxy_connect_timeout >>> используется по умолчанию, 60 секунд, так что приведённая выдержка >>> из лога не позволяет утверждать, что что-то не так. >>> >>> После того, как уже отправленные запросы кончаться - в современных >>> версиях будет 1 запрос на рабочий процесс в fail_timeout секунд. >>> >>> Maxim Dounin >>> >>> _______________________________________________ >>> nginx-ru mailing list >>> nginx-ru на nginx.org >>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >>> >> >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > From postmaster на softsearch.ru Sun Jul 8 18:27:15 2012 From: postmaster на softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Sun, 8 Jul 2012 22:27:15 +0400 Subject: =?UTF-8?B?UmU6IE5naW54INCy0LvQuNGP0LXRgiDQvdCwINGB0LXRgNCy0LXRgCBUZWFtIEZv?= =?UTF-8?B?cnRyZXNzMg==?= In-Reply-To: <1a4153124e15bee419775152a7e726f2.NginxMailingListRussian@forum.nginx.org> References: <1a4153124e15bee419775152a7e726f2.NginxMailingListRussian@forum.nginx.org> Message-ID: <1834528263.20120708222715@softsearch.ru> Здравствуйте, MFS. > Стоит пара серверов под управлением debian 6 (64 бита), без особых > настроек (т.е. установлены по дефолту). > На обоих запущены виртуальные сервера Valve (Team Fortress2 и > Counter Strike Source), оба 32 битной архитектуры. > На одном еще дополнительно был запущен nginx для отдачи файлов valve > (обычных файлов) > Тот сервер, на котором nginx отсутствовал, работал нормально, > круглосуточно, и никогда не вызывал к себе внимания. > А сервер на котором стоял nginx, работал стабильно нестабильно. > Выражалось это в том, что виртуальный сервер Team Fortress2 вел себя > так, как будто бы сжирал всю память. Просто зависал. После запуска, > виртуальный сервер TF2 мог проработать 12-15 часов, после чего > требовал перезагрузки. > Путем нехитрых манипуляций был выяснен виновник - nginx. Каким > образом он влияет на работу TF2 - для меня загадка. Посмотрите какой запрос идёт к TF2 и какой, если nginx его к TF2 проксирует. И сравните их. Также конфиг не помешал бы. Возможно в твоём случае поможет релоад nginx-а раз в час, например, пока проблема не решена. -- С уважением, Михаил mailto:postmaster на softsearch.ru From mdounin на mdounin.ru Sun Jul 8 19:30:58 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Sun, 8 Jul 2012 23:30:58 +0400 Subject: =?UTF-8?B?UmU6INCQIGZhaWxfdGltZW91dCDQsiBuZ3hfaHR0cF91cHN0cmVhbV9tb2R1bGUg?= =?UTF-8?B?0YDQsNCx0L7RgtCw0LXRgj8=?= In-Reply-To: <4FF9BDAB.4020103@labutin.net> References: <4FF91EDD.9000705@labutin.net> <20120708091628.GX31671@mdounin.ru> <4FF95589.3050601@labutin.net> <20120708154350.GZ31671@mdounin.ru> <4FF9BDAB.4020103@labutin.net> Message-ID: <20120708193058.GC31671@mdounin.ru> Hello! On Sun, Jul 08, 2012 at 09:04:43PM +0400, Dmitry Y. Labutin wrote: > Доброго времени суток. > > nginx version: nginx/1.2.2 > built by gcc 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC) > configure arguments: --prefix=/opt/nginx > --without-http_rewrite_module --without-http_gzip_module > > nginx занимается только балансировкой каналов - перекидыванием на > резервный, в случае недоступности основного. Ok, кажется я понял в чём у вас проблема. Сейчас, если клиент прерывает соединение раньше, чем получен ответ от upstream'а (или ошибка), соединение с upstream'ом закрывается как успешное. Если это происходит во время очередной проверки после fail_timeout - nginx считает проверку успешной и начинает рассматривать бекенд как живой, и соответстввенно на него уходит неограниченное количество запросов (пока снова не случится ошибка). При уровне логгирования "info" это должно быть видно, перед каждым случаем "больше одного таймаута от процесса" будут сообщения про "client prematurely closed connection". (Just in case, простейшее решение - сделать proxy_connect_timeout меньше, чтобы клиенты не уходили недождавшись ответа.) Maxim Dounin > > Дмитрий > > 08.07.2012 19:43, Maxim Dounin пишет: > >Hello! > > > >On Sun, Jul 08, 2012 at 01:40:25PM +0400, Dmitry Y. Labutin wrote: > > > >>Да, логи были после сразу после рестарта nginx. Но вот уже прошло > >>несколько часов и обращения стали конечно реже, но все равно > >>значительно чаще чем раз в 10 минут: > >>2012/07/08 13:29:30 [error] 10901#0: *163989 connect() failed (110: > >>Connection timed out) while connecting to upstream > >>2012/07/08 13:29:30 [error] 10901#0: *163994 connect() failed (110: > >>Connection timed out) while connecting to upstream > >>2012/07/08 13:29:33 [error] 10901#0: *164029 connect() failed (110: > >>Connection timed out) while connecting to upstream > > > >nginx какой версии? > > > >[...] > > > >Maxim Dounin > > > >p.s. Please do not top-post. Thank you. > > > >> > >>Дмитрий > >> > >>08.07.2012 13:16, Maxim Dounin пишет: > >>>Hello! > >>> > >>>On Sun, Jul 08, 2012 at 09:47:09AM +0400, Dmitry Y. Labutin wrote: > >>> > >>>[...] > >>> > >>>> upstream backend { > >>>> server www4.company.ru backup; > >>>> server www1.company.ru fail_timeout=600s; > >>>> > >>>> keepalive 64; > >>>> } > >>> > >>>[...] > >>> > >>>>Именно сейчас www1.company.ru недоступен - лег канал. > >>>>Я надеялся, что попытки nginx отправить запрос пользователей через > >>>>www1.company.ru будут идти раз в 10 минут, но на деле, там очень > >>>>много вот такого в error.log: > >>>>2012/07/08 09:42:02 [error] 10904#0: *5715 connect() failed (110: > >>>>Connection timed out) while connecting to upstream, client: > >>>>212.33.247.144, ... > >>> > >>>[...] > >>> > >>>>2012/07/08 09:42:10 [error] 10904#0: *5737 connect() failed (110: > >>>>Connection timed out) while connecting to upstream, client: > >>>>85.26.234.5, ... > >>>> > >>>> > >>>>Вопрос - почему nginx делает так много попыток соединения через > >>>>www1.company.ru ? Ведь он же получил Connection timed out и должен > >>>>был в соответствии с fail_timeout=600s 10 минут туда не соваться!!! > >>>>Или я что-то не так настроил? > >>> > >>>Канал лёг когда? По получению первой ошибки nginx перестаёт > >>>отправлять запросы на недоступный бекенд, но уже отправленные - > >>>продолжают ждать таймаутов и соответственно отмечаться в error > >>>log'е когда дождутся. В вашем случае proxy_connect_timeout > >>>используется по умолчанию, 60 секунд, так что приведённая выдержка > >>>из лога не позволяет утверждать, что что-то не так. > >>> > >>>После того, как уже отправленные запросы кончаться - в современных > >>>версиях будет 1 запрос на рабочий процесс в fail_timeout секунд. > >>> > >>>Maxim Dounin > >>> > >>>_______________________________________________ > >>>nginx-ru mailing list > >>>nginx-ru на nginx.org > >>>http://mailman.nginx.org/mailman/listinfo/nginx-ru > >>> > >> > >> > >>_______________________________________________ > >>nginx-ru mailing list > >>nginx-ru на nginx.org > >>http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > >_______________________________________________ > >nginx-ru mailing list > >nginx-ru на nginx.org > >http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From nginx-forum на nginx.us Sun Jul 8 20:02:32 2012 From: nginx-forum на nginx.us (lion2005) Date: Sun, 8 Jul 2012 16:02:32 -0400 (EDT) Subject: =?UTF-8?B?0KPRgdC60L7RgNC10L3QuNC1INGB0LDQudGC0LA=?= Message-ID: <7befa6b17f98329c3913dfe066656f1f.NginxMailingListRussian@forum.nginx.org> Сайт: http://aszh-kzn.ru/ Хостинг: RU-CENTER, тариф 201 http://hosting.nic.ru/ Сервер: nginx 1.2.0 + Apache + php 5.2.10 Тестирование: http://site-perf.com/cgi-bin/show.cgi?id=Y4z5tR_Bzzg http://tools.pingdom.com/fpt/#!/M0MEZdKxh/aszh-kzn.ru/ nginx.conf.manual ------------------------------------------------- ##~# worker_processes 1; error_log /dev/null; pid /var/run/nginx.pid; events { worker_connections 2048; } http { set_real_ip_from 10.1.0.0/16; set_real_ip_from 10.3.0.0/16; set_real_ip_from 10.12.0.0/16; set_real_ip_from 195.208.0.0/23; real_ip_header X-Real-IP; include /usr/local/etc/nginx/mime.types; default_type application/octet-stream; server_names_hash_bucket_size 128; access_log off; sendfile on; keepalive_timeout 65; include /etc/nginx/vhosts_list.conf; gzip on; gzip_min_length 1100; #gzip_buffers 64 8k; gzip_comp_level 6; gzip_http_version 1.0; gzip_proxied any; gzip_types text/plain text/xml text/css application/xml application/x-javascript text/javascript text/json; gzip_vary on; } ------------------------------------------------- aszh-kzn.ru.vhost.conf ------------------------------------------------- server { listen 10.1.47.59:80; server_name aszh-kzn.ru www.aszh-kzn.ru; location / { proxy_pass http://10.1.47.59:8080; proxy_redirect http://aszh-kzn.ru:8080/ /; proxy_redirect http://www.aszh-kzn.ru:8080/ /; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 192m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 900; proxy_read_timeout 900; proxy_buffer_size 64k; proxy_buffers 8 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } # 0 # Static files location location ~* ^.+\.(jpg|jpeg|gif|swf|png|ico|mp3|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|dat|avi|ppt|txt|tar|mid|midi|wav|bmp|rtf|wmv|mpeg|mpg|mp4|m4a|spx|ogx|ogv|oga|webm|weba|ogg|tbz|js)$ { root /home/sch20kzn/aszh-kzn.ru/docs/$subdomain; expires max; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; add_header Cache-Control max-age=604800; access_log /home/sch20kzn/aszh-kzn.ru/logs/access_log combined; error_page 404 = @fallback; log_not_found off; # 1 accel_htaccess_switch on; set $subdomain ""; if ($host ~* ^([a-z0-9-\.]+)\.aszh-kzn.ru$) { set $subdomain "subdmn/$1"; } if ($host ~* ^www.aszh-kzn.ru$) { set $subdomain ""; } } location @fallback { proxy_pass http://10.1.47.59:8080; expires max; add_header Cache-Control max-age=604800; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 192m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 900; proxy_read_timeout 900; proxy_buffer_size 64k; proxy_buffers 8 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } # Error documents location #location ^~ /errordocs { # alias /home/sch20kzn/aszh-kzn.ru/errordocs; #} ### rules if use subdmn in .htaccess ### set $subdomain /home/sch20kzn/aszh-kzn.ru/docs; if ($host ~* ^([\w-]+).aszh-kzn.ru$) { set $subdomain "/home/sch20kzn/aszh-kzn.ru/docs/subdmn/$1"; } if ($host ~* ^www.aszh-kzn.ru$) { set $subdomain /home/sch20kzn/aszh-kzn.ru/docs; } # if directory "subdmn" exists - ok, change root if ( -d "subdmn" ) { set $root $subdomain; } } ------------------------------------------------- Подскажите, пожалуйста, можно ли ускорить загрузку сайта? Ускорить загрузку статичных файлов: рисунки, стили, скрипты и т.д.? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228394,228394#msg-228394 From a.vasilishin на kpi.ua Sun Jul 8 20:04:56 2012 From: a.vasilishin на kpi.ua (=?KOI8-R?Q?=E1=CE=C4=D2=C5=CA_=F7=C1=D3=C9=CC=C9=DB=C9=CE?=) Date: Sun, 08 Jul 2012 23:04:56 +0300 Subject: =?UTF-8?B?UmU6INCj0YHQutC+0YDQtdC90LjQtSDRgdCw0LnRgtCw?= In-Reply-To: <7befa6b17f98329c3913dfe066656f1f.NginxMailingListRussian@forum.nginx.org> References: <7befa6b17f98329c3913dfe066656f1f.NginxMailingListRussian@forum.nginx.org> Message-ID: <4FF9E7E8.1040907@kpi.ua> 08.07.2012 23:02, lion2005 пишет: > proxy_connect_timeout 90; > proxy_send_timeout 900; > proxy_read_timeout 900; Меня всегда интересовало, чем руководствуются люди устанавливая такие таймауты? -- WBR, Andrey Vasilishin CDIG1-UANIC, CDIG1-RIPE From swood на fotofor.biz Sun Jul 8 20:11:37 2012 From: swood на fotofor.biz (Anton Kiryushkin) Date: Mon, 9 Jul 2012 00:11:37 +0400 Subject: =?UTF-8?B?UmU6INCj0YHQutC+0YDQtdC90LjQtSDRgdCw0LnRgtCw?= In-Reply-To: <4FF9E7E8.1040907@kpi.ua> References: <7befa6b17f98329c3913dfe066656f1f.NginxMailingListRussian@forum.nginx.org> <4FF9E7E8.1040907@kpi.ua> Message-ID: Например, медленным бэкендом при загрузке чего-либо на него. 9 июля 2012 г., 0:04 пользователь Андрей Василишин написал: > 08.07.2012 23:02, lion2005 пишет: > > proxy_connect_timeout 90; >> proxy_send_timeout 900; >> proxy_read_timeout 900; >> > > > Меня всегда интересовало, чем руководствуются люди устанавливая такие > таймауты? > > -- > WBR, Andrey Vasilishin CDIG1-UANIC, CDIG1-RIPE > > > > ______________________________**_________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/**mailman/listinfo/nginx-ru > -- Best regards, Anton Kiryushkin -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum на nginx.us Sun Jul 8 20:11:59 2012 From: nginx-forum на nginx.us (lion2005) Date: Sun, 8 Jul 2012 16:11:59 -0400 (EDT) Subject: =?UTF-8?B?UmU6INCj0YHQutC+0YDQtdC90LjQtSDRgdCw0LnRgtCw?= In-Reply-To: <4FF9E7E8.1040907@kpi.ua> References: <4FF9E7E8.1040907@kpi.ua> Message-ID: Андрей Василишин Wrote: ------------------------------------------------------- > Меня всегда интересовало, > чем руководствуются люди > устанавливая такие > таймауты? Врать не буду, не знаю. Эти параметры были установлены на хостинге по умолчанию. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228394,228398#msg-228398 From a.vasilishin на kpi.ua Sun Jul 8 20:15:04 2012 From: a.vasilishin на kpi.ua (=?KOI8-R?Q?=E1=CE=C4=D2=C5=CA_=F7=C1=D3=C9=CC=C9=DB=C9=CE?=) Date: Sun, 08 Jul 2012 23:15:04 +0300 Subject: =?UTF-8?B?UmU6INCj0YHQutC+0YDQtdC90LjQtSDRgdCw0LnRgtCw?= In-Reply-To: References: <7befa6b17f98329c3913dfe066656f1f.NginxMailingListRussian@forum.nginx.org> <4FF9E7E8.1040907@kpi.ua> Message-ID: <4FF9EA48.1040000@kpi.ua> 08.07.2012 23:11, Anton Kiryushkin пишет: > Например, медленным бэкендом при загрузке чего-либо на него. > Не знаю что такого можно грузить на бекенд, если какие-то файлы, то модуль upload_progress в помощь. А конект 1,5 минуты это для чего? Кто в здравом уме будет ждать 1.5 минуты? -- WBR, Andrey Vasilishin CDIG1-UANIC, CDIG1-RIPE From swood на fotofor.biz Sun Jul 8 20:55:06 2012 From: swood на fotofor.biz (Anton Kiryushkin) Date: Mon, 9 Jul 2012 00:55:06 +0400 Subject: =?UTF-8?B?UmU6INCj0YHQutC+0YDQtdC90LjQtSDRgdCw0LnRgtCw?= In-Reply-To: <4FF9EA48.1040000@kpi.ua> References: <7befa6b17f98329c3913dfe066656f1f.NginxMailingListRussian@forum.nginx.org> <4FF9E7E8.1040907@kpi.ua> <4FF9EA48.1040000@kpi.ua> Message-ID: Например, когда нет upload_progress, а на сайт можно влить файл объемом 50 мегабайт. 9 июля 2012 г., 0:15 пользователь Андрей Василишин написал: > 08.07.2012 23:11, Anton Kiryushkin пишет: > > Например, медленным бэкендом при загрузке чего-либо на него. >> >> > Не знаю что такого можно грузить на бекенд, если какие-то файлы, то модуль > upload_progress в помощь. А конект 1,5 минуты это для чего? > Кто в здравом уме будет ждать 1.5 минуты? > > > -- > WBR, Andrey Vasilishin CDIG1-UANIC, CDIG1-RIPE > > > ______________________________**_________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/**mailman/listinfo/nginx-ru > -- Best regards, Anton Kiryushkin -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum на nginx.us Sun Jul 8 22:03:42 2012 From: nginx-forum на nginx.us (lion2005) Date: Sun, 8 Jul 2012 18:03:42 -0400 (EDT) Subject: =?UTF-8?B?UmU6INCj0YHQutC+0YDQtdC90LjQtSDRgdCw0LnRgtCw?= In-Reply-To: <7befa6b17f98329c3913dfe066656f1f.NginxMailingListRussian@forum.nginx.org> References: <7befa6b17f98329c3913dfe066656f1f.NginxMailingListRussian@forum.nginx.org> Message-ID: <21a1286b5522c8783d6444797498d972.NginxMailingListRussian@forum.nginx.org> Можете что-нибудь посоветовать относительно ускорения загрузки статики? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228394,228404#msg-228404 From ne на vbart.ru Sun Jul 8 22:26:51 2012 From: ne на vbart.ru (=?utf-8?b?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Mon, 9 Jul 2012 02:26:51 +0400 Subject: =?UTF-8?B?UmU6INCj0YHQutC+0YDQtdC90LjQtSDRgdCw0LnRgtCw?= In-Reply-To: References: <7befa6b17f98329c3913dfe066656f1f.NginxMailingListRussian@forum.nginx.org> <4FF9EA48.1040000@kpi.ua> Message-ID: <201207090226.51354.ne@vbart.ru> On Monday 09 July 2012 00:55:06 Anton Kiryushkin wrote: > Например, когда нет upload_progress, а на сайт можно влить файл объемом 50 > мегабайт. И причем тут указанные таймауты? -- Валентин Бартенев > 9 июля 2012 г., 0:15 пользователь Андрей Василишин написал: > > 08.07.2012 23:11, Anton Kiryushkin пишет: > > Например, медленным бэкендом при загрузке чего-либо на него. > > > > Не знаю что такого можно грузить на бекенд, если какие-то файлы, то > > модуль upload_progress в помощь. А конект 1,5 минуты это для чего? > > Кто в здравом уме будет ждать 1.5 минуты? > > > > > > -- > > WBR, Andrey Vasilishin CDIG1-UANIC, CDIG1-RIPE > > > > > > ______________________________**_________________ > > nginx-ru mailing list > > nginx-ru на nginx.org > > http://mailman.nginx.org/**mailman/listinfo/nginx-ru > .org/mailman/listinfo/nginx-ru> From mdounin на mdounin.ru Sun Jul 8 22:51:07 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 9 Jul 2012 02:51:07 +0400 Subject: =?UTF-8?B?UmU6IE5naW54INCy0LvQuNGP0LXRgiDQvdCwINGB0LXRgNCy0LXRgCBUZWFtIEZv?= =?UTF-8?B?cnRyZXNzMg==?= In-Reply-To: <1834528263.20120708222715@softsearch.ru> References: <1a4153124e15bee419775152a7e726f2.NginxMailingListRussian@forum.nginx.org> <1834528263.20120708222715@softsearch.ru> Message-ID: <20120708225106.GD31671@mdounin.ru> Hello! On Sun, Jul 08, 2012 at 10:27:15PM +0400, Михаил Монашёв wrote: > Здравствуйте, MFS. > > > Стоит пара серверов под управлением debian 6 (64 бита), без особых > > настроек (т.е. установлены по дефолту). > > > На обоих запущены виртуальные сервера Valve (Team Fortress2 и > > Counter Strike Source), оба 32 битной архитектуры. > > > На одном еще дополнительно был запущен nginx для отдачи файлов valve > > (обычных файлов) > > > Тот сервер, на котором nginx отсутствовал, работал нормально, > > круглосуточно, и никогда не вызывал к себе внимания. > > > А сервер на котором стоял nginx, работал стабильно нестабильно. > > Выражалось это в том, что виртуальный сервер Team Fortress2 вел себя > > так, как будто бы сжирал всю память. Просто зависал. После запуска, > > виртуальный сервер TF2 мог проработать 12-15 часов, после чего > > требовал перезагрузки. > > > Путем нехитрых манипуляций был выяснен виновник - nginx. Каким > > образом он влияет на работу TF2 - для меня загадка. > > Посмотрите какой запрос идёт к TF2 и какой, если nginx его к TF2 > проксирует. И сравните их. > > Также конфиг не помешал бы. > > Возможно в твоём случае поможет релоад nginx-а раз в час, например, > пока проблема не решена. Если я правильно понял исходное сообщение, то nginx ничего не проксирует, просто рядом раздаёт статику. Зависание сервера Team Fortress2 в этом ключе видится как проблема сервера Team Fortress2, скорее всего - вызванная/обострённая конкуренцией за какие-либо ресурсы. Врядли со стороны nginx'а тут что-то можно сделать. Maxim Dounin From ne на vbart.ru Sun Jul 8 22:51:25 2012 From: ne на vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Mon, 9 Jul 2012 02:51:25 +0400 Subject: =?UTF-8?B?UmU6INCj0YHQutC+0YDQtdC90LjQtSDRgdCw0LnRgtCw?= In-Reply-To: <4FF9EA48.1040000@kpi.ua> References: <7befa6b17f98329c3913dfe066656f1f.NginxMailingListRussian@forum.nginx.org> <4FF9EA48.1040000@kpi.ua> Message-ID: <201207090251.25362.ne@vbart.ru> On Monday 09 July 2012 00:15:04 Андрей Василишин wrote: > 08.07.2012 23:11, Anton Kiryushkin пишет: > > Например, медленным бэкендом при загрузке чего-либо на него. > > Не знаю что такого можно грузить на бекенд, если какие-то файлы, то > модуль upload_progress в помощь. А конект 1,5 минуты это для чего? > Кто в здравом уме будет ждать 1.5 минуты? Это миллисекунды, т.е. там send и read установлено в чуть менее одной секунды, а connect вообще меньше 1/10 секунды. Но и так, по всему конфигу видно, что человек даже не пробовал читать в документацию. -- Валентин Бартенев From mdounin на mdounin.ru Sun Jul 8 23:02:27 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 9 Jul 2012 03:02:27 +0400 Subject: =?UTF-8?B?UmU6INCj0YHQutC+0YDQtdC90LjQtSDRgdCw0LnRgtCw?= In-Reply-To: <201207090251.25362.ne@vbart.ru> References: <7befa6b17f98329c3913dfe066656f1f.NginxMailingListRussian@forum.nginx.org> <4FF9EA48.1040000@kpi.ua> <201207090251.25362.ne@vbart.ru> Message-ID: <20120708230227.GE31671@mdounin.ru> Hello! On Mon, Jul 09, 2012 at 02:51:25AM +0400, Валентин Бартенев wrote: > On Monday 09 July 2012 00:15:04 Андрей Василишин wrote: > > 08.07.2012 23:11, Anton Kiryushkin пишет: > > > Например, медленным бэкендом при загрузке чего-либо на него. > > > > Не знаю что такого можно грузить на бекенд, если какие-то файлы, то > > модуль upload_progress в помощь. А конект 1,5 минуты это для чего? > > Кто в здравом уме будет ждать 1.5 минуты? > > Это миллисекунды, т.е. там send и read установлено в чуть менее одной > секунды, а connect вообще меньше 1/10 секунды. Это секунды, http://nginx.org/ru/docs/syntax.html. Maxim Dounin From hell-for-yahoo на umail.ru Sun Jul 8 23:08:02 2012 From: hell-for-yahoo на umail.ru (Andrey Repin) Date: Mon, 9 Jul 2012 03:08:02 +0400 Subject: Nginx localization rewrite In-Reply-To: <1f6a01d91fb2a9f2ca6b78e1e8a99ff7.NginxMailingListRussian@forum.nginx.org> References: <1f6a01d91fb2a9f2ca6b78e1e8a99ff7.NginxMailingListRussian@forum.nginx.org> Message-ID: <1186103710.20120709030802@mtu-net.ru> Здравствуйте, Уважаемый(-ая, -ое) cackle! c> Необходимо написать rewrite правила для c> Английской и Русской версии сайта. c> Пускай домен сайта example.com по умолчанию c> у него Английская локаль. c> Если у пользователя в браузере en c> локаль, то он должен попадать на example.com, c> если ru локаль, то на ru.example.com. Идея, конечно, богатая, но нежизнеспособная. Вы создаёте себе проблему, которую пытаетесь героически решить. Оно вам надо? Самим себе проблемы выдумывать? Я бы сделал намного прямее: сделал сайты en.example.com и ru.example.com. А с сайта example.com редиректил бы на версию, соответствующую Accept-Language. Тогда у вас сразу пропадает проблема "а как быть, если не быть" - ДА НИКАК, у вас вопроса такого не возникнет. Если юзер сразу зашел на en.example.com, он либо знает, что делает, либо нажмёт на переключение языка вверху справа и перейдёт на нужный ему язык. -- С уважением Andrey Repin (hell-for-yahoo на umail.ru) понедельник, 09.07.2012, <03:03> From hell-for-yahoo на umail.ru Sun Jul 8 23:11:15 2012 From: hell-for-yahoo на umail.ru (Andrey Repin) Date: Mon, 9 Jul 2012 03:11:15 +0400 Subject: =?UTF-8?B?UmU6INCj0YHQutC+0YDQtdC90LjQtSDRgdCw0LnRgtCw?= In-Reply-To: <4FF9EA48.1040000@kpi.ua> References: <7befa6b17f98329c3913dfe066656f1f.NginxMailingListRussian@forum.nginx.org> <4FF9E7E8.1040907@kpi.ua> <4FF9EA48.1040000@kpi.ua> Message-ID: <559486195.20120709031115@mtu-net.ru> Здравствуйте, Уважаемый(-ая, -ое) Андрей Василишин! >> Например, медленным бэкендом при загрузке чего-либо на него. >> АВ> Не знаю что такого можно грузить на бекенд, если какие-то файлы, то АВ> модуль upload_progress в помощь. А конект 1,5 минуты это для чего? АВ> Кто в здравом уме будет ждать 1.5 минуты? Я буду. Я и полчаса буду ждать, если коннект не прерывается. Я никуда не опаздываю... AK> Например, когда нет upload_progress, а на сайт можно влить файл объемом 50 AK> мегабайт. Можно. А нужно ли? Какие шансы, что 50 мегов зальются по HTTP без обрыва? А какие шансы, что вы перестанете постить ответы перед вопросами? -- С уважением Andrey Repin (hell-for-yahoo на umail.ru) понедельник, 09.07.2012, <03:09> From mdounin на mdounin.ru Sun Jul 8 23:27:47 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 9 Jul 2012 03:27:47 +0400 Subject: =?UTF-8?B?UmU6INCj0YHQutC+0YDQtdC90LjQtSDRgdCw0LnRgtCw?= In-Reply-To: <7befa6b17f98329c3913dfe066656f1f.NginxMailingListRussian@forum.nginx.org> References: <7befa6b17f98329c3913dfe066656f1f.NginxMailingListRussian@forum.nginx.org> Message-ID: <20120708232746.GF31671@mdounin.ru> Hello! On Sun, Jul 08, 2012 at 04:02:32PM -0400, lion2005 wrote: > Сайт: http://aszh-kzn.ru/ > > Хостинг: RU-CENTER, тариф 201 http://hosting.nic.ru/ > > Сервер: nginx 1.2.0 + Apache + php 5.2.10 > > Тестирование: > http://site-perf.com/cgi-bin/show.cgi?id=Y4z5tR_Bzzg > > http://tools.pingdom.com/fpt/#!/M0MEZdKxh/aszh-kzn.ru/ [...] > Подскажите, пожалуйста, можно ли > ускорить загрузку сайта? Ускорить > загрузку статичных файлов: рисунки, > стили, скрипты и т.д.? Судя по разбросу результатов pingdom'а, упёрто либо в ресурсы сервера, либо просто в сеть (до Амстердама, как ни крути, неблизко), и тут мало что от вас зависит. Но я бы, наверное, начал с простого: прикрутить gzip_static для ресурсов, которые жмутся часто, а меняются - редко, не помешает. Подробнее тут: http://nginx.org/r/gzip_static/ru Ну и просматривается возможность для оптимизации вида "слить несколько скриптов в один". Да и картинки местами можно посклеивать, а местами и не грузить без нужды. Но это уже из другой оперы. Maxim Dounin From nginx-forum на nginx.us Mon Jul 9 00:23:03 2012 From: nginx-forum на nginx.us (lion2005) Date: Sun, 8 Jul 2012 20:23:03 -0400 (EDT) Subject: =?UTF-8?B?UmU6INCj0YHQutC+0YDQtdC90LjQtSDRgdCw0LnRgtCw?= In-Reply-To: <20120708232746.GF31671@mdounin.ru> References: <20120708232746.GF31671@mdounin.ru> Message-ID: Maxim Dounin Wrote: ------------------------------------------------------- > Судя по разбросу > результатов pingdom'а, упёрто > либо в ресурсы > сервера, либо просто в сеть > (до Амстердама, как ни > крути, > неблизко), и тут мало что от > вас зависит. Но я бы, > наверное, > начал с простого: > прикрутить gzip_static для > ресурсов, которые > жмутся часто, а меняются - > редко, не помешает. > > Подробнее тут: > http://nginx.org/r/gzip_static/ru > > Ну и просматривается > возможность для > оптимизации вида "слить > несколько скриптов в один". > Да и картинки местами можно > посклеивать, а местами и не > грузить без нужды. Но это > уже из > другой оперы. Сайт оптимизирован хорошо: склеивать в сплиты уже нечего, кол-во скриптов минимум - дальнейшее объединение ведёт к конфликтам. Меня интересует возможность увеличения скорости отдачи статики. До Амстердама не особо далеко, у меня сайт загружается примерно также. Из 128 MB памяти сервер использует около половины. На этом сайте http://u.to/Ph0oAg - скорость отдачи статики очень высока. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228394,228415#msg-228415 From dmitry на labutin.net Mon Jul 9 06:26:23 2012 From: dmitry на labutin.net (Dmitry Y. Labutin) Date: Mon, 09 Jul 2012 10:26:23 +0400 Subject: =?UTF-8?B?0JzQvtC20L3QviDQu9C4INCyIGJhY2tlbmQn0LUg0LIgUEhQINCyIFJFTU9URV9B?= =?UTF-8?B?RERSINC40LzQtdGC0YwgaXAg0LDQtNGA0LXRgSDQutC70LjQtdC90YLQsD8=?= Message-ID: <4FFA798F.6090407@labutin.net> Доброго времени суток. nginx настроен как revers proxy. Добавление в конфиг: proxy_set_header X-Real-IP $remote_addr; дает то, что IP адрес клиента будет в $_SERVER["HTTP_X_REAL_IP"] а в $_SERVER["REMOTE_ADDR"] будет всегда один и тот же адрес сервера, где стоит nginx. Причем на backend'е тоже стоит nginx и PHP работает в режиме fast_cgi. Вопрос: Можно ли в backend'е в PHP в REMOTE_ADDR иметь ip адрес клиента? Дмитрий Лабутин From mdounin на mdounin.ru Mon Jul 9 06:44:31 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 9 Jul 2012 10:44:31 +0400 Subject: =?UTF-8?B?UmU6INCc0L7QttC90L4g0LvQuCDQsiBiYWNrZW5kJ9C1INCyIFBIUCDQsiBSRU1P?= =?UTF-8?B?VEVfQUREUiDQuNC80LXRgtGMIGlwINCw0LTRgNC10YEg0LrQu9C40LXQvdGC?= =?UTF-8?B?0LA/?= In-Reply-To: <4FFA798F.6090407@labutin.net> References: <4FFA798F.6090407@labutin.net> Message-ID: <20120709064431.GH31671@mdounin.ru> Hello! On Mon, Jul 09, 2012 at 10:26:23AM +0400, Dmitry Y. Labutin wrote: > Доброго времени суток. > > nginx настроен как revers proxy. > Добавление в конфиг: > proxy_set_header X-Real-IP $remote_addr; > дает то, что IP адрес клиента будет в $_SERVER["HTTP_X_REAL_IP"] > а в $_SERVER["REMOTE_ADDR"] будет всегда один и тот же адрес > сервера, где стоит nginx. > Причем на backend'е тоже стоит nginx и PHP работает в режиме fast_cgi. > > Вопрос: Можно ли в backend'е в PHP в REMOTE_ADDR иметь ip адрес клиента? Да. Конкретно для php можно просто fastcgi_params поправить, но правильнее на бекенде включить и настроить модуль realip. http://nginx.org/ru/docs/http/ngx_http_realip_module.html Maxim Dounin From dmitry на labutin.net Mon Jul 9 07:27:55 2012 From: dmitry на labutin.net (Dmitry Y. Labutin) Date: Mon, 09 Jul 2012 11:27:55 +0400 Subject: =?UTF-8?B?UmU6INCc0L7QttC90L4g0LvQuCDQsiBiYWNrZW5kJ9C1INCyIFBIUCDQsiBSRU1P?= =?UTF-8?B?VEVfQUREUiDQuNC80LXRgtGMIGlwINCw0LTRgNC10YEg0LrQu9C40LXQvdGC?= =?UTF-8?B?0LA/?= In-Reply-To: <20120709064431.GH31671@mdounin.ru> References: <4FFA798F.6090407@labutin.net> <20120709064431.GH31671@mdounin.ru> Message-ID: <4FFA87FB.9060105@labutin.net> Доброго времени суток. >> nginx настроен как revers proxy. >> Добавление в конфиг: >> proxy_set_header X-Real-IP $remote_addr; >> дает то, что IP адрес клиента будет в $_SERVER["HTTP_X_REAL_IP"] >> а в $_SERVER["REMOTE_ADDR"] будет всегда один и тот же адрес >> сервера, где стоит nginx. >> Причем на backend'е тоже стоит nginx и PHP работает в режиме fast_cgi. >> >> Вопрос: Можно ли в backend'е в PHP в REMOTE_ADDR иметь ip адрес клиента? > > Да. Конкретно для php можно просто fastcgi_params поправить, но > правильнее на бекенде включить и настроить модуль realip. > > http://nginx.org/ru/docs/http/ngx_http_realip_module.html Спасибо. Модуль - это то, что мне и нужно. Настроил - работает. Дмитрий From nginx-forum на nginx.us Mon Jul 9 10:07:29 2012 From: nginx-forum на nginx.us (erd) Date: Mon, 9 Jul 2012 06:07:29 -0400 (EDT) Subject: =?UTF-8?B?UmU6INCS0LfQsNC40LzQvtC00LXQudGB0YLQstC40LUgaHR0cCBwZXJsIG1vZHVs?= =?UTF-8?B?ZSDQuCBodHRwIHVwbG9hZCBtb2R1bGU=?= In-Reply-To: <1341587198.498625665@f318.mail.ru> References: <1341587198.498625665@f318.mail.ru> Message-ID: <2e1bab7296298979691f9b8652e84769.NginxMailingListRussian@forum.nginx.org> Большое спасибо. Выделение обработчика загрузки в самостоятельный back-end помогло. Bdfy Wrote: ------------------------------------------------------- > прочитайте вот это: > http://forum.nginx.org/read.php?21,216148,216148 > > server { > >     listen 3000; > >     location / { >     default_type text/html; >     perl uploader::handler; >     } > > } > > > > >    location @uploadhandler { >         proxy_pass http://localhost:3000; >     } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228336,228432#msg-228432 From nginx-forum на nginx.us Mon Jul 9 11:11:15 2012 From: nginx-forum на nginx.us (cackle) Date: Mon, 9 Jul 2012 07:11:15 -0400 (EDT) Subject: Nginx localization rewrite In-Reply-To: <1186103710.20120709030802@mtu-net.ru> References: <1186103710.20120709030802@mtu-net.ru> Message-ID: >Я бы сделал намного прямее: сделал сайты en.example.com и ru.example.com. >А с сайта example.com редиректил бы на версию, соответствующую Понятно, но мне все таки хочется решить проблему описанную в топике, то есть два домена example.com, ru.example.com. Если кто-то знает её решение, так как проблема то стандартная, на кучи сайтов именно так и сделано, то буду очень благодарен. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228390,228435#msg-228435 From alex.barut на gmail.com Mon Jul 9 11:34:16 2012 From: alex.barut на gmail.com (Alex Belyansky) Date: Mon, 09 Jul 2012 15:34:16 +0400 Subject: =?UTF-8?B?UkVRVUVTVF9VUkkg0LIg0L/RgNC+0LrRgdC40YDRg9C10LzQvtC8INC30LDQv9GA?= =?UTF-8?B?0L7RgdC1?= Message-ID: <4FFAC1B8.6010700@gmail.com> Добрый день! Хотелось бы поинтересоваться по поводу поведения Nginx, при запросе корневой директории. Конфиг виртуального хоста примерно такой: server { listen 127.0.0.1:80; server_name test.ru ; root /home/test/www/test.ru; index index.php index.html; location ~* \.php { proxy_pass http://upstream; } location / { try_files $uri $uri/ @upstream; error_page 404 = @upstream; error_page 403 = @upstream; } location @upstream { proxy_pass http://upstream; } } Версия Nginx: 1-ый сервер nginx: nginx version: nginx/1.0.0 nginx: built by gcc 4.2.1 20070719 [FreeBSD] nginx: TLS SNI support enabled 2-ой сервер nginx version: nginx/1.3.2 built by gcc 4.4.5 (Debian 4.4.5-8) TLS SNI support enabled Посылаем запрос к серверу: GET / HTTP/1.1 Так вот суть вопроса в чем. Для первого сервера значение в PHP: _SERVER["REQUEST_URI"] = / А для второго: _SERVER["REQUEST_URI"] = /index.php Т.е. по сути получается что на первом сервере пересылается исходный запрос на backend, а на втором уже идет запрос к '/index.php'. На втором сервере пришлось убрать index.php из директивы index, чтобы на backend приходил исходный запрос. Меня интересует нормально ли такое поведение или это какой-то глюк, или мои кривые руки? From dmitry на labutin.net Mon Jul 9 11:42:01 2012 From: dmitry на labutin.net (Dmitry Y. Labutin) Date: Mon, 09 Jul 2012 15:42:01 +0400 Subject: 113: No route to host Message-ID: <4FFAC389.4010504@labutin.net> Доброго времени суток. Получал регулярно в логах 113: No route to host Кажется нашел решение и описал тут: http://dmitrylabutin.livejournal.com/1844.html Может кому-нибудь тоже пригодится. Дмитрий Лабутин From maybe на arjlover.net Mon Jul 9 12:08:26 2012 From: maybe на arjlover.net (Anton Kuznetsov) Date: Mon, 9 Jul 2012 14:08:26 +0200 Subject: =?UTF-8?B?UmU6INCa0LDQttC10YLRgdGPINGPINC+0YLQutGA0YvQuyDQkNC80LXRgNC40Lo=?= =?UTF-8?B?0YMg0LIg0LrRg9C60LDRhS4gOik=?= In-Reply-To: References: <455092905.20120705225130@softsearch.ru> <1145176140.20120707202247@mtu-net.ru> Message-ID: Ерунда какая-то. :( Прописал домен add_header Set-Cookie "tmp_lbl=$arg_lbl; domain=example.com "; заметьте - без точки. По факту в хранилище браузера кука теперь отображается с доменом ".example.com" - с точкой! Только на попытку удаления куки это никак не влияет - она по прежнему не удаляется. :( Все чем она отличается от других - браузер считает что она выставлена "на сессию", т.к. не указано время жизни. Как мне ее выставить на +5 секунд из конфига nginx? P.S. Насколько я вообще могу догадаться о назначении этой точки, просмотрев пару сотен кук, :) с точкой или без точки - подразумевает звездочку на домены нижнего уровня или только на сам домен. 2012/7/7 Sayetsky Anton > 7 июля 2012 г., 19:22 пользователь Andrey Repin > написал: > > педивикию > Вы - рак и луркофаг. Покиньте помещение. > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -- Best regards, Anton Kuznetsov. -------------- next part -------------- An HTML attachment was scrubbed... URL: From hell-for-yahoo на umail.ru Mon Jul 9 12:09:17 2012 From: hell-for-yahoo на umail.ru (Andrey Repin) Date: Mon, 9 Jul 2012 16:09:17 +0400 Subject: Nginx localization rewrite In-Reply-To: References: <1186103710.20120709030802@mtu-net.ru> Message-ID: <64958872.20120709160917@mtu-net.ru> Здравствуйте, Уважаемый(-ая, -ое) cackle! >>Я бы сделал намного прямее: сделал сайты en.example.com и ru.example.com. >> А с сайта example.com редиректил бы на версию, соответствующую c> Понятно, но мне все таки хочется решить -решить +создать c> проблему описанную в топике, то есть c> два домена example.com, ru.example.com. c> Если кто-то знает её решение, так как c> проблема то стандартная, на кучи сайтов c> именно так и сделано, то буду очень c> благодарен. Это не проблема стандартная, это решение, применённое на "куче сайтов", проблематичное. Они используют куки для сохранения языка, выбранного посетителем. Если приходит посетитель, у которого куки отключены - всё... система летит под откос. Туда же она летит, когда вы ошибаетесь с настройкой кук. -- С уважением Andrey Repin (hell-for-yahoo на umail.ru) понедельник, 09.07.2012, <16:06> From hell-for-yahoo на umail.ru Mon Jul 9 12:12:06 2012 From: hell-for-yahoo на umail.ru (Andrey Repin) Date: Mon, 9 Jul 2012 16:12:06 +0400 Subject: =?UTF-8?B?UmU6IFJFUVVFU1RfVVJJINCyINC/0YDQvtC60YHQuNGA0YPQtdC80L7QvCDQt9Cw?= =?UTF-8?B?0L/RgNC+0YHQtQ==?= In-Reply-To: <4FFAC1B8.6010700@gmail.com> References: <4FFAC1B8.6010700@gmail.com> Message-ID: <103924951.20120709161206@mtu-net.ru> Здравствуйте, Уважаемый(-ая, -ое) Alex Belyansky! AB> Хотелось бы поинтересоваться по поводу поведения Nginx, при запросе AB> корневой директории. AB> Конфиг виртуального хоста примерно такой: AB> server { AB> listen 127.0.0.1:80; AB> server_name test.ru ; AB> root /home/test/www/test.ru; AB> index index.php index.html; AB> location ~* \.php { AB> proxy_pass http://upstream; AB> } AB> location / { AB> try_files $uri $uri/ @upstream; AB> error_page 404 = @upstream; AB> error_page 403 = @upstream; AB> } AB> location @upstream { AB> proxy_pass http://upstream; AB> } AB> } AB> Версия Nginx: AB> 1-ый сервер AB> nginx: nginx version: nginx/1.0.0 AB> nginx: built by gcc 4.2.1 20070719 [FreeBSD] AB> nginx: TLS SNI support enabled AB> 2-ой сервер AB> nginx version: nginx/1.3.2 AB> built by gcc 4.4.5 (Debian 4.4.5-8) AB> TLS SNI support enabled AB> Посылаем запрос к серверу: AB> GET / HTTP/1.1 AB> Так вот суть вопроса в чем. Для первого сервера значение в PHP: AB> _SERVER["REQUEST_URI"] = / AB> А для второго: AB> _SERVER["REQUEST_URI"] = /index.php AB> Т.е. по сути получается что на первом сервере пересылается исходный AB> запрос на backend, а на втором уже идет запрос к '/index.php'. На втором AB> сервере пришлось убрать index.php из директивы index, чтобы на backend AB> приходил исходный запрос. AB> Меня интересует нормально ли такое поведение или это какой-то глюк, или AB> мои кривые руки? Второе. У вас конфиг неоднозначный. -- С уважением Andrey Repin (hell-for-yahoo на umail.ru) понедельник, 09.07.2012, <16:11> From ne на vbart.ru Mon Jul 9 12:30:20 2012 From: ne на vbart.ru (=?utf-8?b?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Mon, 9 Jul 2012 16:30:20 +0400 Subject: =?UTF-8?B?UmU6ICDQmtCw0LbQtdGC0YHRjyDRjyDQvtGC0LrRgNGL0Lsg0JDQvNC10YDQuNC6?= =?UTF-8?B?0YMg0LIg0LrRg9C60LDRhS4gOik=?= In-Reply-To: References: Message-ID: <201207091630.21024.ne@vbart.ru> On Monday 09 July 2012 16:08:26 Anton Kuznetsov wrote: > Ерунда какая-то. :( > Прописал домен > > add_header Set-Cookie "tmp_lbl=$arg_lbl; domain=example.com "; > > заметьте - без точки. По факту в хранилище браузера кука теперь > отображается с доменом ".example.com" - с точкой! > Только на попытку удаления куки это никак не влияет - она по прежнему не > удаляется. :( А вы её пытаетесь удалить там же где и ставите? -- Валентин Бартенев From wangsamp на gmail.com Mon Jul 9 12:32:37 2012 From: wangsamp на gmail.com (Oleksandr V. Typlyns'kyi) Date: Mon, 9 Jul 2012 15:32:37 +0300 (EEST) Subject: =?UTF-8?B?UmU6IFJFUVVFU1RfVVJJINCyINC/0YDQvtC60YHQuNGA0YPQtdC80L7QvCDQt9Cw?= =?UTF-8?B?0L/RgNC+0YHQtQ==?= In-Reply-To: <4FFAC1B8.6010700@gmail.com> References: <4FFAC1B8.6010700@gmail.com> Message-ID: Today Jul 9, 2012 at 15:34 Alex Belyansky wrote: > Версия Nginx: > > 1-ый сервер > nginx: nginx version: nginx/1.0.0 > nginx: built by gcc 4.2.1 20070719 [FreeBSD] > nginx: TLS SNI support enabled > > 2-ой сервер > nginx version: nginx/1.3.2 > built by gcc 4.4.5 (Debian 4.4.5-8) > TLS SNI support enabled > Так вот суть вопроса в чем. Для первого сервера значение в PHP: > _SERVER["REQUEST_URI"] = / > > А для второго: > _SERVER["REQUEST_URI"] = /index.php > Меня интересует нормально ли такое поведение или это какой-то глюк, или > мои кривые руки? Изменения в nginx 1.1.12: *) Изменение: после перенаправления запроса с помощью директивы error_page директива proxy_pass без URI теперь использует изменённый URI. Спасибо Lanshun Zhou. *) Исправление: если в директиве proxy_pass использовались переменные и не был указан URI, всегда использовался URI исходного запроса. *) Исправление: после перенаправления запроса с помощью директивы try_files директива proxy_pass без URI могла использовать URI исходного запроса. Спасибо Lanshun Zhou. Варианты что делать: http://mailman.nginx.org/pipermail/nginx/2011-December/031087.html -- WNGS-RIPE From alex.barut на gmail.com Mon Jul 9 13:52:58 2012 From: alex.barut на gmail.com (Alex Belyansky) Date: Mon, 09 Jul 2012 17:52:58 +0400 Subject: =?UTF-8?B?UmU6IFJFUVVFU1RfVVJJINCyINC/0YDQvtC60YHQuNGA0YPQtdC80L7QvCDQt9Cw?= =?UTF-8?B?0L/RgNC+0YHQtQ==?= In-Reply-To: References: <4FFAC1B8.6010700@gmail.com> Message-ID: <4FFAE23A.6060103@gmail.com> On 09.07.2012 16:32, Oleksandr V. Typlyns'kyi wrote: > Today Jul 9, 2012 at 15:34 Alex Belyansky wrote: > > > Изменения в nginx 1.1.12: > > *) Изменение: после перенаправления запроса с помощью директивы > error_page директива proxy_pass без URI теперь использует изменённый > URI. > Спасибо Lanshun Zhou. > > *) Исправление: если в директиве proxy_pass использовались переменные и > не был указан URI, всегда использовался URI исходного запроса. > > *) Исправление: после перенаправления запроса с помощью директивы > try_files директива proxy_pass без URI могла использовать URI > исходного запроса. > Спасибо Lanshun Zhou. > > Варианты что делать: > http://mailman.nginx.org/pipermail/nginx/2011-December/031087.html > Понял. Спасибо! From sergey.kobzar на itcraft.org Mon Jul 9 16:50:58 2012 From: sergey.kobzar на itcraft.org (Sergey Kobzar) Date: Mon, 09 Jul 2012 19:50:58 +0300 Subject: =?UTF-8?B?0J7RgtGA0LjRhtCw0L3QuNC1INCyIHZhbGlkX3JlZmVyZXJz?= Message-ID: <4FFB0BF2.2090209@itcraft.org> Необходимо сделать отрицание строки в valid_referers. Сейчас valid_referers выглядит так: valid_referers none blocked server_names ~(?!domain); Но если реферером выступает домен domain-test.com? то блок if ($invalid_referer) { rewrite ^ /block.php; } Не срабатывает. Что не так? Спасибо. From ne на vbart.ru Mon Jul 9 17:43:09 2012 From: ne на vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Mon, 9 Jul 2012 21:43:09 +0400 Subject: =?UTF-8?B?UmU6INCe0YLRgNC40YbQsNC90LjQtSDQsiB2YWxpZF9yZWZlcmVycw==?= In-Reply-To: <4FFB0BF2.2090209@itcraft.org> References: <4FFB0BF2.2090209@itcraft.org> Message-ID: <201207092143.09146.ne@vbart.ru> On Monday 09 July 2012 20:50:58 Sergey Kobzar wrote: > Необходимо сделать отрицание строки в valid_referers. Сейчас > valid_referers выглядит так: > > valid_referers none blocked server_names ~(?!domain); > > > Но если реферером выступает домен domain-test.com? то блок > > if ($invalid_referer) { > rewrite ^ /block.php; > } > > Не срабатывает. > > Что не так? > domain-test.com присутствует в server_names или совпадает с одним из регулярных выражений? -- Валентин Бартенев From sergey.kobzar на itcraft.org Mon Jul 9 18:01:42 2012 From: sergey.kobzar на itcraft.org (Sergey Kobzar) Date: Mon, 09 Jul 2012 21:01:42 +0300 Subject: =?UTF-8?B?UmU6INCe0YLRgNC40YbQsNC90LjQtSDQsiB2YWxpZF9yZWZlcmVycw==?= In-Reply-To: <201207092143.09146.ne@vbart.ru> References: <4FFB0BF2.2090209@itcraft.org> <201207092143.09146.ne@vbart.ru> Message-ID: <4FFB1C86.50309@itcraft.org> On 07/09/12 20:43, Валентин Бартенев wrote: > On Monday 09 July 2012 20:50:58 Sergey Kobzar wrote: >> Необходимо сделать отрицание строки в valid_referers. Сейчас >> valid_referers выглядит так: >> >> valid_referers none blocked server_names ~(?!domain); >> >> >> Но если реферером выступает домен domain-test.com? то блок >> >> if ($invalid_referer) { >> rewrite ^ /block.php; >> } >> >> Не срабатывает. >> >> Что не так? >> > > domain-test.com присутствует в server_names или совпадает с одним из > регулярных выражений? Я неполно описал задание: Есть домен domain.com. Необходимо закрыть доступ, где реферером является domain.tld или domain.tld (tld может быть отличным от исходного). В server_names присутствует *.domain.com Т.е. изначально я предполагал регекспом выделить запросы, где не встречается domain в имени сервера... Надо бы его переписать, а то получается я полностью строку Referer проверяю, а не только server name.... > > -- > Валентин Бартенев > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From ne на vbart.ru Mon Jul 9 18:45:03 2012 From: ne на vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Mon, 9 Jul 2012 22:45:03 +0400 Subject: =?UTF-8?B?UmU6INCe0YLRgNC40YbQsNC90LjQtSDQsiB2YWxpZF9yZWZlcmVycw==?= In-Reply-To: <4FFB1C86.50309@itcraft.org> References: <4FFB0BF2.2090209@itcraft.org> <201207092143.09146.ne@vbart.ru> <4FFB1C86.50309@itcraft.org> Message-ID: <201207092245.03133.ne@vbart.ru> On Monday 09 July 2012 22:01:42 Sergey Kobzar wrote: > On 07/09/12 20:43, Валентин Бартенев wrote: > > On Monday 09 July 2012 20:50:58 Sergey Kobzar wrote: > >> Необходимо сделать отрицание строки в valid_referers. Сейчас > >> valid_referers выглядит так: > >> > >> valid_referers none blocked server_names ~(?!domain); > >> > >> > >> Но если реферером выступает домен domain-test.com? то блок > >> > >> if ($invalid_referer) { > >> > >> rewrite ^ /block.php; > >> > >> } > >> > >> Не срабатывает. > >> > >> Что не так? > > > > domain-test.com присутствует в server_names или совпадает с одним из > > регулярных выражений? > > Я неполно описал задание: > > Есть домен domain.com. Необходимо закрыть доступ, где реферером является > domain.tld или domain.tld (tld может быть отличным > от исходного). В server_names присутствует *.domain.com > > Т.е. изначально я предполагал регекспом выделить запросы, где не > встречается domain в имени сервера... > > Надо бы его переписать, а то получается я полностью строку Referer > проверяю, а не только server name.... > У вас вообще она не правильная. Должно быть как-то так: ^((?!domain)[^/])*/ -- Валентин Бартенев From sergey.kobzar на itcraft.org Mon Jul 9 21:13:13 2012 From: sergey.kobzar на itcraft.org (Sergey Kobzar) Date: Tue, 10 Jul 2012 00:13:13 +0300 Subject: =?UTF-8?B?UmU6INCe0YLRgNC40YbQsNC90LjQtSDQsiB2YWxpZF9yZWZlcmVycw==?= In-Reply-To: <201207092245.03133.ne@vbart.ru> References: <4FFB0BF2.2090209@itcraft.org> <201207092143.09146.ne@vbart.ru> <4FFB1C86.50309@itcraft.org> <201207092245.03133.ne@vbart.ru> Message-ID: <4FFB4969.90600@itcraft.org> Валентин On 07/09/12 21:45, Валентин Бартенев wrote: >> Я неполно описал задание: >> >> Есть домен domain.com. Необходимо закрыть доступ, где реферером является >> domain.tld илиdomain.tld (tld может быть отличным >> от исходного). В server_names присутствует *.domain.com >> >> Т.е. изначально я предполагал регекспом выделить запросы, где не >> встречается domain в имени сервера... >> >> Надо бы его переписать, а то получается я полностью строку Referer >> проверяю, а не только server name.... >> > > У вас вообще она не правильная. Должно быть как-то так: ^((?!domain)[^/])*/ Да - Вы правы. Спасибо. > -- > Валентин Бартенев > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From mail на knutov.com Mon Jul 9 21:21:08 2012 From: mail на knutov.com (Nick Knutov) Date: Tue, 10 Jul 2012 03:21:08 +0600 Subject: =?UTF-8?B?bmdpbngg0LLQviDQstGA0LXQvNGPINC00LTQvtGB0LA=?= Message-ID: <4FFB4B44.70404@knutov.com> Приветствую всех, наблюдая за небольшим ддосом возникло три желания: 1) хочется сделать limit_req_zone, но не по $binary_remote_addr, а, скажем, только по первым двум байтам (т.е. маска /16). Как это сделать по-простому? 2) где-нибудь есть готовые примеры конфигов и геобаз ип, чтобы на уровне нгинх непринимать коннекты из определенных стран? На сколько я вижу в логах - глобальный бан южной америки избавил бы более, чем от 80% ботов. 3) почему-то от ботов приходят совершенно странные заголовки, например referrer: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" Есть ли какой-то инструмент, позволяющий фильтровать явно бредовые запросы и сразу закрывать их tcp соединения? -- Best Regards, Nick Knutov http://knutov.com ICQ: 272873706 Voice: +7-904-84-23-130 From ne на vbart.ru Mon Jul 9 21:32:36 2012 From: ne на vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Tue, 10 Jul 2012 01:32:36 +0400 Subject: =?UTF-8?B?UmU6IG5naW54INCy0L4g0LLRgNC10LzRjyDQtNC00L7RgdCw?= In-Reply-To: <4FFB4B44.70404@knutov.com> References: <4FFB4B44.70404@knutov.com> Message-ID: <201207100132.36725.ne@vbart.ru> On Tuesday 10 July 2012 01:21:08 Nick Knutov wrote: > Приветствую всех, > > наблюдая за небольшим ддосом возникло три желания: > > 1) хочется сделать limit_req_zone, но не по $binary_remote_addr, а, > скажем, только по первым двум байтам (т.е. маска /16). Как это сделать > по-простому? > Как-то так: map $binary_remote_addr $remote_addr_2bytes { ~^(?\C{2}) $b; } [...] > 3) почему-то от ботов приходят совершенно странные заголовки, например > referrer: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" > > Есть ли какой-то инструмент, позволяющий фильтровать явно бредовые > запросы и сразу закрывать их tcp соединения? http://nginx.org/r/if/ru http://nginx.org/r/return/ru http://nginx.org/r/valid_referers/ru http://code.google.com/p/naxsi/ -- Валентин Бартенев From nginx-forum на nginx.us Tue Jul 10 02:23:35 2012 From: nginx-forum на nginx.us (PbIXTOP) Date: Mon, 9 Jul 2012 22:23:35 -0400 (EDT) Subject: =?UTF-8?B?0KHQsdGA0L7RgSDQutC10YjQsA==?= Message-ID: <22282b14490b04f1d2b34bae95892c39.NginxMailingListRussian@forum.nginx.org> Используем nginx для отдачи информации баланса пользователю, соответсвенно эти данные можно долго кешировать. Но возник вопрос, чтобы при пополнении баланса он оперативно менялся при отдаче клиенту, но жизнь кеша достаточно большая и равна 8 часам. Так вот стоит задача, чтобы сбрасывать кеш по определенному ключу, причем ключом является адрес клиента. Вот так настроен nginx сейчас fastcgi_cache_path /tmp/nginx/cache levels=1:2 keys_zone=balance:10m; location = /balans/index.php { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/local/www/apache22/data$fastcgi_script_name; include fastcgi_params; fastcgi_cache balance; fastcgi_cache_key "$remote_addr"; fastcgi_cache_valid 8h; allow 10.0.0.0/8; deny all; } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228456,228456#msg-228456 From mail на knutov.com Tue Jul 10 09:20:08 2012 From: mail на knutov.com (Nick Knutov) Date: Tue, 10 Jul 2012 15:20:08 +0600 Subject: =?UTF-8?B?0JjQt9C80LXQvdC40YLRjCDQutC+0LQg0L7RiNC40LHQutC4INC90LAgZGVueSBh?= =?UTF-8?B?bGw=?= Message-ID: <4FFBF3C8.5080306@knutov.com> На уровене http есть блок allow ip/mask, после чего deny all; Это временное решение под ддосом, но при этом хочется, чтобы по факту deny all отдавался не error 403, а 503, чтобы страницы не выпали из яндекса. Как это можно сделать? Очевидное error_page 403 =503 /error403.html; # на уровне http почему-то не помогает: wget -S -O - http://***.***/ --15:12:27-- http://***.***/ => `-' Resolving ***.***... 88.198.19.82 Connecting to ***.***|88.198.19.82|:80... connected. HTTP request sent, awaiting response... HTTP/1.1 403 Forbidden Server: nginx/1.2.0 Date: Tue, 10 Jul 2012 09:12:27 GMT Content-Type: text/html Content-Length: 168 Connection: keep-alive Keep-Alive: timeout=20 15:12:27 ERROR 403: Forbidden. Заодним, кстати, хорошо было бы и Keep-Alive отключить для 503 и вообще сразу закрывать соединение, но смотрю в документацию и не вижу как. -- Best Regards, Nick Knutov http://knutov.com ICQ: 272873706 Voice: +7-904-84-23-130 From sergey.kobzar на itcraft.org Tue Jul 10 09:32:22 2012 From: sergey.kobzar на itcraft.org (Sergey Kobzar) Date: Tue, 10 Jul 2012 12:32:22 +0300 Subject: =?UTF-8?B?UmU6INCY0LfQvNC10L3QuNGC0Ywg0LrQvtC0INC+0YjQuNCx0LrQuCDQvdCwIGRl?= =?UTF-8?B?bnkgYWxs?= In-Reply-To: <4FFBF3C8.5080306@knutov.com> References: <4FFBF3C8.5080306@knutov.com> Message-ID: <4FFBF6A6.3010509@itcraft.org> On 07/10/12 12:20, Nick Knutov wrote: > На уровене http есть блок allow ip/mask, после чего deny all; > Это временное решение под ддосом, но при этом хочется, чтобы по факту > deny all отдавался не error 403, а 503, чтобы страницы не выпали из > яндекса. Как это можно сделать? > > Очевидное > error_page 403 =503 /error403.html; # на уровне http > почему-то не помогает: > > wget -S -O - http://***.***/ > --15:12:27-- http://***.***/ > => `-' > Resolving ***.***... 88.198.19.82 > Connecting to ***.***|88.198.19.82|:80... connected. > HTTP request sent, awaiting response... > HTTP/1.1 403 Forbidden > Server: nginx/1.2.0 > Date: Tue, 10 Jul 2012 09:12:27 GMT > Content-Type: text/html > Content-Length: 168 > Connection: keep-alive > Keep-Alive: timeout=20 > 15:12:27 ERROR 403: Forbidden. location /error403.html { allow all; } > > Заодним, кстати, хорошо было бы и Keep-Alive отключить для 503 и вообще > сразу закрывать соединение, но смотрю в документацию и не вижу как. > From mail на knutov.com Tue Jul 10 10:03:00 2012 From: mail на knutov.com (Nick Knutov) Date: Tue, 10 Jul 2012 16:03:00 +0600 Subject: =?UTF-8?B?UmU6INCY0LfQvNC10L3QuNGC0Ywg0LrQvtC0INC+0YjQuNCx0LrQuCDQvdCwIGRl?= =?UTF-8?B?bnkgYWxs?= In-Reply-To: <4FFBF6A6.3010509@itcraft.org> References: <4FFBF3C8.5080306@knutov.com> <4FFBF6A6.3010509@itcraft.org> Message-ID: <4FFBFDD4.4080106@knutov.com> + return 503 в этот локейшн, иначе отдается 404. Отсюда вопрос, почему в error_page 403 =503 =503 не работает? Или работает, но не так, как я ожидаю, прочитав документацию? 10.07.2012 15:32, Sergey Kobzar пишет: > On 07/10/12 12:20, Nick Knutov wrote: >> На уровене http есть блок allow ip/mask, после чего deny all; >> Это временное решение под ддосом, но при этом хочется, чтобы по факту >> deny all отдавался не error 403, а 503, чтобы страницы не выпали из >> яндекса. Как это можно сделать? >> >> Очевидное >> error_page 403 =503 /error403.html; # на уровне http >> почему-то не помогает: >> >> wget -S -O - http://***.***/ >> --15:12:27-- http://***.***/ >> => `-' >> Resolving ***.***... 88.198.19.82 >> Connecting to ***.***|88.198.19.82|:80... connected. >> HTTP request sent, awaiting response... >> HTTP/1.1 403 Forbidden >> Server: nginx/1.2.0 >> Date: Tue, 10 Jul 2012 09:12:27 GMT >> Content-Type: text/html >> Content-Length: 168 >> Connection: keep-alive >> Keep-Alive: timeout=20 >> 15:12:27 ERROR 403: Forbidden. > > location /error403.html { > allow all; > } > >> >> Заодним, кстати, хорошо было бы и Keep-Alive отключить для 503 и вообще >> сразу закрывать соединение, но смотрю в документацию и не вижу как. >> > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Best Regards, Nick Knutov http://knutov.com ICQ: 272873706 Voice: +7-904-84-23-130 From ru на nginx.com Tue Jul 10 10:19:18 2012 From: ru на nginx.com (Ruslan Ermilov) Date: Tue, 10 Jul 2012 14:19:18 +0400 Subject: =?UTF-8?B?UmU6INCY0LfQvNC10L3QuNGC0Ywg0LrQvtC0INC+0YjQuNCx0LrQuCDQvdCwIGRl?= =?UTF-8?B?bnkgYWxs?= In-Reply-To: <4FFBF3C8.5080306@knutov.com> References: <4FFBF3C8.5080306@knutov.com> Message-ID: <20120710100347.GE17928@lo0.su> On Tue, Jul 10, 2012 at 03:20:08PM +0600, Nick Knutov wrote: > На уровене http есть блок allow ip/mask, после чего deny all; > Это временное решение под ддосом, но при этом хочется, чтобы по факту > deny all отдавался не error 403, а 503, чтобы страницы не выпали из > яндекса. Как это можно сделать? > > Очевидное > error_page 403 =503 /error403.html; # на уровне http > почему-то не помогает: Видимо для /error403.html действует то же самое deny all, в результате статус ответа не может быть изменён на 503. Нужно для /error403.html либо разрешить доступ, либо воспользоваться вариантом error_page c `=' (см. ниже). > wget -S -O - http://***.***/ > --15:12:27-- http://***.***/ > => `-' > Resolving ***.***... 88.198.19.82 > Connecting to ***.***|88.198.19.82|:80... connected. > HTTP request sent, awaiting response... > HTTP/1.1 403 Forbidden > Server: nginx/1.2.0 > Date: Tue, 10 Jul 2012 09:12:27 GMT > Content-Type: text/html > Content-Length: 168 > Connection: keep-alive > Keep-Alive: timeout=20 > 15:12:27 ERROR 403: Forbidden. > > Заодним, кстати, хорошо было бы и Keep-Alive отключить для 503 и вообще > сразу закрывать соединение, но смотрю в документацию и не вижу как. keepalive отключается теми же директивами, что и включается: http://nginx.org/r/keepalive_disable/ru http://nginx.org/r/keepalive_requests/ru http://nginx.org/r/keepalive_timeout/ru http { server { keepalive_timeout 75 75; allow 127.0.0.1; deny all; error_page 403 = @403; location @403 { keepalive_timeout 0; return 503; } } } From mail на knutov.com Tue Jul 10 10:31:44 2012 From: mail на knutov.com (Nick Knutov) Date: Tue, 10 Jul 2012 16:31:44 +0600 Subject: =?UTF-8?B?UmU6INCY0LfQvNC10L3QuNGC0Ywg0LrQvtC0INC+0YjQuNCx0LrQuCDQvdCwIGRl?= =?UTF-8?B?bnkgYWxs?= In-Reply-To: <20120710100347.GE17928@lo0.su> References: <4FFBF3C8.5080306@knutov.com> <20120710100347.GE17928@lo0.su> Message-ID: <4FFC0490.3080806@knutov.com> Спасибо, понял, поправил, помогло ) 10.07.2012 16:19, Ruslan Ermilov пишет: > On Tue, Jul 10, 2012 at 03:20:08PM +0600, Nick Knutov wrote: >> На уровене http есть блок allow ip/mask, после чего deny all; >> Это временное решение под ддосом, но при этом хочется, чтобы по факту >> deny all отдавался не error 403, а 503, чтобы страницы не выпали из >> яндекса. Как это можно сделать? >> >> Очевидное >> error_page 403 =503 /error403.html; # на уровне http >> почему-то не помогает: > > Видимо для /error403.html действует то же самое deny all, в результате > статус ответа не может быть изменён на 503. Нужно для /error403.html > либо разрешить доступ, либо воспользоваться вариантом error_page c `=' > (см. ниже). > >> wget -S -O - http://***.***/ >> --15:12:27-- http://***.***/ >> => `-' >> Resolving ***.***... 88.198.19.82 >> Connecting to ***.***|88.198.19.82|:80... connected. >> HTTP request sent, awaiting response... >> HTTP/1.1 403 Forbidden >> Server: nginx/1.2.0 >> Date: Tue, 10 Jul 2012 09:12:27 GMT >> Content-Type: text/html >> Content-Length: 168 >> Connection: keep-alive >> Keep-Alive: timeout=20 >> 15:12:27 ERROR 403: Forbidden. >> >> Заодним, кстати, хорошо было бы и Keep-Alive отключить для 503 и вообще >> сразу закрывать соединение, но смотрю в документацию и не вижу как. > > keepalive отключается теми же директивами, что и включается: > http://nginx.org/r/keepalive_disable/ru > http://nginx.org/r/keepalive_requests/ru > http://nginx.org/r/keepalive_timeout/ru > > http { > server { > keepalive_timeout 75 75; > > allow 127.0.0.1; > deny all; > error_page 403 = @403; > > location @403 { > keepalive_timeout 0; > return 503; > } > } > } > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -- Best Regards, Nick Knutov http://knutov.com ICQ: 272873706 Voice: +7-904-84-23-130 From mdounin на mdounin.ru Tue Jul 10 12:37:07 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 10 Jul 2012 16:37:07 +0400 Subject: nginx-1.3.3 Message-ID: <20120710123707.GW31671@mdounin.ru> Изменения в nginx 1.3.3 10.07.2012 *) Добавление: поддержка entity tags и директива etag. *) Исправление: при использовании директивы map с параметром hostnames не игнорировалась конечная точка в исходном значении. *) Исправление: для обработки запроса мог использоваться неверный location, если переход в именованный location происходил после изменения URI с помощью директивы rewrite. Maxim Dounin From constantine.malov на gmail.com Tue Jul 10 14:43:36 2012 From: constantine.malov на gmail.com (=?KOI8-R?B?68/O09TBztTJziDtwczP1w==?=) Date: Tue, 10 Jul 2012 18:43:36 +0400 Subject: =?UTF-8?B?UmU6INCh0LHRgNC+0YEg0LrQtdGI0LA=?= In-Reply-To: <22282b14490b04f1d2b34bae95892c39.NginxMailingListRussian@forum.nginx.org> References: <22282b14490b04f1d2b34bae95892c39.NginxMailingListRussian@forum.nginx.org> Message-ID: Есть вот такой модуль, http://labs.frickle.com/nginx_ngx_cache_purge/ 10 июля 2012 г., 6:23 пользователь PbIXTOP написал: > Используем nginx для отдачи информации > баланса пользователю, соответсвенно > эти данные можно долго кешировать. > Но возник вопрос, чтобы при пополнении > баланса он оперативно менялся при > отдаче клиенту, но жизнь кеша > достаточно большая и равна 8 часам. > Так вот стоит задача, чтобы сбрасывать > кеш по определенному ключу, причем > ключом является адрес клиента. > > Вот так настроен nginx сейчас > > fastcgi_cache_path /tmp/nginx/cache levels=1:2 > keys_zone=balance:10m; > > location = /balans/index.php { > fastcgi_pass 127.0.0.1:9000; > fastcgi_index index.php; > fastcgi_param SCRIPT_FILENAME > /usr/local/www/apache22/data$fastcgi_script_name; > include fastcgi_params; > fastcgi_cache balance; > fastcgi_cache_key "$remote_addr"; > fastcgi_cache_valid 8h; > allow 10.0.0.0/8; > deny all; > } > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,228456,228456#msg-228456 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Малов Константин e-mail: constantine.malov на gmail.com моб.: +7 919 966 222 0 -------------- next part -------------- An HTML attachment was scrubbed... URL: From hell-for-yahoo на umail.ru Wed Jul 11 00:06:23 2012 From: hell-for-yahoo на umail.ru (Andrey Repin) Date: Wed, 11 Jul 2012 04:06:23 +0400 Subject: 113: No route to host In-Reply-To: <4FFAC389.4010504@labutin.net> References: <4FFAC389.4010504@labutin.net> Message-ID: <15010252216.20120711040623@mtu-net.ru> Здравствуйте, Уважаемый(-ая, -ое) Dmitry Y. Labutin! DYL> Получал регулярно в логах 113: No route to host DYL> Кажется нашел решение и описал тут: DYL> http://dmitrylabutin.livejournal.com/1844.html DYL> Может кому-нибудь тоже пригодится. Что-то вообще неправильно. Оставим в стороне, что креативная нарезка из iptables никакой информации не несёт - предположим, что вы привели все относящиеся к делу правила полность. -A RH-Firewall-1-INPUT -m tcp -p tcp --dport 80 -j ACCEPT -A RH-Firewall-1-INPUT -m tcp -p tcp -s a.a.a.a --dport 80 -j REJECT --reject-with tcp-reset вот эта сексуальная позиция не несёт никакого смысла, убедиться легко, посмотрев на iptables -vL после пары часов работы системы - во втором правиле не будет ни единого пакета. Попробуйте сделать так: -A RH-Firewall-1-INPUT -m state --state INVALID -j DROP -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A RH-Firewall-1-INPUT -s a.a.a.a -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT -A RH-Firewall-1-INPUT -s a.a.a.a -j LOG -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited и смотрите, что именно в лог валится. -- С уважением Andrey Repin (hell-for-yahoo на umail.ru) среда, 11.07.2012, <04:01> From dmitry на labutin.net Wed Jul 11 05:31:07 2012 From: dmitry на labutin.net (Dmitry Y. Labutin) Date: Wed, 11 Jul 2012 09:31:07 +0400 Subject: 113: No route to host In-Reply-To: <15010252216.20120711040623@mtu-net.ru> References: <4FFAC389.4010504@labutin.net> <15010252216.20120711040623@mtu-net.ru> Message-ID: <4FFD0F9B.9080805@labutin.net> Доброго времени суток. > -A RH-Firewall-1-INPUT -m tcp -p tcp --dport 80 -j ACCEPT > -A RH-Firewall-1-INPUT -m tcp -p tcp -s a.a.a.a --dport 80 -j REJECT --reject-with tcp-reset > > вот эта сексуальная позиция не несёт никакого смысла, убедиться легко, > посмотрев на iptables -vL после пары часов работы системы - во втором правиле > не будет ни единого пакета. Может быть я не совсем точно выразил то, что хотел сказать. Да, в указанном случае действительно во второе правило уже ничего не приходит. Я его поставил для подстраховки. А вот если оставить так: -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT то iptables -vL ПОКАЗЫВАЕТ пакеты, которые попадают во второе правило :(( Как это происходит? Я не знаю. И это не только у меня так. > -A RH-Firewall-1-INPUT -m state --state INVALID -j DROP На другом форуме тоже высказали, что это могут быть INVALID пакеты. Но мне помогло именно: -A RH-Firewall-1-INPUT -m tcp -p tcp --dport 80 -j ACCEPT Сегодня попробую поставить правило с INVALID пакетами и посмотрю, как nginx на fronend будет реагировать, когда они будут дропаться. Дмитрий Лабутин From bdfy на mail.ru Wed Jul 11 10:40:24 2012 From: bdfy на mail.ru (=?UTF-8?B?SXZhbg==?=) Date: Wed, 11 Jul 2012 14:40:24 +0400 Subject: =?UTF-8?B?0LLQu9C+0LbQtdC90L3Ri9C5IGxvY2F0aW9u?= In-Reply-To: References: <22282b14490b04f1d2b34bae95892c39.NginxMailingListRussian@forum.nginx.org> Message-ID: <1342003224.392127993@f55.mail.ru> Предположим у меня есть location ( это нестандартный модуль для записи в БД redis ):    location /fp {         default_type  text/html;         redis2_query lpush log '$request_uri';         redis2_query ltrim log 0 500000;   . ....     } Мне нужно ПОСЛЕ записи строчки перенаправить запрос в другой location ( с другим возвращаемым содержимым ). Как это сделать ? ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From hell-for-yahoo на umail.ru Wed Jul 11 10:38:19 2012 From: hell-for-yahoo на umail.ru (Andrey Repin) Date: Wed, 11 Jul 2012 14:38:19 +0400 Subject: 113: No route to host In-Reply-To: <4FFD0F9B.9080805@labutin.net> References: <4FFAC389.4010504@labutin.net> <15010252216.20120711040623@mtu-net.ru> <4FFD0F9B.9080805@labutin.net> Message-ID: <1045708371.20120711143819@mtu-net.ru> Здравствуйте, Уважаемый(-ая, -ое) Dmitry Y. Labutin! >> -A RH-Firewall-1-INPUT -m tcp -p tcp --dport 80 -j ACCEPT >> -A RH-Firewall-1-INPUT -m tcp -p tcp -s a.a.a.a --dport 80 -j REJECT --reject-with tcp-reset >> >> вот эта сексуальная позиция не несёт никакого смысла, убедиться легко, >> посмотрев на iptables -vL после пары часов работы системы - во втором правиле >> не будет ни единого пакета. DYL> Может быть я не совсем точно выразил то, что хотел сказать. DYL> Да, в указанном случае действительно во второе правило уже ничего не DYL> приходит. Я его поставил для подстраховки. DYL> А вот если оставить так: DYL> -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j DYL> ACCEPT DYL> то iptables -vL ПОКАЗЫВАЕТ пакеты, которые попадают во второе правило :(( DYL> Как это происходит? Я не знаю. И это не только у меня так. >> -A RH-Firewall-1-INPUT -m state --state INVALID -j DROP DYL> На другом форуме тоже высказали, что это могут быть INVALID пакеты. DYL> Но мне помогло именно: DYL> -A RH-Firewall-1-INPUT -m tcp -p tcp --dport 80 -j ACCEPT DYL> Сегодня попробую поставить правило с INVALID пакетами и посмотрю, как DYL> nginx на fronend будет реагировать, когда они будут дропаться. Тут не столько "как реагирует фронт", сколько "что вообще за пакеты валятся в лог". В вашей статье этого не было. Просто для разминки могу предположить, что это подтверхдения закрытия сокета. (ACK,FIN) - как-то так. -- С уважением Andrey Repin (hell-for-yahoo на umail.ru) среда, 11.07.2012, <14:36> From dmitry на labutin.net Wed Jul 11 11:00:47 2012 From: dmitry на labutin.net (Dmitry Y. Labutin) Date: Wed, 11 Jul 2012 15:00:47 +0400 Subject: 113: No route to host In-Reply-To: <1045708371.20120711143819@mtu-net.ru> References: <4FFAC389.4010504@labutin.net> <15010252216.20120711040623@mtu-net.ru> <4FFD0F9B.9080805@labutin.net> <1045708371.20120711143819@mtu-net.ru> Message-ID: <4FFD5CDF.7080903@labutin.net> Доброго времени суток. > Тут не столько "как реагирует фронт", сколько "что вообще за пакеты валятся в > лог". > В вашей статье этого не было. > Просто для разминки могу предположить, что это подтверхдения закрытия сокета. > (ACK,FIN) - как-то так. Было и есть пример пакета. Вот так написано: в логах просачиваются пакеты Jul 9 12:55:20 hp-php kernel: IN=eth0 OUT= MAC=00:26:55:86:aa:9c:00:1a:2f:32:53:20:08:00 SRC=a.a.a.a DST=b.b.b.b LEN=60 TOS=0x04 PREC=0x00 TTL=54 ID=49992 DF PROTO=TCP SPT=52271 DPT=80 WINDOW=14600 RES=0x00 SYN URGP=0 Дмитрий From cat_crash на tut.by Wed Jul 11 14:23:25 2012 From: cat_crash на tut.by (Valery N.) Date: Wed, 11 Jul 2012 17:23:25 +0300 Subject: Tricky configuration rewrite rules (Symfony+FastCGI+Cache) Message-ID: Доброго дня, любители NGINX обращаюсь к Вам со своей проблема т.к. Вы -моя последняя надежда. У меня есть production сервер, с установленным NGINX. В последнее время нагрузка возросла и было принято решение использовать кеш. И вроде все отлично, за исключением одного нюанса, который портит малину: Есть пользовательские аккаунты (URL начинаются с /account/ ) которые хотелось бы чтоб отдавались минуя кеш, иначе при внесение изменений данные обновляются в течение времени жизни кеша (2 минуты) - что не правильно. По совету добрых людей с хабра я пробовал дополнять конфигурацию новыми правилами типа: location ^~ /accounts/ { ... try_files $uri /index.php?$args; } но такой подход не подходит т.к. запрос передается на обработку другому правилу (для *.php где стоит правила кеширования) и соответственно кеш не отключается. Так же пробовал убрать try_files $uri /index.php?$args; но тогда NGINX выдает No input file specified Будьте добры, помогите разобраться в ситуации. Мой конфиг залит на pastebin: http://pastebin.com/GurMXw1b From citrin на citrin.ru Wed Jul 11 14:36:07 2012 From: citrin на citrin.ru (Anton Yuzhaninov) Date: Wed, 11 Jul 2012 18:36:07 +0400 Subject: Tricky configuration rewrite rules (Symfony+FastCGI+Cache) In-Reply-To: References: Message-ID: <4FFD8F57.3010801@citrin.ru> On 07/11/12 18:23, Valery N. wrote: > Будьте добры, помогите разобраться в ситуации. Мой конфиг залит на > pastebin:http://pastebin.com/GurMXw1b Совет не по теме вопроса. Вместо конструкции вида: if ($host = 'gomel.map.by' ) { rewrite ^/(.*)$ http://map.by/%D0%93%D0%BE%D0%BC%D0%B5%D0%BB%D1%8C$1 permanent; } лучше написать отдельный блок server {} server { server_name gomel.map.by; location ^/(.*)$ { return 301 "http://map.by/%D0%93%D0%BE%D0%BC%D0%B5%D0%BB%D1%8C$1"; } } -- Anton Yuzhaninov From gmm на csdoc.com Wed Jul 11 16:44:47 2012 From: gmm на csdoc.com (Gena Makhomed) Date: Wed, 11 Jul 2012 19:44:47 +0300 Subject: Tricky configuration rewrite rules (Symfony+FastCGI+Cache) In-Reply-To: References: Message-ID: <4FFDAD7F.1020105@csdoc.com> On 11.07.2012 17:23, Valery N. wrote: > location ^~ /accounts/ { > ... > try_files $uri /index.php?$args; > } > но такой подход не подходит т.к. запрос передается на обработку > другому правилу (для *.php где стоит правила кеширования) и > соответственно кеш не отключается. Так же пробовал убрать try_files > $uri /index.php?$args; но тогда NGINX выдает No input file specified http://nginx.org/ru/docs/http/ngx_http_core_module.html#location идея такая: location /accounts/ { location ~ \.php$ { # тут fastcgi_pass без fastcgi_cache для отдачи динамики } } общие директивы gzip и gzip_* можно вынести на уровень server, или даже вообще на уровень http, чтобы их не приходилось дублировать по несколько раз в конфиге. если убрать rewrite ^/news/(.*)\.htm$ из location / в location /news/ - тогда регулярное выражение в rewrite будет проверяться не для всех location`ов, а только для тех, которые начинаются с /news/ если на уровне server не будет location`ов с регулярными выражениями, не спрятанных внутри "обычных" location`ов - тогда не надо будет почти перед каждым location`ом писать location ^~ для запрета обработки location`ов с регулярными выражениями. если блок директив fastcgi_pass часто повторяется - его можно вынести в отдельный файл и подключать через include -- Best regards, Gena From cat_crash на tut.by Wed Jul 11 20:21:30 2012 From: cat_crash на tut.by (Valery N.) Date: Wed, 11 Jul 2012 23:21:30 +0300 Subject: Tricky configuration rewrite rules (Symfony+FastCGI+Cache) In-Reply-To: <4FFDAD7F.1020105@csdoc.com> References: <4FFDAD7F.1020105@csdoc.com> Message-ID: Gena, приветствую Вас спасибо большое за совет. Попробовал как вы посоветвали. К сожалению при указании try_files $uri /index.php?$args; опять же все уходит правилу location ~ \.php$ { КЕШ } который НЕ внутри location /accounts/ { }. Такое ощущение что location внутри другого locationа имеет меньший приоритет или игнорируется Друзья, возможно еще будут идеи ? 11 июля 2012 г., 19:44 пользователь Gena Makhomed написал: > On 11.07.2012 17:23, Valery N. wrote: > >> location ^~ /accounts/ { >> ... >> try_files $uri /index.php?$args; >> } >> но такой подход не подходит т.к. запрос передается на обработку >> другому правилу (для *.php где стоит правила кеширования) и >> соответственно кеш не отключается. Так же пробовал убрать try_files >> $uri /index.php?$args; но тогда NGINX выдает No input file specified > > > http://nginx.org/ru/docs/http/ngx_http_core_module.html#location > > идея такая: > > location /accounts/ { > location ~ \.php$ { > # тут fastcgi_pass без fastcgi_cache для отдачи динамики > } > } > > общие директивы gzip и gzip_* можно вынести на уровень server, > или даже вообще на уровень http, чтобы их не приходилось > дублировать по несколько раз в конфиге. > > если убрать rewrite ^/news/(.*)\.htm$ > из location / в location /news/ - тогда > регулярное выражение в rewrite будет проверяться > не для всех location`ов, а только для тех, которые начинаются с /news/ > > если на уровне server не будет location`ов с регулярными > выражениями, не спрятанных внутри "обычных" location`ов - > тогда не надо будет почти перед каждым location`ом > писать location ^~ для запрета обработки location`ов > с регулярными выражениями. > > если блок директив fastcgi_pass часто повторяется - > его можно вынести в отдельный файл и подключать через include > > -- > Best regards, > Gena > > > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From nginx-forum на nginx.us Thu Jul 12 06:13:50 2012 From: nginx-forum на nginx.us (sintcar666) Date: Thu, 12 Jul 2012 02:13:50 -0400 (EDT) Subject: =?UTF-8?B?0J/RgNC+0LHQu9C10LzQsCDRgSDQvdCw0YHRgtGA0L7QudC60L7QuQ==?= Message-ID: <245687992ae53cada40182b416d5e88e.NginxMailingListRussian@forum.nginx.org> После настройки nginx возникла проблема.nginx стоит на машине которая разруливает нет в сети с помощью kerio в сети 2 машины на которых находятся разные сайты соответственно nginx использовал для переадресации по имени на нужный IP в сети но один из сайтов который стоит на денвере грузиться не корректно (просто текст сайта).в чем проблема подскажите. #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 1024; } 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 65; gzip on; server { listen 80; server_name 123.ksb-42.ru; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://192.168.0.113:80/; } #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; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } # another virtual host using mix of IP-, name-, and port-based configuration # server { listen 80; server_name 87.103.211.16; location / { proxy_pass http://192.168.0.21:80/; } } # HTTPS server # #server { # listen 443; # server_name localhost; # ssl on; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_timeout 5m; # ssl_protocols SSLv2 SSLv3 TLSv1; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228525,228525#msg-228525 From rh на nobrend.ru Thu Jul 12 06:24:01 2012 From: rh на nobrend.ru (-=HaRius=-) Date: Thu, 12 Jul 2012 10:24:01 +0400 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0YEg0L3QsNGB0YLRgNC+0LnQutC+0Lk=?= In-Reply-To: <245687992ae53cada40182b416d5e88e.NginxMailingListRussian@forum.nginx.org> References: <245687992ae53cada40182b416d5e88e.NginxMailingListRussian@forum.nginx.org> Message-ID: <4FFE6D81.1070404@nobrend.ru> 12.07.2012 10:13, sintcar666 пишет: > После настройки nginx возникла > проблема.nginx стоит на машине которая > разруливает нет в сети с помощью kerio в > сети 2 машины на которых находятся > разные сайты соответственно nginx > использовал для переадресации по имени > на нужный IP в сети но один из сайтов > который стоит на денвере грузиться не > корректно (просто текст сайта).в чем > проблема подскажите. > > > > #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 1024; > } > > > 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 65; > > gzip on; > > server { > listen 80; > server_name 123.ksb-42.ru; > > #charset koi8-r; > > #access_log logs/host.access.log main; > > location / { > proxy_pass http://192.168.0.113:80/; > } > > #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; > } > > # proxy the PHP scripts to Apache listening on 127.0.0.1:80 > # > #location ~ \.php$ { > # proxy_pass http://127.0.0.1; > #} > > # pass the PHP scripts to FastCGI server listening on > 127.0.0.1:9000 > # > #location ~ \.php$ { > # root html; > # fastcgi_pass 127.0.0.1:9000; > # fastcgi_index index.php; > # fastcgi_param SCRIPT_FILENAME > /scripts$fastcgi_script_name; > # include fastcgi_params; > #} > > # deny access to .htaccess files, if Apache's document root > # concurs with nginx's one > # > #location ~ /\.ht { > # deny all; > #} > } > > > # another virtual host using mix of IP-, name-, and port-based > configuration > # > server { > listen 80; > server_name 87.103.211.16; > > location / { > proxy_pass http://192.168.0.21:80/; > } > } > > > # HTTPS server > # > #server { > # listen 443; > # server_name localhost; > > # ssl on; > # ssl_certificate cert.pem; > # ssl_certificate_key cert.key; > > # ssl_session_timeout 5m; > > # ssl_protocols SSLv2 SSLv3 TLSv1; > # ssl_ciphers HIGH:!aNULL:!MD5; > # ssl_prefer_server_ciphers on; > > # location / { > # root html; > # index index.html index.htm; > # } > #} > > } > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228525,228525#msg-228525 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru а логи ничего не подсказывают? From nginx-forum на nginx.us Thu Jul 12 06:35:36 2012 From: nginx-forum на nginx.us (sintcar666) Date: Thu, 12 Jul 2012 02:35:36 -0400 (EDT) Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0YEg0L3QsNGB0YLRgNC+0LnQutC+0Lk=?= In-Reply-To: <245687992ae53cada40182b416d5e88e.NginxMailingListRussian@forum.nginx.org> References: <245687992ae53cada40182b416d5e88e.NginxMailingListRussian@forum.nginx.org> Message-ID: чегото подсказывают но я не сильно силен в этом деле. 178.172.123.15 - - [12/Jul/2012:13:34:03 +0700] "GET / HTTP/1.1" 200 18614 "-" "Opera/9.80 (Windows NT 6.1; U; MRA 5.10 (build 5339); ru) Presto/2.10.289 Version/12.00" 178.172.123.15 - - [12/Jul/2012:13:34:26 +0700] "-" 400 0 "-" "-" Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228525,228527#msg-228527 From alexey.bobok на gmail.com Thu Jul 12 09:51:59 2012 From: alexey.bobok на gmail.com (=?UTF-8?B?0JDQu9C10LrRgdC10Lkg0JHQvtCx0L7Qug==?=) Date: Thu, 12 Jul 2012 12:51:59 +0300 Subject: stub_status Message-ID: Приветствую. Мне необходимо некоторое уточнение. Active connections показывает кол-во открытых соединений. Только к клиентам или к HTTP-бекендам так же? FastCGI по сетевому сокету учитывается? Благодарю. -- Think before you print. Best regards, Alexey Bobok. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From jnizjo на gmail.com Thu Jul 12 10:09:08 2012 From: jnizjo на gmail.com (Alexander Usov) Date: Thu, 12 Jul 2012 16:09:08 +0600 Subject: stub_status In-Reply-To: References: Message-ID: Только входящие соединения от клиентов. 12 июля 2012 г., 15:51 пользователь Алексей Бобок написал: > Приветствую. > > Мне необходимо некоторое уточнение. > Active connections показывает кол-во открытых соединений. > > Только к клиентам или к HTTP-бекендам так же? > FastCGI по сетевому сокету учитывается? > > Благодарю. > > -- > Think before you print. > Best regards, Alexey Bobok. > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From gmm на csdoc.com Thu Jul 12 12:27:19 2012 From: gmm на csdoc.com (Gena Makhomed) Date: Thu, 12 Jul 2012 15:27:19 +0300 Subject: Tricky configuration rewrite rules (Symfony+FastCGI+Cache) In-Reply-To: References: <4FFDAD7F.1020105@csdoc.com> Message-ID: <4FFEC2A7.3030905@csdoc.com> On 11.07.2012 23:21, Valery N. wrote: > Попробовал как вы посоветвали. К сожалению при указании try_files $uri > /index.php?$args; опять же все уходит правилу location ~ \.php$ { КЕШ > } который НЕ внутри location /accounts/ { }. Такое ощущение что > location внутри другого locationа имеет меньший приоритет или > игнорируется в документации к директиве try_files есть пример для таких случаев http://nginx.org/ru/docs/http/ngx_http_core_module.html#try_files т.е. фрагмент конфига будет примерно такой: location ^~ /accounts/ { try_files $uri @symfony; # тут fastcgi_pass без fastcgi_cache } location @symfony { fastcgi_param SCRIPT_FILENAME /path/to/index.php; fastcgi_param SCRIPT_NAME /index.php; fastcgi_param QUERY_STRING $args; # тут fastcgi_pass без fastcgi_cache } -- Best regards, Gena From mail на knutov.com Thu Jul 12 21:19:03 2012 From: mail на knutov.com (Nick Knutov) Date: Fri, 13 Jul 2012 03:19:03 +0600 Subject: aio vs sendfile on openvz/RHEL6 Message-ID: <4FFF3F47.7040901@knutov.com> Linux, OpenVZ, RHEL6 (2.6.32) В каких случаях лучше использовать aio, а в каких sendfile? Правильно ли я понимаю, что с учетом написанного в конце http://nginx.org/ru/docs/http/ngx_http_core_module.html#aio про линукс AIO там лучше вообще не использовать? -- Best Regards, Nick Knutov http://knutov.com ICQ: 272873706 Voice: +7-904-84-23-130 From fry.kun на gmail.com Thu Jul 12 21:19:21 2012 From: fry.kun на gmail.com (Konstantin Svist) Date: Thu, 12 Jul 2012 14:19:21 -0700 Subject: nested location + proxy_cache + http/server proxy_hide_header = bug Message-ID: <4FFF3F59.4090404@gmail.com> Запрос на /index.php; бэкенд возвращает X-Powered-By: PHP... Конфиг: proxy_hide_header X-Powered-By; # не работает server { listen 80; proxy_hide_header X-Powered-By; # не работает location / { proxy_pass http://localhost:1180; proxy_hide_header X-Powered-By; # работает location ~ \.php$ { proxy_hide_header X-Powered-By; # работает proxy_cache mycache; proxy_set_header Host 'foobar.com'; } } From a.vasilishin на kpi.ua Thu Jul 12 21:22:52 2012 From: a.vasilishin на kpi.ua (=?KOI8-R?Q?=E1=CE=C4=D2=C5=CA_=F7=C1=D3=C9=CC=C9=DB=C9=CE?=) Date: Fri, 13 Jul 2012 00:22:52 +0300 Subject: aio vs sendfile on openvz/RHEL6 In-Reply-To: <4FFF3F47.7040901@knutov.com> References: <4FFF3F47.7040901@knutov.com> Message-ID: <4FFF402C.9040704@kpi.ua> 13.07.2012 0:19, Nick Knutov пишет: > Linux, OpenVZ, RHEL6 (2.6.32) > > В каких случаях лучше использовать aio, а в каких sendfile? > > Правильно ли я понимаю, что с учетом написанного в конце > http://nginx.org/ru/docs/http/ngx_http_core_module.html#aio про линукс > AIO там лучше вообще не использовать? > По моим тестам sendfile лучше использовать, если отдаваемый контент полностью помещается в оперативу. aio лучше использовать, когда оперативы мало, а активного контента - много. -- WBR, Andrey Vasilishin CDIG1-UANIC, CDIG1-RIPE From trent.clainor на gmail.com Fri Jul 13 01:09:11 2012 From: trent.clainor на gmail.com (Albert Mikhaylov) Date: Fri, 13 Jul 2012 05:09:11 +0400 Subject: nested location + proxy_cache + http/server proxy_hide_header = bug In-Reply-To: <4FFF3F59.4090404@gmail.com> References: <4FFF3F59.4090404@gmail.com> Message-ID: 2012/7/13 Konstantin Svist > Запрос на /index.php; бэкенд возвращает X-Powered-By: PHP... > > Конфиг: > > proxy_hide_header X-Powered-By; # не работает > server { > listen 80; > proxy_hide_header X-Powered-By; # не работает > location / { > proxy_pass http://localhost:1180; > proxy_hide_header X-Powered-By; # работает > location ~ \.php$ { > proxy_hide_header X-Powered-By; # работает > proxy_cache mycache; > proxy_set_header Host 'foobar.com'; > } > } > > проще в php.ini прописать expose = Off ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From fry.kun на gmail.com Fri Jul 13 01:28:13 2012 From: fry.kun на gmail.com (Konstantin Svist) Date: Thu, 12 Jul 2012 18:28:13 -0700 Subject: nested location + proxy_cache + http/server proxy_hide_header = bug In-Reply-To: References: <4FFF3F59.4090404@gmail.com> Message-ID: <4FFF79AD.90504@gmail.com> On 07/12/2012 06:09 PM, Albert Mikhaylov wrote: > > проще в php.ini прописать expose = Off > Но всё равно кажется баг :) From nginx-forum на nginx.us Fri Jul 13 04:22:08 2012 From: nginx-forum на nginx.us (PbIXTOP) Date: Fri, 13 Jul 2012 00:22:08 -0400 (EDT) Subject: =?UTF-8?B?UmU6INCh0LHRgNC+0YEg0LrQtdGI0LA=?= In-Reply-To: References: Message-ID: <70d82d7fe5f8546ac6afec9c86ce39a8.NginxMailingListRussian@forum.nginx.org> Хорошо попробую, но тут возникла драгая проблема Вроде бы выставлено fastcgi_cache_valid 8h; fastcgi_cache balance; fastcgi_cache_key "$remote_addr"; При двух минутном опросе все прекрасно отдается из кеша, увеличил время опроса до 15минут и опа, перестает браться из кеша. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228456,228560#msg-228560 From mail на knutov.com Fri Jul 13 08:22:29 2012 From: mail на knutov.com (Nick Knutov) Date: Fri, 13 Jul 2012 14:22:29 +0600 Subject: aio vs sendfile on openvz/RHEL6 In-Reply-To: <4FFF402C.9040704@kpi.ua> References: <4FFF3F47.7040901@knutov.com> <4FFF402C.9040704@kpi.ua> Message-ID: <4FFFDAC5.6050100@knutov.com> А блокирующиеся запросы в случае конца файла, указания range и т.д.? Или делать тогда много воркеров? 13.07.2012 3:22, Андрей Василишин пишет: > 13.07.2012 0:19, Nick Knutov пишет: >> Linux, OpenVZ, RHEL6 (2.6.32) >> >> В каких случаях лучше использовать aio, а в каких sendfile? >> >> Правильно ли я понимаю, что с учетом написанного в конце >> http://nginx.org/ru/docs/http/ngx_http_core_module.html#aio про линукс >> AIO там лучше вообще не использовать? >> > > > По моим тестам sendfile лучше использовать, если отдаваемый контент > полностью помещается в оперативу. aio лучше использовать, когда > оперативы мало, а активного контента - много. > > > -- Best Regards, Nick Knutov http://knutov.com ICQ: 272873706 Voice: +7-904-84-23-130 From a.vasilishin на kpi.ua Fri Jul 13 08:31:18 2012 From: a.vasilishin на kpi.ua (=?KOI8-R?Q?=E1=CE=C4=D2=C5=CA_=F7=C1=D3=C9=CC=C9=DB=C9=CE?=) Date: Fri, 13 Jul 2012 11:31:18 +0300 Subject: aio vs sendfile on openvz/RHEL6 In-Reply-To: <4FFFDAC5.6050100@knutov.com> References: <4FFF3F47.7040901@knutov.com> <4FFF402C.9040704@kpi.ua> <4FFFDAC5.6050100@knutov.com> Message-ID: <4FFFDCD6.1020203@kpi.ua> 13.07.2012 11:22, Nick Knutov пишет: > А блокирующиеся запросы в случае конца файла, указания range и т.д.? Или > делать тогда много воркеров? Ну, воркеров я ставлю обычно 16-32 (перемножаю ядра на диски :) ) А вообще прикиньте сколько будет таких запросов относительно общего числа запросов? -- WBR, Andrey Vasilishin CDIG1-UANIC, CDIG1-RIPE From mdounin на mdounin.ru Fri Jul 13 21:47:05 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Sat, 14 Jul 2012 01:47:05 +0400 Subject: =?UTF-8?B?UmU6INCh0LHRgNC+0YEg0LrQtdGI0LA=?= In-Reply-To: <70d82d7fe5f8546ac6afec9c86ce39a8.NginxMailingListRussian@forum.nginx.org> References: <70d82d7fe5f8546ac6afec9c86ce39a8.NginxMailingListRussian@forum.nginx.org> Message-ID: <20120713214705.GP31671@mdounin.ru> Hello! On Fri, Jul 13, 2012 at 12:22:08AM -0400, PbIXTOP wrote: > Хорошо попробую, но тут возникла драгая > проблема > Вроде бы выставлено > > fastcgi_cache_valid 8h; > fastcgi_cache balance; > fastcgi_cache_key "$remote_addr"; > > При двух минутном опросе все прекрасно > отдается из кеша, увеличил время опроса > до 15минут и опа, перестает браться из > кеша. http://nginx.org/r/fastcgi_cache_path/ru : Если к данным кэша не обращаются в течение времени, заданного : параметром inactive, то данные удаляются, независимо от их : свежести. По умолчанию inactive равен 10 минутам. Maxim Dounin From nginx-forum на nginx.us Sun Jul 15 02:03:43 2012 From: nginx-forum на nginx.us (PbIXTOP) Date: Sat, 14 Jul 2012 22:03:43 -0400 (EDT) Subject: =?UTF-8?B?UmU6INCh0LHRgNC+0YEg0LrQtdGI0LA=?= In-Reply-To: <20120713214705.GP31671@mdounin.ru> References: <20120713214705.GP31671@mdounin.ru> Message-ID: Спасибо, надо действительно внимательее читать документацию. Жаль в документации нету кросслинков, на эту зависимость. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228456,228593#msg-228593 From nginx-forum at nginx.us Mon Jul 16 11:15:11 2012 From: nginx-forum at nginx.us (e502) Date: Mon, 16 Jul 2012 07:15:11 -0400 (EDT) Subject: =?UTF-8?Q?=D0=BA=D0=B0=D0=BA=20=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?Q?=D1=8C=D0=BD=D0=BE=20=D1=80=D0=B0=D1=81=D1=81=D1=87=D0=B8?= =?UTF-8?Q?=D1=82=D0=B0=D1=82=D1=8C=20=D1=80=D0=B0=D0=B7=D0=BC=D0=B5?= =?UTF-8?Q?=D1=80=20=D0=B1=D1=83=D1=84=D1=84=D0=B5=D1=80=D0=BE=D0=B2?= Message-ID: В error_log валится *9196491 upstream sent too big header while reading response header from upstream , как правильно расчитать размер fastcgi_buffers и fastcgi_buffer_size Спасибо. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228621,228621#msg-228621 From nginx-forum at nginx.us Mon Jul 16 15:51:08 2012 From: nginx-forum at nginx.us (MercuryV) Date: Mon, 16 Jul 2012 11:51:08 -0400 (EDT) Subject: nginx + dav + dav_ext In-Reply-To: References: <458443402.20120425215924@softsearch.ru> Message-ID: <0363dac6aaea8a5423ddbc0fc07ecff6.NginxMailingListRussian@forum.nginx.org> vsharun Wrote: ------------------------------------------------------- > По поводу WebDAV, чем вчера > закончились тесты: > провалом в первую очередь > из-за скорости работы. Скажите, а в конечном итоге получилось выполнить аплоад в связке Windows 7 + nginx 1.2 + dav_ext ? Если да, то каким образом? Я у себя в логах вижу только ошибку "[alert] 890#0: *33 dav_ext stat failed on 'name_of_file' (2: No such file or directory)" Posted at Nginx Forum: http://forum.nginx.org/read.php?21,225769,228623#msg-228623 From thresh at videolan.org Tue Jul 17 12:54:04 2012 From: thresh at videolan.org (Konstantin Pavlov) Date: Tue, 17 Jul 2012 16:54:04 +0400 Subject: nginx-1.3.3 In-Reply-To: <20120710123707.GW31671@mdounin.ru> References: <20120710123707.GW31671@mdounin.ru> Message-ID: <20120717125404.GA8124@snowwhite.immo> On Tue, Jul 10, 2012 at 04:37:07PM +0400, Maxim Dounin wrote: > Изменения в nginx 1.3.3 10.07.2012 > > *) Добавление: поддержка entity tags и директива etag. Это отлично! Спасибо! -- Konstantin Pavlov VideoLAN team From nginx-forum at nginx.us Wed Jul 18 09:43:22 2012 From: nginx-forum at nginx.us (InventOR) Date: Wed, 18 Jul 2012 05:43:22 -0400 (EDT) Subject: subs_filter invalid variable name Message-ID: <2ebe2e2481a9456a4c7d867d21138307.NginxMailingListRussian@forum.nginx.org> есть такая подстановка: subs_filter '' '\n'; ругается "nginx: [emerg] invalid variable name in конфиг:строка" убираю символ $ - все работает. пробовал экранировать - не помогает. если же заменить на \x24 - код не работает. Если кто-то сталкивался - подскажите как захардкодить данное решение. (Вынести во внешний скрипт и подгружать его не предлагать) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228671,228671#msg-228671 From johnbat26 at gmail.com Wed Jul 18 12:06:18 2012 From: johnbat26 at gmail.com (Eugene Batogov) Date: Wed, 18 Jul 2012 16:06:18 +0400 Subject: =?UTF-8?B?0J7RgtC90L7RgdC40YLQtdC70YzQvdC+INC80LXQtNC70LXQvdC90LDRjyDRgNCw?= =?UTF-8?B?0LHQvtGC0LAgcHJveHlfY2FjaGUg0LIgbmdpbnggLi4u?= Message-ID: Привет всем. Я провожу оптимизацию работы нашей системы и пытаюсь переместить кэширование некоторых ресурсов с memcached на proxy_cache. ------------------ *Моё окружение:* *ОС*: Gentoo x86-84 (Linux kernel-3.3.8 #1 SMP PREEMPT x86_64 Intel(R) Core(TM) i5 CPU 750 @ 2.67GHz GenuineIntel GNU/Linux) *NGINX:* nginx version: nginx/1.2.2 TLS SNI support enabled configure arguments: --prefix=/usr --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error_log --pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx.lock --with-cc-opt=-I/usr/include --with-ld-opt=-L/usr/lib --http-log-path=/var/log/nginx/access_log --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi --http-scgi-temp-path=/var/tmp/nginx/scgi --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --with-debug --with-ipv6 --with-pcre --with-http_addition_module --with-http_flv_module --with-http_geoip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_random_index_module --with-http_stub_status_module --with-http_xslt_module --with-http_realip_module --add-module=/var/calculate/tmp/portage/www-servers/nginx-1.2.2/work/agentzh-headers-more-nginx-module-3580526 --add-module=/var/calculate/tmp/portage/www-servers/nginx-1.2.2/work/nginx-push-stream-module-0.3.4 --add-module=/var/calculate/tmp/portage/www-servers/nginx-1.2.2/work/echo-nginx-module-0.38rc2 --with-http_ssl_module --without-mail_imap_module --without-mail_pop3_module --without-mail_smtp_module --user=nginx --group=nginx ------------------- Есть у меня одна картинка в формате png. Размером 400 Кб. Сейчас она лежит в memcached. И nginx, на ненагруженной системе, выдает её за* 2 мс*. Если он берет её с Backend (JBoss/Java), то время получается: *25мс*. В боевом окружении мы имеет периодические всплески запросов за этой картинкой. Когда они приходят в большом количестве (>200 в секунду), то трафик на memcached возрастает до порядка *> 200 мб/c.* memcached начинает слегка замедляться и просаживает всю систему. Поэтому хотелось бы закэшировать эту картинку после получения ее с backend-a на уровне proxy_module. Для этого я сделал такую конфигурацию: ... proxy_cache_path /var/cache/nginx/banners levels=1:2 keys_zone=banners-cache:20m max_size=100m inactive=120m; ... location /portal-facade-ng/v1/adv/imageMap/{ proxy_pass http://127.0.0.1:8080; proxy_cache banners-cache; # включаем proxy кэш в зону banners-cache proxy_cache_key $scheme$proxy_host$uri; # ключ для кэша proxy_cache_valid 200 302 1h; # кэшируем 200 и 302 ответы на 1час proxy_cache_valid 404 10m; # 404 ответы кэшируем на 10 минут proxy_ignore_headers X-Accel-Redirect; # некоторые заголовки игнорируем proxy_ignore_headers X-Accel-Expires Expires Cache-Control; proxy_ignore_headers Set-Cookie; expires 1h; # проставляем заголовки для браузера add_header Content-Type image/png; add_header Cache-status: $upstream_cache_status; default_type image/png; error_log /var/log/nginx/adv.log debug; error_page 404 = @404; error_page 502 = @502; error_page 504 = @504; index index.html index.htm; } ... Proxy кэш работает. Но одно но - *за 250 - 300 мс*. *То есть в 100 раз медленней чем memcached и в 10 раз медленнеё чем backend. Почему так может быть? *Если я кладу ту же картинку статикой, тогда она отдается за 1 мс! Я включил режим debug на nginx. логи приложил к письму. Логи находятся тут: лог через proxy модуль: https://gist.github.com/3135719 лог через статику: https://gist.github.com/3135728 Также вот сравнение запросов proxy_cache vs memcached_pass: https://gist.github.com/3135124 Таким образом, я хочу добиться того, чтобы nginx proxy модуль быстрее отдавал "динамическую статику" чем memcached. Proxy-кэш работает, но медленно в сравнении с memcached. Перенос каталога кэша с HDD на tmpfs на производительность не повлиял. Хотелось бы узнать полный алгоритм работы proxy модуля в такой ситуации. Я думал что он работает примерно так: 1. Идет на backend 2. Получает ответ от него. 3. Если надо, кэширует его в файловой системе. 4. При последующих запросах к этому ресурсу proxy модуль читает файл с HDD и оставляет в памяти. 5. И затем все остальные запросы молотит из памяти. Где я ошибся? И еще вопрос, можно ли еще сделать дополнительное кэширование после memcached_pass ? Иногда очень необходимо, для разгрузки memcached. Можно ли выставлять время инвалидации кэша в абсолютных единицах, то есть, например, ровно в 00:00 ? Спасибо. * * -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum at nginx.us Wed Jul 18 12:49:45 2012 From: nginx-forum at nginx.us (JohnBat26) Date: Wed, 18 Jul 2012 08:49:45 -0400 (EDT) Subject: =?UTF-8?B?UmU6INCe0YLQvdC+0YHQuNGC0LXQu9GM0L3QviDQvNC10LTQu9C10L3QvdCw0Y8g?= =?UTF-8?B?0YDQsNCx0L7RgtCwIHByb3h5IGNhY2hlINCyIG5naW54IC4uLg==?= In-Reply-To: References: Message-ID: <61add3c8052e4af657119835534222ec.NginxMailingListRussian@forum.nginx.org> Провел нагрузочное тестирование. При использовании статической картинки, nginx работает только с памятью и не грузит диск. При использовании proxy_module nginx грузит диск, и скорее всего поэтому запро выполняется дольше на два порядка. Вопрос теперь, как заставить proxy_module загружать картинку в память и не использовать диск? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228674,228678#msg-228678 From ne at vbart.ru Wed Jul 18 12:54:35 2012 From: ne at vbart.ru (=?utf-8?b?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Wed, 18 Jul 2012 16:54:35 +0400 Subject: =?UTF-8?B?UmU6ICDQntGC0L3QvtGB0LjRgtC10LvRjNC90L4g0LzQtdC00LvQtdC90L3QsNGP?= =?UTF-8?B?INGA0LDQsdC+0YLQsCBwcm94eV9jYWNoZSDQsiBuZ2lueCAuLi4=?= In-Reply-To: References: Message-ID: <201207181654.35748.ne@vbart.ru> On Wednesday 18 July 2012 16:06:18 Eugene Batogov wrote: [...] > Proxy кэш работает. Но одно но - *за 250 - 300 мс*. > *То есть в 100 раз медленней чем memcached и в 10 раз медленнеё чем > backend. Почему так может быть? > > *Если я кладу ту же картинку статикой, тогда она отдается за 1 мс! > > Я включил режим debug на nginx. логи приложил к письму. > Логи находятся тут: > лог через proxy модуль: https://gist.github.com/3135719 Тут у вас 200. Картинка отдается клиенту. > лог через статику: https://gist.github.com/3135728 А тут 304. Т.е. картинка не отдается. Вот и вся разница. -- Валентин From ne at vbart.ru Wed Jul 18 13:09:30 2012 From: ne at vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Wed, 18 Jul 2012 17:09:30 +0400 Subject: =?UTF-8?B?UmU6ICDQntGC0L3QvtGB0LjRgtC10LvRjNC90L4g0LzQtdC00LvQtdC90L3QsNGP?= =?UTF-8?B?INGA0LDQsdC+0YLQsCBwcm94eSBjYWNoZSDQsiBuZ2lueCAuLi4=?= In-Reply-To: <61add3c8052e4af657119835534222ec.NginxMailingListRussian@forum.nginx.org> References: <61add3c8052e4af657119835534222ec.NginxMailingListRussian@forum.nginx.org> Message-ID: <201207181709.30316.ne@vbart.ru> On Wednesday 18 July 2012 16:49:45 JohnBat26 wrote: > Провел нагрузочное тестирование. > При использовании статической > картинки, nginx работает только с памятью > и не грузит диск. В процессе тестирования ответы были 304 или 200? > При использовании proxy_module nginx грузит > диск, и скорее всего поэтому запро > выполняется дольше на два порядка. > Вопрос теперь, как заставить proxy_module > загружать картинку в память и не > использовать диск? > Кэш и статическая картинка располагались на одном и том же разделе? -- Валентин Бартенев From nginx-forum at nginx.us Wed Jul 18 13:21:33 2012 From: nginx-forum at nginx.us (JohnBat26) Date: Wed, 18 Jul 2012 09:21:33 -0400 (EDT) Subject: =?UTF-8?B?UmU6INCe0YLQvdC+0YHQuNGC0LXQu9GM0L3QviDQvNC10LTQu9C10L3QvdCw0Y8g?= =?UTF-8?B?0YDQsNCx0L7RgtCwIHByb3h5IGNhY2hlINCyIG5naW54IC4uLg==?= In-Reply-To: <201207181709.30316.ne@vbart.ru> References: <201207181709.30316.ne@vbart.ru> Message-ID: >В процессе тестирования ответы были 304 или 200? Нет. Ну по крайней мере в FF. На memcached и на backend вообще стоит nocache. >Кэш и статическая картинка располагались на одном и том же разделе? Да. А вообще proxy_module кэширует в памяти картинку? или он все время на дикс идет? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228674,228681#msg-228681 From nginx-forum at nginx.us Wed Jul 18 13:29:56 2012 From: nginx-forum at nginx.us (JohnBat26) Date: Wed, 18 Jul 2012 09:29:56 -0400 (EDT) Subject: =?UTF-8?B?UmU6INCe0YLQvdC+0YHQuNGC0LXQu9GM0L3QviDQvNC10LTQu9C10L3QvdCw0Y8g?= =?UTF-8?B?0YDQsNCx0L7RgtCwIHByb3h5IGNhY2hlINCyIG5naW54IC4uLg==?= In-Reply-To: References: <201207181709.30316.ne@vbart.ru> Message-ID: <960e5e2ad939f99489b7416df5315444.NginxMailingListRussian@forum.nginx.org> Вот debug log для memcached без 304: https://gist.github.com/1aa400867a0f4b9d11e8 Время выполнения: 2 - 5 мс Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228674,228682#msg-228682 From ne at vbart.ru Wed Jul 18 13:42:36 2012 From: ne at vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Wed, 18 Jul 2012 17:42:36 +0400 Subject: =?UTF-8?B?UmU6ICDQntGC0L3QvtGB0LjRgtC10LvRjNC90L4g0LzQtdC00LvQtdC90L3QsNGP?= =?UTF-8?B?INGA0LDQsdC+0YLQsCBwcm94eSBjYWNoZSDQsiBuZ2lueCAuLi4=?= In-Reply-To: References: <201207181709.30316.ne@vbart.ru> Message-ID: <201207181742.37188.ne@vbart.ru> On Wednesday 18 July 2012 17:21:33 JohnBat26 wrote: > >В процессе тестирования ответы были 304 > > или 200? > Нет. > Ну по крайней мере в FF. > На memcached и на backend вообще стоит nocache. > > >Кэш и статическая картинка > > располагались на одном и том же > разделе? > Да. > > А вообще proxy_module кэширует в памяти > картинку? или он все время на дикс идет? Нет, он не кэширует в памяти. Этим должна заниматься ваша ОС. Но пока из ваших ответов решительно не понятно, что вообще происходит и как вы тестируете. В одном логе у вас 304, в другом 200, как вы время намерили, для первого или для второго запроса, какие заголовки браузер посылал, и т.д. И в конфигурации у вас странного много. add_header Content-Type image/png; add_header Cache-status: $upstream_cache_status; Тут вы дважды добавили Content-Type и Cache-status с парным двоеточием. -- Валентин Бартенев From ne at vbart.ru Wed Jul 18 13:48:28 2012 From: ne at vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Wed, 18 Jul 2012 17:48:28 +0400 Subject: =?UTF-8?B?UmU6ICDQntGC0L3QvtGB0LjRgtC10LvRjNC90L4g0LzQtdC00LvQtdC90L3QsNGP?= =?UTF-8?B?INGA0LDQsdC+0YLQsCBwcm94eSBjYWNoZSDQsiBuZ2lueCAuLi4=?= In-Reply-To: <960e5e2ad939f99489b7416df5315444.NginxMailingListRussian@forum.nginx.org> References: <201207181709.30316.ne@vbart.ru> <960e5e2ad939f99489b7416df5315444.NginxMailingListRussian@forum.nginx.org> Message-ID: <201207181748.29091.ne@vbart.ru> On Wednesday 18 July 2012 17:29:56 JohnBat26 wrote: > Вот debug log для memcached без 304: > https://gist.github.com/1aa400867a0f4b9d11e8 > Время выполнения: 2 - 5 мс > Покажите лог именно того запроса, который занимает 250-300мс. И расскажите, как вы измеряете время. -- Валентин Бартенев From nginx-forum at nginx.us Wed Jul 18 14:19:55 2012 From: nginx-forum at nginx.us (JohnBat26) Date: Wed, 18 Jul 2012 10:19:55 -0400 (EDT) Subject: =?UTF-8?B?UmU6INCe0YLQvdC+0YHQuNGC0LXQu9GM0L3QviDQvNC10LTQu9C10L3QvdCw0Y8g?= =?UTF-8?B?0YDQsNCx0L7RgtCwIHByb3h5IGNhY2hlINCyIG5naW54IC4uLg==?= In-Reply-To: <960e5e2ad939f99489b7416df5315444.NginxMailingListRussian@forum.nginx.org> References: <201207181709.30316.ne@vbart.ru> <960e5e2ad939f99489b7416df5315444.NginxMailingListRussian@forum.nginx.org> Message-ID: <87456d9742a3910694fb7c59021f07fa.NginxMailingListRussian@forum.nginx.org> Пара исправлений. 1. Да, proxy_store и proxy_cache работают одинаково. Просто proxy_store отсылает 304Not Modified а proxy_cache в моей конфигурации нет. При полном выключении кэша в FF результаты оказались порядка 200 - 300 мс в обоих случаях. Вот точный лог nginx для эапроса через proxy_cache: https://gist.github.com/3136421 2. Но при запросе через memcached, результат составляет на два порядка меньше:2-5 мс Вот лог для memcached: https://gist.github.com/3136454 memcached модуль проставляет Content-Length, а proxy_module нет. То есть в nginx вообще нет возможности закэшировать конкретную картинку(например) в памяти ? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228674,228688#msg-228688 From ne at vbart.ru Wed Jul 18 14:20:43 2012 From: ne at vbart.ru (=?utf-8?b?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Wed, 18 Jul 2012 18:20:43 +0400 Subject: =?UTF-8?B?UmU6ICDQntGC0L3QvtGB0LjRgtC10LvRjNC90L4g0LzQtdC00LvQtdC90L3QsNGP?= =?UTF-8?B?INGA0LDQsdC+0YLQsCBwcm94eV9jYWNoZSDQsiBuZ2lueCAuLi4=?= In-Reply-To: References: Message-ID: <201207181820.44022.ne@vbart.ru> sendfile_max_chunk где-нибудь установлен в конфигурации? -- Валентин Бартенев From nginx-forum at nginx.us Wed Jul 18 14:21:41 2012 From: nginx-forum at nginx.us (JohnBat26) Date: Wed, 18 Jul 2012 10:21:41 -0400 (EDT) Subject: =?UTF-8?B?UmU6INCe0YLQvdC+0YHQuNGC0LXQu9GM0L3QviDQvNC10LTQu9C10L3QvdCw0Y8g?= =?UTF-8?B?0YDQsNCx0L7RgtCwIHByb3h5IGNhY2hlINCyIG5naW54IC4uLg==?= In-Reply-To: <87456d9742a3910694fb7c59021f07fa.NginxMailingListRussian@forum.nginx.org> References: <201207181709.30316.ne@vbart.ru> <960e5e2ad939f99489b7416df5315444.NginxMailingListRussian@forum.nginx.org> <87456d9742a3910694fb7c59021f07fa.NginxMailingListRussian@forum.nginx.org> Message-ID: и еще вопрос. Почему в случае proxy_store при нажатии F5 в FF, nginx возвращает 304, а в случае proxy_cache нет? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228674,228689#msg-228689 From nginx-forum at nginx.us Wed Jul 18 14:23:35 2012 From: nginx-forum at nginx.us (JohnBat26) Date: Wed, 18 Jul 2012 10:23:35 -0400 (EDT) Subject: =?UTF-8?B?UmU6INCe0YLQvdC+0YHQuNGC0LXQu9GM0L3QviDQvNC10LTQu9C10L3QvdCw0Y8g?= =?UTF-8?B?0YDQsNCx0L7RgtCwIHByb3h5IGNhY2hlINCyIG5naW54IC4uLg==?= In-Reply-To: <201207181820.44022.ne@vbart.ru> References: <201207181820.44022.ne@vbart.ru> Message-ID: <4abacfd0f93324c739912e02308ae511.NginxMailingListRussian@forum.nginx.org> Да. sendfile_max_chunk 128k; Валентин Бартенев Wrote: ------------------------------------------------------- > sendfile_max_chunk где-нибудь > установлен в конфигурации? > > -- > Валентин Бартенев > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228674,228691#msg-228691 From ne at vbart.ru Wed Jul 18 14:27:30 2012 From: ne at vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Wed, 18 Jul 2012 18:27:30 +0400 Subject: =?UTF-8?B?UmU6ICDQntGC0L3QvtGB0LjRgtC10LvRjNC90L4g0LzQtdC00LvQtdC90L3QsNGP?= =?UTF-8?B?INGA0LDQsdC+0YLQsCBwcm94eSBjYWNoZSDQsiBuZ2lueCAuLi4=?= In-Reply-To: <87456d9742a3910694fb7c59021f07fa.NginxMailingListRussian@forum.nginx.org> References: <201207181709.30316.ne@vbart.ru> <960e5e2ad939f99489b7416df5315444.NginxMailingListRussian@forum.nginx.org> <87456d9742a3910694fb7c59021f07fa.NginxMailingListRussian@forum.nginx.org> Message-ID: <201207181827.30472.ne@vbart.ru> On Wednesday 18 July 2012 18:19:55 JohnBat26 wrote: > Пара исправлений. > 1. Да, proxy_store и proxy_cache работают > одинаково. > Просто proxy_store отсылает 304Not Modified а > proxy_cache в моей конфигурации нет. > При полном выключении кэша в FF > результаты оказались порядка 200 - 300 мс в > обоих случаях. > Вот точный лог nginx для эапроса через > proxy_cache: https://gist.github.com/3136421 Уберите "add_header Content-Type image/png;". Добавьте proxy_hide_header "Set-Cookie"; > 2. Но при запросе через memcached, результат > составляет на два порядка меньше:2-5 мс > Вот лог для memcached: https://gist.github.com/3136454 > > memcached модуль проставляет Content-Length, а > proxy_module нет. > То есть в nginx вообще нет возможности > закэшировать конкретную > картинку(например) в памяти ? В этом нет особого смысла. -- Валентин Бартенев From ne at vbart.ru Wed Jul 18 14:29:19 2012 From: ne at vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Wed, 18 Jul 2012 18:29:19 +0400 Subject: =?UTF-8?B?UmU6ICDQntGC0L3QvtGB0LjRgtC10LvRjNC90L4g0LzQtdC00LvQtdC90L3QsNGP?= =?UTF-8?B?INGA0LDQsdC+0YLQsCBwcm94eSBjYWNoZSDQsiBuZ2lueCAuLi4=?= In-Reply-To: <4abacfd0f93324c739912e02308ae511.NginxMailingListRussian@forum.nginx.org> References: <201207181820.44022.ne@vbart.ru> <4abacfd0f93324c739912e02308ae511.NginxMailingListRussian@forum.nginx.org> Message-ID: <201207181829.19225.ne@vbart.ru> On Wednesday 18 July 2012 18:23:35 JohnBat26 wrote: > Да. > sendfile_max_chunk 128k; > Уберите. Или добавьте "sendfile_max_chunk 0;", в ваш "location /portal-facade-ng/v1/adv/imageMap/" -- Валентин Бартенев From ne at vbart.ru Wed Jul 18 14:31:53 2012 From: ne at vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Wed, 18 Jul 2012 18:31:53 +0400 Subject: =?UTF-8?B?UmU6ICDQntGC0L3QvtGB0LjRgtC10LvRjNC90L4g0LzQtdC00LvQtdC90L3QsNGP?= =?UTF-8?B?INGA0LDQsdC+0YLQsCBwcm94eSBjYWNoZSDQsiBuZ2lueCAuLi4=?= In-Reply-To: References: <201207181709.30316.ne@vbart.ru> <87456d9742a3910694fb7c59021f07fa.NginxMailingListRussian@forum.nginx.org> Message-ID: <201207181831.53724.ne@vbart.ru> On Wednesday 18 July 2012 18:21:41 JohnBat26 wrote: > и еще вопрос. > Почему в случае proxy_store при нажатии F5 в FF, > nginx возвращает 304, а в случае proxy_cache нет? > Потому, что proxy_store заголовки бэкенда не сохраняет (и в memcached, кстати, их тоже нету), а proxy_cache сохраняет заголовки, среди которых у вас там кука ставится и ещё всякого (Vary...), что может влиять на браузерный кэш. -- Валентин Бартенев From nginx-forum at nginx.us Wed Jul 18 14:34:18 2012 From: nginx-forum at nginx.us (JohnBat26) Date: Wed, 18 Jul 2012 10:34:18 -0400 (EDT) Subject: =?UTF-8?B?UmU6INCe0YLQvdC+0YHQuNGC0LXQu9GM0L3QviDQvNC10LTQu9C10L3QvdCw0Y8g?= =?UTF-8?B?0YDQsNCx0L7RgtCwIHByb3h5IGNhY2hlINCyIG5naW54IC4uLg==?= In-Reply-To: <4abacfd0f93324c739912e02308ae511.NginxMailingListRussian@forum.nginx.org> References: <201207181820.44022.ne@vbart.ru> <4abacfd0f93324c739912e02308ae511.NginxMailingListRussian@forum.nginx.org> Message-ID: <843432af3a3dd51039e9a0ae5b674e52.NginxMailingListRussian@forum.nginx.org> Спасибо огромное. Убрал вообще sendfile_max_chunk и теперь стало 1 мс. Что и требовалось доказать. Вот, кстати еще мои настройки: # GZIP gzip on; gzip_static on; gzip_min_length 640; gzip_buffers 64 8k; gzip_comp_level 1; gzip_http_version 1.0; gzip_proxied any; gzip_types text/plain application/xml application/x-javascript text/css; gzip_disable "MSIE [1-6]\.(?!.*SV1)"; gzip_vary on; output_buffers 32 512k; #sendfile_max_chunk 128k; postpone_output 1460; server_names_hash_bucket_size 64; ## TCP options #tcp_nopush off; #tcp_nodelay on; # Size Limits client_max_body_size 1m; client_body_buffer_size 128k; client_header_buffer_size 1k; large_client_header_buffers 4 4k; ... proxy_buffering on; proxy_buffer_size 16k; proxy_buffers 4 64k; proxy_busy_buffers_size 128k; proxy_temp_file_write_size 10m; proxy_headers_hash_bucket_size 256; -- Тут нет косяков на первый взгляд? Можно ли проставить абсолютное время сброса кэша? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228674,228695#msg-228695 From ne at vbart.ru Wed Jul 18 14:58:07 2012 From: ne at vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Wed, 18 Jul 2012 18:58:07 +0400 Subject: =?UTF-8?B?UmU6ICDQntGC0L3QvtGB0LjRgtC10LvRjNC90L4g0LzQtdC00LvQtdC90L3QsNGP?= =?UTF-8?B?INGA0LDQsdC+0YLQsCBwcm94eSBjYWNoZSDQsiBuZ2lueCAuLi4=?= In-Reply-To: <843432af3a3dd51039e9a0ae5b674e52.NginxMailingListRussian@forum.nginx.org> References: <201207181820.44022.ne@vbart.ru> <4abacfd0f93324c739912e02308ae511.NginxMailingListRussian@forum.nginx.org> <843432af3a3dd51039e9a0ae5b674e52.NginxMailingListRussian@forum.nginx.org> Message-ID: <201207181858.07212.ne@vbart.ru> On Wednesday 18 July 2012 18:34:18 JohnBat26 wrote: [...] > Тут нет косяков на первый взгляд? proxy_temp_file_write_size 10m; - странно. Вообще увлекаться настройками без четкого представления, что они делают и для чего вы хотите их поменять - не стоит, и может быть вредно. Значения по-умолчанию обычно более-менее оптимальные, да и конфиг будет выглядеть чище. > Можно ли проставить абсолютное время > сброса кэша? > Можно. http://nginx.org/r/proxy_cache_valid/ru (про @ написано в конце). -- Валентин Бартенев From nginx-forum at nginx.us Wed Jul 18 15:11:27 2012 From: nginx-forum at nginx.us (JohnBat26) Date: Wed, 18 Jul 2012 11:11:27 -0400 (EDT) Subject: =?UTF-8?B?UmU6INCe0YLQvdC+0YHQuNGC0LXQu9GM0L3QviDQvNC10LTQu9C10L3QvdCw0Y8g?= =?UTF-8?B?0YDQsNCx0L7RgtCwIHByb3h5IGNhY2hlINCyIG5naW54IC4uLg==?= In-Reply-To: <843432af3a3dd51039e9a0ae5b674e52.NginxMailingListRussian@forum.nginx.org> References: <201207181820.44022.ne@vbart.ru> <4abacfd0f93324c739912e02308ae511.NginxMailingListRussian@forum.nginx.org> <843432af3a3dd51039e9a0ae5b674e52.NginxMailingListRussian@forum.nginx.org> Message-ID: Валентин, еще раз Спасибо! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228674,228697#msg-228697 From nginx-forum at nginx.us Wed Jul 18 16:17:56 2012 From: nginx-forum at nginx.us (X-Thief) Date: Wed, 18 Jul 2012 12:17:56 -0400 (EDT) Subject: =?UTF-8?B?bmdpbngg0YDQtdCz0YPQu9GP0YDQutCw?= Message-ID: <2eb602581f91627ec67983955b8a13f2.NginxMailingListRussian@forum.nginx.org> Добрый вечер. Имеется малый опыт с регулярными выражениями, до этого справлялся, но вот с этим никак не получается. Мне нужно ловить такие GET запросы например: test=test2&qwe=1234 Если qwe=1234 я могу поймать так: if ($args ~* "qwe=[0-9]") { тут что-то; } то два параметра у меня уже не получается сделать. Вот что я пытаюсь: if ($args ~* "test=test2&qwe=[0-9]") { тут что-то; } То "тут что-то;" не работает Как правильно составить выражение с двумя гет параметрами? Спасибо. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228699,228699#msg-228699 From uncleandyv at gmail.com Wed Jul 18 16:37:52 2012 From: uncleandyv at gmail.com (Andrey Velikoredchanin) Date: Wed, 18 Jul 2012 20:37:52 +0400 Subject: =?UTF-8?B?0J/RgNC+0YHRgtCw0Y8g0LfQsNC00LDRh9Cw?= Message-ID: Всем привет! Хочется сделать простую вещь... Есть html страница с формой. Мне нужно что-бы в определенное поле формы подставлялся определенный параметр, передаваемый в get запросе на эту страницу. Насколько я понял, SSI напрямую этого делать не умеет. Но встроенный perl, вроде-бы должен позволять такое делать. Тем более, что его можно вызывать прямо из SSI. Есть смутное ощущение, что сделать это просто, но вот с конкретикой что-то не очень. :( Не хотелось-бы для такой простой задачи городить огород со скриптами и шаблонами. Буду благодарен за любые наводки. -------------- next part -------------- An HTML attachment was scrubbed... URL: From latypoff at yandex.ru Wed Jul 18 16:45:41 2012 From: latypoff at yandex.ru (Denis F. Latypoff) Date: Wed, 18 Jul 2012 23:45:41 +0700 Subject: =?UTF-8?B?UmU6INCf0YDQvtGB0YLQsNGPINC30LDQtNCw0YfQsA==?= In-Reply-To: References: Message-ID: <92701342629941@web13f.yandex.ru> 18.07.2012, 23:37, "Andrey Velikoredchanin" : > Всем привет! > > Хочется сделать простую вещь... Есть html страница с формой. Мне нужно что-бы в определенное поле формы подставлялся определенный параметр, передаваемый в get запросе на эту страницу. Насколько я понял, SSI напрямую этого делать не умеет. Но встроенный perl, вроде-бы должен позволять такое делать. Тем более, что его можно вызывать прямо из SSI. Есть смутное ощущение, что сделать это просто, но вот с конкретикой что-то не очень. :( > > Не хотелось-бы для такой простой задачи городить огород со скриптами и шаблонами. > > Буду благодарен за любые наводки. -- br, Denis F. Latypoff. From nginx-forum at nginx.us Wed Jul 18 16:47:10 2012 From: nginx-forum at nginx.us (X-Thief) Date: Wed, 18 Jul 2012 12:47:10 -0400 (EDT) Subject: =?UTF-8?B?UmU6IG5naW54INGA0LXQs9GD0LvRj9GA0LrQsA==?= In-Reply-To: <2eb602581f91627ec67983955b8a13f2.NginxMailingListRussian@forum.nginx.org> References: <2eb602581f91627ec67983955b8a13f2.NginxMailingListRussian@forum.nginx.org> Message-ID: <061c00b7a87718382b01d62f7c1d7c1d.NginxMailingListRussian@forum.nginx.org> Решил проблему, уже не нужно. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228699,228703#msg-228703 From ne at vbart.ru Wed Jul 18 16:55:54 2012 From: ne at vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Wed, 18 Jul 2012 20:55:54 +0400 Subject: =?UTF-8?B?UmU6IG5naW54INGA0LXQs9GD0LvRj9GA0LrQsA==?= In-Reply-To: <2eb602581f91627ec67983955b8a13f2.NginxMailingListRussian@forum.nginx.org> References: <2eb602581f91627ec67983955b8a13f2.NginxMailingListRussian@forum.nginx.org> Message-ID: <201207182055.54848.ne@vbart.ru> On Wednesday 18 July 2012 20:17:56 X-Thief wrote: [...] > Если qwe=1234 я могу поймать так: > if ($args ~* "qwe=[0-9]") { > тут что-то; > } > то два параметра у меня уже не > получается сделать. Это не правильно. Правильно: if ($arg_qwe ~ "^\d+$") { ... } > Вот что я пытаюсь: > > if ($args ~* "test=test2&qwe=[0-9]") { > тут что-то; > } > > То "тут что-то;" не работает > > Как правильно составить выражение с > двумя гет параметрами? if ($arg_qwe ~ "^\d+$") { set $test 1; } if ($arg_test = test2) { set $test "1$test"; } if ($test = 11) { ... } Но если непременно хочется сделать одной регуляркой, то: if ($args ~* "(?=.*(?:^|&)qwe=\d+(?:$|&))(?=.*(?:^|&)test=test2(?:$|&))") { ... } -- Валентин From uncleandyv at gmail.com Wed Jul 18 16:55:43 2012 From: uncleandyv at gmail.com (Andrey Velikoredchanin) Date: Wed, 18 Jul 2012 20:55:43 +0400 Subject: =?UTF-8?B?UmU6INCf0YDQvtGB0YLQsNGPINC30LDQtNCw0YfQsA==?= In-Reply-To: <92701342629941@web13f.yandex.ru> References: <92701342629941@web13f.yandex.ru> Message-ID: 18 июля 2012 г., 20:45 пользователь Denis F. Latypoff написал: > > > > Вы уверены что здесь имеется ввиду именно параметры из запроса? Я попробовал, у меня в любом случае выводится none. :( -------------- next part -------------- An HTML attachment was scrubbed... URL: From uncleandyv at gmail.com Wed Jul 18 16:57:14 2012 From: uncleandyv at gmail.com (Andrey Velikoredchanin) Date: Wed, 18 Jul 2012 20:57:14 +0400 Subject: =?UTF-8?B?UmU6INCf0YDQvtGB0YLQsNGPINC30LDQtNCw0YfQsA==?= In-Reply-To: References: <92701342629941@web13f.yandex.ru> Message-ID: 18 июля 2012 г., 20:55 пользователь Andrey Velikoredchanin < uncleandyv at gmail.com> написал: > 18 июля 2012 г., 20:45 пользователь Denis F. Latypoff написал: > > >> >> >> > Вы уверены что здесь имеется ввиду именно параметры из запроса? Я > попробовал, у меня в любом случае выводится none. :( > Да, все верно. Просто не сразу вашу запись понял. Имеется ввиду что имя должно быть "arg_<имя параметра>". Так все работает - спасибо! -------------- next part -------------- An HTML attachment was scrubbed... URL: From latypoff at yandex.ru Wed Jul 18 16:58:07 2012 From: latypoff at yandex.ru (Denis F. Latypoff) Date: Wed, 18 Jul 2012 23:58:07 +0700 Subject: =?UTF-8?B?UmU6INCf0YDQvtGB0YLQsNGPINC30LDQtNCw0YfQsA==?= In-Reply-To: References: <92701342629941@web13f.yandex.ru> Message-ID: <97121342630687@web13f.yandex.ru> 18.07.2012, 23:55, "Andrey Velikoredchanin" : > 18 июля 2012 г., 20:45 пользователь Denis F. Latypoff написал: >> > > Вы уверены что здесь имеется ввиду именно параметры из запроса? Уверены. > Я попробовал, у меня в любом случае выводится none. :( > "arg_" не забыли перед названием параметра? -- br, Denis F. Latypoff. From nginx-forum at nginx.us Thu Jul 19 03:51:58 2012 From: nginx-forum at nginx.us (InventOR) Date: Wed, 18 Jul 2012 23:51:58 -0400 (EDT) Subject: subs_filter invalid variable name In-Reply-To: <2ebe2e2481a9456a4c7d867d21138307.NginxMailingListRussian@forum.nginx.org> References: <2ebe2e2481a9456a4c7d867d21138307.NginxMailingListRussian@forum.nginx.org> Message-ID: попытался через переменную: set $bodytext '\n'; subs_filter '' $bodytext; результат тот же Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228671,228719#msg-228719 From nginx-forum at nginx.us Thu Jul 19 09:06:05 2012 From: nginx-forum at nginx.us (JohnBat26) Date: Thu, 19 Jul 2012 05:06:05 -0400 (EDT) Subject: =?UTF-8?B?UmU6INCe0YLQvdC+0YHQuNGC0LXQu9GM0L3QviDQvNC10LTQu9C10L3QvdCw0Y8g?= =?UTF-8?B?0YDQsNCx0L7RgtCwIHByb3h5IGNhY2hlINCyIG5naW54IC4uLg==?= In-Reply-To: References: Message-ID: <94125f134d5d5d6f75453c1de3c142bc.NginxMailingListRussian@forum.nginx.org> И ещё вопрос. Если на location придёт одновременно 100 запросов, как будет nginx работать с proxy_cache ? Только один провалится на backend, а затем ответ закэшируется для всех? Или сразу много запросов проваливаются на backend, до тех пор, пока кэш не обновится? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228674,228728#msg-228728 From buyloff at gmail.com Thu Jul 19 09:46:50 2012 From: buyloff at gmail.com (Buylov Sergey) Date: Thu, 19 Jul 2012 13:46:50 +0400 Subject: =?UTF-8?B?UmU6INCe0YLQvdC+0YHQuNGC0LXQu9GM0L3QviDQvNC10LTQu9C10L3QvdCw0Y8g?= =?UTF-8?B?0YDQsNCx0L7RgtCwIHByb3h5IGNhY2hlINCyIG5naW54IC4uLg==?= In-Reply-To: <94125f134d5d5d6f75453c1de3c142bc.NginxMailingListRussian@forum.nginx.org> References: <94125f134d5d5d6f75453c1de3c142bc.NginxMailingListRussian@forum.nginx.org> Message-ID: Начиная с версии 1.1.12 http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_cache_lock 2012/7/19 JohnBat26 > И ещё вопрос. > Если на location придёт одновременно 100 > запросов, как будет nginx работать с > proxy_cache ? > Только один провалится на backend, а затем > ответ закэшируется для всех? > Или сразу много запросов проваливаются > на backend, до тех пор, пока кэш не > обновится? > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,228674,228728#msg-228728 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum at nginx.us Thu Jul 19 10:56:58 2012 From: nginx-forum at nginx.us (JohnBat26) Date: Thu, 19 Jul 2012 06:56:58 -0400 (EDT) Subject: =?UTF-8?B?UmU6INCe0YLQvdC+0YHQuNGC0LXQu9GM0L3QviDQvNC10LTQu9C10L3QvdCw0Y8g?= =?UTF-8?B?0YDQsNCx0L7RgtCwIHByb3h5IGNhY2hlINCyIG5naW54IC4uLg==?= In-Reply-To: <94125f134d5d5d6f75453c1de3c142bc.NginxMailingListRussian@forum.nginx.org> References: <94125f134d5d5d6f75453c1de3c142bc.NginxMailingListRussian@forum.nginx.org> Message-ID: Спасибо. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228674,228733#msg-228733 From public-mail at alekciy.ru Thu Jul 19 11:51:51 2012 From: public-mail at alekciy.ru (=?UTF-8?B?0JDQu9C10LrRgdC10Lkg0KHRg9C90LTRg9C60L7Qsg==?=) Date: Thu, 19 Jul 2012 15:51:51 +0400 Subject: =?UTF-8?B?0JzQvtC90LjRgtC+0YDQuNC90LMgYmFja2xvZyDQvNC10LbQtNGDIG5naW54INC4?= =?UTF-8?B?INCx0Y3QutGN0L3QtNC+0Lw=?= Message-ID: Всех приветствую. Хочу уточнить такой аспект. Кто что использует для мониторинга backlog очереди между nginx и бэкэндом? Цель - узнать, что возможно стоит поднять количество рабочих процессов бэкэнда не доводя до ситуации с появлением 50х-тых. From postmaster at softsearch.ru Thu Jul 19 12:09:13 2012 From: postmaster at softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Thu, 19 Jul 2012 16:09:13 +0400 Subject: =?UTF-8?B?UmU6INCc0L7QvdC40YLQvtGA0LjQvdCzIGJhY2tsb2cg0LzQtdC20LTRgyBuZ2lu?= =?UTF-8?B?eCDQuCDQsdGN0LrRjdC90LTQvtC8?= In-Reply-To: References: Message-ID: <5379774.20120719160913@softsearch.ru> Здравствуйте, Алексей. > Хочу уточнить такой аспект. Кто что использует для мониторинга backlog > очереди между nginx и бэкэндом? Цель - узнать, что возможно стоит > поднять количество рабочих процессов бэкэнда не доводя до ситуации с > появлением 50х-тых. Эта же цель достигается через логи, например.... -- С уважением, Михаил mailto:postmaster at softsearch.ru From mdounin at mdounin.ru Thu Jul 19 12:35:13 2012 From: mdounin at mdounin.ru (Maxim Dounin) Date: Thu, 19 Jul 2012 16:35:13 +0400 Subject: subs_filter invalid variable name In-Reply-To: <2ebe2e2481a9456a4c7d867d21138307.NginxMailingListRussian@forum.nginx.org> References: <2ebe2e2481a9456a4c7d867d21138307.NginxMailingListRussian@forum.nginx.org> Message-ID: <20120719123513.GZ31671@mdounin.ru> Hello! On Wed, Jul 18, 2012 at 05:43:22AM -0400, InventOR wrote: > есть такая подстановка: > > subs_filter '' '\n'; > > ругается "nginx: [emerg] invalid variable name in > конфиг:строка" > убираю символ $ - все работает. пробовал > экранировать - не помогает. если же > заменить на \x24 - код не работает. > > Если кто-то сталкивался - подскажите > как захардкодить данное решение. > (Вынести во внешний скрипт и подгружать > его не предлагать) Это известный баг. В тех местах, где nginx пытается раскрывать перменные, использовать $ сейчас нельзя. В качестве workaround'а можно воспользоваться любым из имеющихся способов установить переменную без раскрытия переменных в устанавливаемом значении, e.g. должно сработать с помощью map так: map $pid $bodytext { default '\n'; } subs_filter '' $bodytext; Maxim Dounin From kaa at zvuki.ru Thu Jul 19 12:45:59 2012 From: kaa at zvuki.ru (Andrey Kopeyko) Date: Thu, 19 Jul 2012 16:45:59 +0400 Subject: =?UTF-8?B?UmU6INCc0L7QvdC40YLQvtGA0LjQvdCzIGJhY2tsb2cg0LzQtdC20LTRgyBuZ2lu?= =?UTF-8?B?eCDQuCDQsdGN0LrRjdC90LTQvtC8?= In-Reply-To: References: Message-ID: <50080187.5080907@zvuki.ru> 19.07.2012 15:51, Алексей Сундуков пишет: > Всех приветствую. Добры день! > Хочу уточнить такой аспект. Кто что использует для мониторинга backlog > очереди между nginx и бэкэндом? Простенький шелл-скрипт, пускаемый по крону : ... # Current listen queue sizes (qlen/incqlen/maxqlen) QUEUE=`${NETSTAT} -Lan |grep "$SOCKET " |awk '{print $2}'` QLEN=$(expr $QUEUE : '\(.*\)\/.*\/.*') MAXQLEN=$(expr $QUEUE : '.*\/.*\/\(.*\)') if [ $QLEN -ge $MAXQLEN ] then error " $SERVICE: qlen IS OVERFLOWED: ${QLEN}/${MAXQLEN}" ... -- Best regards, Andrey Kopeyko From citrin at citrin.ru Thu Jul 19 12:52:30 2012 From: citrin at citrin.ru (Anton Yuzhaninov) Date: Thu, 19 Jul 2012 16:52:30 +0400 Subject: =?UTF-8?B?UmU6INCc0L7QvdC40YLQvtGA0LjQvdCzIGJhY2tsb2cg0LzQtdC20LTRgyBuZ2lu?= =?UTF-8?B?eCDQuCDQsdGN0LrRjdC90LTQvtC8?= In-Reply-To: References: Message-ID: <5008030E.9080903@citrin.ru> On 19.07.2012 15:51, Алексей Сундуков wrote: > Хочу уточнить такой аспект. Кто что использует для мониторинга backlog > очереди между nginx и бэкэндом? Цель - узнать, что возможно стоит > поднять количество рабочих процессов бэкэнда не доводя до ситуации с > появлением 50х-тых. В систему мониторинга добавлен скрипт вида: netstat -Lan | awk 'NR>2 && /^(tcp4|unix)/ { split($2,lq,"/"); gsub(/[\.\/]/,"_",$3); sub(/\*/,"0_0_0_0",$3); print "qlen:"$3, lq[1]}' (это BSD, для Linux нужно свежее ядро, другие опции netstat и другой его парсинг). -- Anton Yuzhaninov From citrin at citrin.ru Thu Jul 19 14:50:50 2012 From: citrin at citrin.ru (Anton Yuzhaninov) Date: Thu, 19 Jul 2012 18:50:50 +0400 Subject: =?UTF-8?B?UmU6INCc0L7QvdC40YLQvtGA0LjQvdCzIGJhY2tsb2cg0LzQtdC20LTRgyBuZ2lu?= =?UTF-8?B?eCDQuCDQsdGN0LrRjdC90LTQvtC8?= In-Reply-To: References: Message-ID: <50081ECA.8060008@citrin.ru> On 19.07.2012 15:51, Алексей Сундуков wrote: > Хочу уточнить такой аспект. Кто что использует для мониторинга backlog > очереди между nginx и бэкэндом? Цель - узнать, что возможно стоит > поднять количество рабочих процессов бэкэнда не доводя до ситуации с > появлением 50х-тых. Под FreeBSD есть еще вариант смотреть непосредственно из бэкенда через getsockopt(socket, SOL_SOCKET, SO_LISTENQLEN) Кроме мониторинга это можно использовать и для изминения логики работы бэкенда: если в listen queue много соединений, то можно включать особый режим работы в котором отключаются ресурсоемкие, но не критичные вещи - лучше на запросы отвечать плохо, чем не отвечать совсем (graceful service degradation). -- Anton Yuzhaninov From nginx-forum at nginx.us Thu Jul 19 20:21:42 2012 From: nginx-forum at nginx.us (theromis1) Date: Thu, 19 Jul 2012 16:21:42 -0400 (EDT) Subject: NGINX + Kerberos(heimdal) Message-ID: <6f7000d59f8af91e5fccb63833ba54c4.NginxMailingListRussian@forum.nginx.org> Хотел поинтересоваться перед тем как нырять в пучину KRB5. Хочу сделать модуль авторизации через него, то что видно онлайн, оно блокирующее. Если есть что то серьезное, с удавольствием посмотрю. Если кто коврял это дело, какие там подводные камни в прикручивании его к NGINX? я имею в виду кошерно, асинхронно На первый взгляд, как мне показалось там фаловый дискриптор скрыт, пожтому его надо оттуда выковыривать. Заранее спасибо за "деление" опытом :) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228760,228760#msg-228760 From mdounin at mdounin.ru Fri Jul 20 09:02:23 2012 From: mdounin at mdounin.ru (Maxim Dounin) Date: Fri, 20 Jul 2012 13:02:23 +0400 Subject: =?UTF-8?B?UmU6INC60LDQuiDQv9GA0LDQstC40LvRjNC90L4g0YDQsNGB0YHRh9C40YLQsNGC?= =?UTF-8?B?0Ywg0YDQsNC30LzQtdGAINCx0YPRhNGE0LXRgNC+0LI=?= In-Reply-To: References: Message-ID: <20120720090223.GH31671@mdounin.ru> Hello! On Mon, Jul 16, 2012 at 07:15:11AM -0400, e502 wrote: > В error_log валится > *9196491 upstream sent too big header while reading response header from > upstream , как правильно расчитать размер > fastcgi_buffers и fastcgi_buffer_size > > Спасибо. Размер fastcgi_buffer_size имеет смысл поставить в разумное значение (4k по умолчанию - разумное), и в случае возникновения проблем - увеличивать, одновременно делая внушения разработчикам. Если буфер уже 64k, а заголовок ответа в него всё ещё не влезает - имеет смысл выкинуть/сменить софт и/или разработчиков. Размер и количество fastcgi_buffers оцениваются исходя из количества памяти и размеров типичных ответов. В идеале все ответы бекенда должны влезать в буфера (и сообщений "upstream reponse is buffered to a temporary file" на уровне warn быть не должно). Но помять обычно не бесконечна, и желательно при этом расчитывать так, чтобы она не кончилась, если вдруг каждое соединение (которых может быть вплоть до worker_connections на каждый процесс) выделит себе полный комплект буферов. Ну и на другие задачи она обычно тоже нужна. Maxim Dounin From mdounin at mdounin.ru Fri Jul 20 10:12:55 2012 From: mdounin at mdounin.ru (Maxim Dounin) Date: Fri, 20 Jul 2012 14:12:55 +0400 Subject: NGINX + Kerberos(heimdal) In-Reply-To: <6f7000d59f8af91e5fccb63833ba54c4.NginxMailingListRussian@forum.nginx.org> References: <6f7000d59f8af91e5fccb63833ba54c4.NginxMailingListRussian@forum.nginx.org> Message-ID: <20120720101254.GN31671@mdounin.ru> Hello! On Thu, Jul 19, 2012 at 04:21:42PM -0400, theromis1 wrote: > Хотел поинтересоваться перед тем как > нырять в пучину KRB5. > > Хочу сделать модуль авторизации через > него, то что видно онлайн, оно > блокирующее. > Если есть что то серьезное, с > удавольствием посмотрю. Michael Shadle что-то усиленно пытался спонсировать, и он вроде даже понимал, что блокироваться не должно. Но я лично туда не смотрел, так что про применимость результата ничего определённого не знаю. Исходный анонс у него в блоге тут: http://michaelshadle.com/2010/01/17/spnego-for-nginx-a-start-at-least Maxim Dounin From nginx-forum at nginx.us Fri Jul 20 15:36:18 2012 From: nginx-forum at nginx.us (arty777) Date: Fri, 20 Jul 2012 11:36:18 -0400 (EDT) Subject: try_files random Message-ID: location ~ ^/media(.+)$ { root /raid; try_files /raid1$1 /raid2$1 /raid3$1 /raid4$1 /raid5$1 /raid6$1 /raid7$1 /raid8$1 /ssd1$1 =404; К примеру если raid1 имеет с raid2 один и тот же набор файлов , то трай файлс будет нагружать ТОЛЬКО raid1 т.к. в доке написано что он ищет поочереди (сверху вниз) до 1-го найденного файла , как "заставить" try_files идти в случайном порядке , что б примерно равномерно все зеркала нагружать? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228791,228791#msg-228791 From nginx-forum at nginx.us Fri Jul 20 15:47:59 2012 From: nginx-forum at nginx.us (arty777) Date: Fri, 20 Jul 2012 11:47:59 -0400 (EDT) Subject: =?UTF-8?B?UmU6IFtmcl0g0JjQt9C80LXQvdC40YLRjCDQvdC10LzQvdC+0LPQviDQsNC70LM=?= =?UTF-8?B?0L7RgNC40YLQvCB0cnkgZmlsZXM=?= In-Reply-To: <4CF3E8F1.1010904@kpi.ua> References: <4CF3E8F1.1010904@kpi.ua> Message-ID: <820b676ab492178f3a6052cd8f99cb15.NginxMailingListRussian@forum.nginx.org> http://forum.nginx.org/read.php?21,228791 Решили как-то ?? Сделать трай файлс рандомным??? ))) Тоже надо , сильно ,... Posted at Nginx Forum: http://forum.nginx.org/read.php?21,154181,228792#msg-228792 From hell-for-yahoo at umail.ru Fri Jul 20 16:46:39 2012 From: hell-for-yahoo at umail.ru (Andrey Repin) Date: Fri, 20 Jul 2012 20:46:39 +0400 Subject: try_files random In-Reply-To: References: Message-ID: <1481614078.20120720204639@mtu-net.ru> Здравствуйте, Уважаемый(-ая, -ое) arty777! a> К примеру если raid1 имеет с raid2 один и a> тот же набор файлов , то трай файлс a> будет нагружать ТОЛЬКО raid1 т.к. в доке a> написано что он ищет поочереди (сверху a> вниз) до 1-го найденного файла , как a> "заставить" try_files идти в случайном a> порядке , что б примерно равномерно все a> зеркала нагружать? Это называется Load Balancing и реализовывается другими методами. -- С уважением Andrey Repin (hell-for-yahoo at umail.ru) пятница, 20.07.2012, <20:45> From nginx-forum at nginx.us Fri Jul 20 18:08:30 2012 From: nginx-forum at nginx.us (arty777) Date: Fri, 20 Jul 2012 14:08:30 -0400 (EDT) Subject: try_files random In-Reply-To: References: Message-ID: <489f29bf7abd9df539ef3c6956f5b75c.NginxMailingListRussian@forum.nginx.org> Которыми методами? Если в 1 сервере много зеркальных дисков и надо делать балансировку на эти диски , в рамках одного локейшена? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228791,228796#msg-228796 From dmitry at labutin.net Fri Jul 20 18:36:48 2012 From: dmitry at labutin.net (Dmitry Y. Labutin) Date: Fri, 20 Jul 2012 22:36:48 +0400 Subject: try_files random In-Reply-To: <489f29bf7abd9df539ef3c6956f5b75c.NginxMailingListRussian@forum.nginx.org> References: <489f29bf7abd9df539ef3c6956f5b75c.NginxMailingListRussian@forum.nginx.org> Message-ID: <5009A540.7080709@labutin.net> Я конечно в nginx новичок, но может быть запустить несколько экземпляров nginx на разных портах, которые будут настроены на разные рейды и будут backend'ом для одного, которые будет балансировщиком? Дмитрий Лабутин 20.07.2012 22:08, arty777 пишет: > Которыми методами? > Если в 1 сервере много зеркальных > дисков и надо делать балансировку на > эти диски , в рамках одного локейшена? > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228791,228796#msg-228796 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > From nginx-forum at nginx.us Fri Jul 20 19:40:06 2012 From: nginx-forum at nginx.us (arty777) Date: Fri, 20 Jul 2012 15:40:06 -0400 (EDT) Subject: try_files random In-Reply-To: <489f29bf7abd9df539ef3c6956f5b75c.NginxMailingListRussian@forum.nginx.org> References: <489f29bf7abd9df539ef3c6956f5b75c.NginxMailingListRussian@forum.nginx.org> Message-ID: Дмитрий Лабутин И что от такого волшебного метода изменится? Как с 2 одинаковых дисков рандомно 1 и тот же файл отдавать ,1-му клиенту с 1-го диска , 2-му со второго? ))) Не получится . Ждем Андрей Василишин-а на помощь ! А вообще реально нужный функционал для try_files , что б без извратов обойтись , подробнее в этой теме http://forum.nginx.org/read.php?21,154181 Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228791,228805#msg-228805 From zzz at zzz.org.ua Fri Jul 20 20:13:15 2012 From: zzz at zzz.org.ua (Alexandr Gomoliako) Date: Fri, 20 Jul 2012 23:13:15 +0300 Subject: try_files random In-Reply-To: <489f29bf7abd9df539ef3c6956f5b75c.NginxMailingListRussian@forum.nginx.org> References: <489f29bf7abd9df539ef3c6956f5b75c.NginxMailingListRussian@forum.nginx.org> Message-ID: > Которыми методами? > Если в 1 сервере много зеркальных > дисков и надо делать балансировку на > эти диски , в рамках одного локейшена? Встроенным перлом. From nginx-forum at nginx.us Fri Jul 20 20:30:34 2012 From: nginx-forum at nginx.us (arty777) Date: Fri, 20 Jul 2012 16:30:34 -0400 (EDT) Subject: try_files random In-Reply-To: References: Message-ID: <96f3fe7dd7b059d585a19ddc2625bb26.NginxMailingListRussian@forum.nginx.org> Живые примеры в студию пожалуйста! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228791,228807#msg-228807 From zzz at zzz.org.ua Fri Jul 20 21:15:04 2012 From: zzz at zzz.org.ua (Alexandr Gomoliako) Date: Sat, 21 Jul 2012 00:15:04 +0300 Subject: try_files random In-Reply-To: <96f3fe7dd7b059d585a19ddc2625bb26.NginxMailingListRussian@forum.nginx.org> References: <96f3fe7dd7b059d585a19ddc2625bb26.NginxMailingListRussian@forum.nginx.org> Message-ID: > Живые примеры в студию пожалуйста! https://gist.github.com/3153263 From ne at vbart.ru Fri Jul 20 22:19:40 2012 From: ne at vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Sat, 21 Jul 2012 02:19:40 +0400 Subject: try_files random In-Reply-To: References: Message-ID: <201207210219.40662.ne@vbart.ru> On Friday 20 July 2012 19:36:18 arty777 wrote: > location ~ ^/media(.+)$ { > root /raid; > > try_files > /raid1$1 > /raid2$1 > /raid3$1 > /raid4$1 > /raid5$1 > /raid6$1 > /raid7$1 > /raid8$1 > /ssd1$1 > > =404; > split_clients "1$date_gmt$remote_addr" $v1 { 12.5% /raid1; 12.5% /raid2; 12.5% /raid3; 12.5% /raid4; 12.5% /raid5; 12.5% /raid6; 12.5% /raid7; 12.5% /raid8; } split_clients "2$date_gmt$remote_addr" $v2 { 12.5% /raid1; 12.5% /raid2; 12.5% /raid3; 12.5% /raid4; 12.5% /raid5; 12.5% /raid6; 12.5% /raid7; 12.5% /raid8; } ... split_clients "8$date_gmt$remote_addr" $v8 { 12.5% /raid1; 12.5% /raid2; 12.5% /raid3; 12.5% /raid4; 12.5% /raid5; 12.5% /raid6; 12.5% /raid7; 12.5% /raid8; } server { location ~ ^/media(.+)$ { try_files $v1$1 $v2$1 $v3$1 $v4$1 $v5$1 $v6$1 $v7$1 $v8$1 /ssd1$1 =404; } } Но лучше все-таки данные по дискам распределять не рандомно, а по определенному правилу. -- Валентин Бартенев From ne at vbart.ru Fri Jul 20 22:22:18 2012 From: ne at vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Sat, 21 Jul 2012 02:22:18 +0400 Subject: try_files random In-Reply-To: <201207210219.40662.ne@vbart.ru> References: <201207210219.40662.ne@vbart.ru> Message-ID: <201207210222.18747.ne@vbart.ru> On Saturday 21 July 2012 02:19:40 Валентин Бартенев wrote: [...] > > split_clients "1$date_gmt$remote_addr" $v1 { > 12.5% /raid1; > 12.5% /raid2; > 12.5% /raid3; > 12.5% /raid4; > 12.5% /raid5; > 12.5% /raid6; > 12.5% /raid7; > 12.5% /raid8; > } > > split_clients "2$date_gmt$remote_addr" $v2 { > 12.5% /raid1; > 12.5% /raid2; > 12.5% /raid3; > 12.5% /raid4; > 12.5% /raid5; > 12.5% /raid6; > 12.5% /raid7; > 12.5% /raid8; > } > > ... > > split_clients "8$date_gmt$remote_addr" $v8 { > 12.5% /raid1; > 12.5% /raid2; > 12.5% /raid3; > 12.5% /raid4; > 12.5% /raid5; > 12.5% /raid6; > 12.5% /raid7; > 12.5% /raid8; > } > > > server { > location ~ ^/media(.+)$ { > try_files $v1$1 $v2$1 $v3$1 $v4$1 $v5$1 $v6$1 $v7$1 $v8$1 > /ssd1$1 =404; > } > } > Ай нет, что-то я ступил, так работать не будет. -- Валентин Бартенев From zzz at zzz.org.ua Fri Jul 20 22:42:13 2012 From: zzz at zzz.org.ua (Alexandr Gomoliako) Date: Sat, 21 Jul 2012 01:42:13 +0300 Subject: try_files random In-Reply-To: <201207210219.40662.ne@vbart.ru> References: <201207210219.40662.ne@vbart.ru> Message-ID: > Но лучше все-таки данные по дискам распределять не рандомно, а по определенному > правилу. Перлом можно хоть рандомно, хоть по "правилу". Зачем мучаться без перла? From nginx-forum at nginx.us Sat Jul 21 15:25:03 2012 From: nginx-forum at nginx.us (arty777) Date: Sat, 21 Jul 2012 11:25:03 -0400 (EDT) Subject: try_files random In-Reply-To: References: <489f29bf7abd9df539ef3c6956f5b75c.NginxMailingListRussian@forum.nginx.org> Message-ID: https://gist.github.com/3153263 Напишите пожалуйста к этому комментарии , не понятно до конца как пользоватся . Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228791,228821#msg-228821 From zzz at zzz.org.ua Sat Jul 21 16:46:34 2012 From: zzz at zzz.org.ua (Alexandr Gomoliako) Date: Sat, 21 Jul 2012 19:46:34 +0300 Subject: try_files random In-Reply-To: References: <489f29bf7abd9df539ef3c6956f5b75c.NginxMailingListRussian@forum.nginx.org> Message-ID: 2012/7/21 arty777 : > https://gist.github.com/3153263 > > Напишите пожалуйста к этому > комментарии , не понятно до конца как > пользоватся . Допустим, есть три источника и три копии. Вносим их в @pool и добавляем 6 путей в try_files: ... @pool = ("src1", "src2", "src3", "src1copy", "src2copy", "src3copy"); ... try_files /$dice.txt /$dice.txt /$dice.txt /$dice.txt /$dice.txt /$dice.txt =404; ... $dice по кругу принимает значения из @pool пока не найдет файл. И при следующем запросе продолжает с того же места. Т.е. если нашелся в src2, то в следующий раз поиск начнется с src3 по кругу и src2 уже будет проверяться в последнюю очередь. А дальше уже на что фантазии хватит. Лучше всего через хэш функцию и без try_files вообще, чтобы максимально эффективно использовать и кэш фс и меньше всего дергать диски. Но тогда нужно изначально раскладывать файлы на диски по этой хэш функции. From nginx-forum at nginx.us Sat Jul 21 18:21:31 2012 From: nginx-forum at nginx.us (arty777) Date: Sat, 21 Jul 2012 14:21:31 -0400 (EDT) Subject: try_files random In-Reply-To: References: <489f29bf7abd9df539ef3c6956f5b75c.NginxMailingListRussian@forum.nginx.org> Message-ID: <353d6618ceda08fdf033d517dfee1631.NginxMailingListRussian@forum.nginx.org> Прекрасно , спасибо , будем пробовать Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228791,228823#msg-228823 From nginx-forum at nginx.us Sat Jul 21 20:23:27 2012 From: nginx-forum at nginx.us (kermit32dll) Date: Sat, 21 Jul 2012 16:23:27 -0400 (EDT) Subject: =?UTF-8?B?0J/RgNC+0LTQstC40L3Rg9GC0YvQuSDQsNC90LDQu9C40LfQsNGC0L7RgCBIVFRQ?= =?UTF-8?B?INC30LDQv9GA0L7RgdC+0LIu?= Message-ID: <156b0568fbafe8e93abc1e7d37d85928.NginxMailingListRussian@forum.nginx.org> Доброго времени суток, Возникла потребность в следующем функционале: 1) имеется nginx, настроенный как прокси для бэкэнда на Апаче. 2) принимаем запрос от пользователя, но не сразу же проксируется на бэкэнд, а "задерживается", а информация о запросе скидывается в некий глобальный массив 3) на основании накопленных в массиве запросов данных, скажем, за последние 5 секунд, постоянно обсчитывается статистика для каждого IP, приславшего какие-то запросы 4) если на основании статистики IP распознаётся как зловредный, то все запросы с него отбрасываются (удаляются из массива из пункта "2" и "забываются"), а сам IP заносится в чёрный список и банится. А если же адрес считается хорошим, т.е. за 5 секунд ничего противозаконного не сделал, то все накопленные запросы пробрасываются на бэкэнд, а IP запоминается как "хорошая". Грубо говоря, имеется "мусорник", в который скидываются все входящие запросы, и если по прошествии 5 секунд адрес не сделал ничего плохого в стиле "10 х "GET /" за 2 секунды", то все запросы с адреса пробрасываются на бэкэнд, а иначе - удаляются. Реализуемо ли это в nginx, или же подобная блокировка запросов в nginx технически невозможна? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228827,228827#msg-228827 From zzz at zzz.org.ua Sat Jul 21 20:33:47 2012 From: zzz at zzz.org.ua (Alexandr Gomoliako) Date: Sat, 21 Jul 2012 23:33:47 +0300 Subject: =?UTF-8?B?UmU6INCf0YDQvtC00LLQuNC90YPRgtGL0Lkg0LDQvdCw0LvQuNC30LDRgtC+0YAg?= =?UTF-8?B?SFRUUCDQt9Cw0L/RgNC+0YHQvtCyLg==?= In-Reply-To: <156b0568fbafe8e93abc1e7d37d85928.NginxMailingListRussian@forum.nginx.org> References: <156b0568fbafe8e93abc1e7d37d85928.NginxMailingListRussian@forum.nginx.org> Message-ID: > не сразу же проксируется на бэкэнд, а > "задерживается", а информация о запросе > скидывается в некий глобальный массив > Реализуемо ли это в nginx, или же подобная > блокировка запросов в nginx технически > невозможна? Реализуемо в nginx-perl ( http://zzzcpan.github.com/nginx-perl/Nginx.html#REQUEST_QUEUE ) или в собственном модуле. From server_inc at list.ru Sun Jul 22 02:18:14 2012 From: server_inc at list.ru (=?UTF-8?B?0KHRgtCw0L3QuNGB0LvQsNCy?=) Date: Sun, 22 Jul 2012 05:18:14 +0300 Subject: =?UTF-8?B?JGRvY3VtZW50X3Jvb3Qg0LIg0YDQsNC30L3Ri9GFINC60L7QvdGC0LXQutGB0YI=?= =?UTF-8?B?0LDRhQ==?= Message-ID: <500B62E6.6060400@list.ru> Здравствуйте. Немного запутался. Подскажите пожалуйста, на примере "disable_symlinks on from=$document_root;" в контексте "http" $document_root будет в этом случае равняться тому значению, которое установлено в контексте "http", или в контексте "server"? Заранее благодарю за подсказку. From sergey.didenko at gmail.com Sun Jul 22 08:51:02 2012 From: sergey.didenko at gmail.com (Sergey Didenko) Date: Sun, 22 Jul 2012 11:51:02 +0300 Subject: =?UTF-8?B?ZnN5bmMg0L/RgNC4INC60LXRiNC40YDQvtCy0LDQvdC40Lgg0LfQsNC/0YDQvtGB?= =?UTF-8?B?0L7QsiDQuiDQsdGN0LrQtdC90LTRgw==?= Message-ID: Здравствуйте, размышляю как правильно настраивать кеширование на VPS с медленным диском, соответсвенно возник вопрос: Вызывает ли From sergey.didenko at gmail.com Sun Jul 22 08:55:04 2012 From: sergey.didenko at gmail.com (Sergey Didenko) Date: Sun, 22 Jul 2012 11:55:04 +0300 Subject: =?UTF-8?B?UmU6IGZzeW5jINC/0YDQuCDQutC10YjQuNGA0L7QstCw0L3QuNC4INC30LDQv9GA?= =?UTF-8?B?0L7RgdC+0LIg0Log0LHRjdC60LXQvdC00YM=?= In-Reply-To: References: Message-ID: Недописал :) размышляю как правильно настраивать кеширование на VPS с медленным диском, соответсвенно возник вопрос: Делает ли nginx fsync при записи каждого ответа от бэкенда на диск? Если делает, то как лучше отключить его и есть ли при этом подводные камни? На уровне всей файловой системы отключать не хочется, а решение типа tmpfs кажутся расточительством. Сергей From citrin at citrin.ru Sun Jul 22 11:12:47 2012 From: citrin at citrin.ru (Anton Yuzhaninov) Date: Sun, 22 Jul 2012 15:12:47 +0400 Subject: =?UTF-8?B?UmU6IGZzeW5jINC/0YDQuCDQutC10YjQuNGA0L7QstCw0L3QuNC4INC30LDQv9GA?= =?UTF-8?B?0L7RgdC+0LIg0Log0LHRjdC60LXQvdC00YM=?= In-Reply-To: References: Message-ID: <500BE02F.5010707@citrin.ru> 22.07.2012 12:55, Sergey Didenko пишет: > Делает ли nginx fsync при записи каждого ответа от бэкенда на диск? В исходниках fsync нет, так что скорее всего не делает. Это несложно проверить запустив ktrace/truss/strace и сделав к nginx запрос, который будет записан в кэш. From nginx-forum at nginx.us Sun Jul 22 12:07:21 2012 From: nginx-forum at nginx.us (kermit32dll) Date: Sun, 22 Jul 2012 08:07:21 -0400 (EDT) Subject: =?UTF-8?B?UmU6INCf0YDQvtC00LLQuNC90YPRgtGL0Lkg0LDQvdCw0LvQuNC30LDRgtC+0YAg?= =?UTF-8?B?SFRUUCDQt9Cw0L/RgNC+0YHQvtCyLg==?= In-Reply-To: <156b0568fbafe8e93abc1e7d37d85928.NginxMailingListRussian@forum.nginx.org> References: <156b0568fbafe8e93abc1e7d37d85928.NginxMailingListRussian@forum.nginx.org> Message-ID: Alexandr Gomoliako, спасибо за ответ. Есть ли у вас желание написать данный функционал в виде модуля, естественно, на денежной основе? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228827,228840#msg-228840 From voron at amhost.net Sun Jul 22 13:41:43 2012 From: voron at amhost.net (Alex Vorona) Date: Sun, 22 Jul 2012 16:41:43 +0300 Subject: =?UTF-8?B?UmU6INCf0YDQvtC00LLQuNC90YPRgtGL0Lkg0LDQvdCw0LvQuNC30LDRgtC+0YAg?= =?UTF-8?B?SFRUUCDQt9Cw0L/RgNC+0YHQvtCyLg==?= In-Reply-To: <156b0568fbafe8e93abc1e7d37d85928.NginxMailingListRussian@forum.nginx.org> References: <156b0568fbafe8e93abc1e7d37d85928.NginxMailingListRussian@forum.nginx.org> Message-ID: <500C0317.80301@amhost.net> Попробуйте http://code.google.com/p/naxsi/ From nginx-forum at nginx.us Sun Jul 22 14:11:13 2012 From: nginx-forum at nginx.us (kermit32dll) Date: Sun, 22 Jul 2012 10:11:13 -0400 (EDT) Subject: =?UTF-8?B?UmU6INCf0YDQvtC00LLQuNC90YPRgtGL0Lkg0LDQvdCw0LvQuNC30LDRgtC+0YAg?= =?UTF-8?B?SFRUUCDQt9Cw0L/RgNC+0YHQvtCyLg==?= In-Reply-To: <500C0317.80301@amhost.net> References: <500C0317.80301@amhost.net> Message-ID: <1b19c6ddd6aae2ef7fc4a5a7f3deaaca.NginxMailingListRussian@forum.nginx.org> Alex Vorona, спасибо, но naxsi - это аналог mod_security для Апача, оно не умеет запросы "притормаживать", и делать анализ на основе нескольких "задержанных" запросов. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228827,228842#msg-228842 From mail at knutov.com Sun Jul 22 18:15:00 2012 From: mail at knutov.com (Nick Knutov) Date: Mon, 23 Jul 2012 00:15:00 +0600 Subject: =?UTF-8?B?0JLRgdGC0YDQvtC10L3QvdGL0LUg0L/QtdGA0LXQvNC10L3QvdGL0LUg0Lggc3R1?= =?UTF-8?B?Yl9zdGF0dXM=?= Message-ID: <500C4324.70805@knutov.com> Можно ли получить ввиде встроенных переменных те цифры, которые показывает stub_status? Предполагаемое использование - если активных коннектов больше N - считать, что начался DDOS и применять некоторую простую фильтрацию. Без крона, перегенерации конфигов и прочих внешних телодвижений. Посмотрел http://nginx.org/ru/docs/http/ngx_http_core_module.html#variables ничего подходящего не увидел. Очень хочется, хотя бы, active connections. Заодним, ни в списке модулей, ни на http://nginx.org/ru/docs/dirindex.html нет вообще ничего про stub_status. Так ведь не должно быть? -- Best Regards, Nick Knutov http://knutov.com ICQ: 272873706 Voice: +7-904-84-23-130 From ne at vbart.ru Mon Jul 23 02:48:13 2012 From: ne at vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Mon, 23 Jul 2012 06:48:13 +0400 Subject: =?UTF-8?B?UmU6ICRkb2N1bWVudF9yb290INCyINGA0LDQt9C90YvRhSDQutC+0L3RgtC10Lo=?= =?UTF-8?B?0YHRgtCw0YU=?= In-Reply-To: <500B62E6.6060400@list.ru> References: <500B62E6.6060400@list.ru> Message-ID: <201207230648.13661.ne@vbart.ru> On Sunday 22 July 2012 06:18:14 Станислав wrote: > Здравствуйте. > > Немного запутался. Подскажите пожалуйста, > > на примере "disable_symlinks on from=$document_root;" в контексте "http" > > $document_root будет в этом случае равняться тому значению, которое > установлено в контексте "http", или в контексте "server"? > В контексте location. Оно наследуется. -- Валентин Бартенев From nginx-forum at nginx.us Mon Jul 23 07:30:40 2012 From: nginx-forum at nginx.us (khartnjava) Date: Mon, 23 Jul 2012 03:30:40 -0400 (EDT) Subject: =?UTF-8?B?0JXRgdGC0Ywg0LvQuCDQvNC+0LTRg9C70Ywg0YPQv9GA0LDQstC70Y/QtdC80Ys=?= =?UTF-8?B?0Lkg0YjQtdC50L/QtdGAINC6IG5naW54Pw==?= Message-ID: Здравствуйте. Посоветуйте, пожалуйста, существует ли модуль к nginx для организации разграниченного доступа к файлам следующего типа: - в ссылке на файл идёт параметр - ID сессии скачивания - генерируется сайтом - источником и заносится в БД MySQL. - модуль при обращении к ссылке, скажем, типа /get_file/?id=777&sessID=f454g5fdg4sdf5g4s5dg45dg4d5fg45dfg5dfg54 находит в БД MySQL в таблице, скажем, files, запись о файле с ID=777, далее смотрит в той же БД таблицу sessions, в ней находит сессию с ID=f454g5fdg4sdf5g4s5dg45dg4d5fg45dfg5dfg54, выбирает параметры Скорость Скачивания (на этой скорости будет вестись отдача файлов в КБайт/с) и Срок Действия Ссылки (если текущее время/дата больше данного значения, то закачка должна уйти, скажем, в 404 ошибку) и только после этого начинает отдачу файла. Хотелось бы узнать, существует ли таковой модуль nginx? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228852,228852#msg-228852 From postmaster at softsearch.ru Mon Jul 23 07:50:30 2012 From: postmaster at softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Mon, 23 Jul 2012 11:50:30 +0400 Subject: =?UTF-8?B?UmU6INCV0YHRgtGMINC70Lgg0LzQvtC00YPQu9GMINGD0L/RgNCw0LLQu9GP0LU=?= =?UTF-8?B?0LzRi9C5INGI0LXQudC/0LXRgCDQuiBuZ2lueD8=?= In-Reply-To: References: Message-ID: <297919243.20120723115030@softsearch.ru> Здравствуйте, khartnjava. > Посоветуйте, пожалуйста, существует ли модуль к nginx для > организации разграниченного доступа к файлам следующего типа: > - в ссылке на файл идёт параметр - ID сессии скачивания - > генерируется сайтом - источником и заносится в БД MySQL. > - модуль при обращении к ссылке, скажем, типа > /get_file/?id=777&sessID=f454g5fdg4sdf5g4s5dg45dg4d5fg45dfg5dfg54 > находит в БД MySQL в таблице, скажем, files, запись о файле с > ID=777, далее смотрит в той же БД таблицу sessions, в ней находит > сессию с ID=f454g5fdg4sdf5g4s5dg45dg4d5fg45dfg5dfg54, выбирает > параметры Скорость Скачивания (на этой скорости будет вестись отдача > файлов в КБайт/с) и Срок Действия Ссылки (если текущее время/дата > больше данного значения, то закачка должна уйти, скажем, в 404 > ошибку) и только после этого начинает отдачу файла. > Хотелось бы узнать, существует ли таковой модуль nginx? http://habrahabr.ru/post/76100/ -- С уважением, Михаил mailto:postmaster at softsearch.ru From nginx-forum at nginx.us Mon Jul 23 08:04:38 2012 From: nginx-forum at nginx.us (khartnjava) Date: Mon, 23 Jul 2012 04:04:38 -0400 (EDT) Subject: =?UTF-8?B?UmU6INCV0YHRgtGMINC70Lgg0LzQvtC00YPQu9GMINGD0L/RgNCw0LLQu9GP0LU=?= =?UTF-8?B?0LzRi9C5INGI0LXQudC/0LXRgCDQuiBuZ2lueD8=?= In-Reply-To: <297919243.20120723115030@softsearch.ru> References: <297919243.20120723115030@softsearch.ru> Message-ID: Как вариант, но хотелось бы увидеть это дело в виде отдельного модуля. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228852,228854#msg-228854 From bdfy at mail.ru Mon Jul 23 08:04:42 2012 From: bdfy at mail.ru (=?UTF-8?B?SXZhbg==?=) Date: Mon, 23 Jul 2012 12:04:42 +0400 Subject: =?UTF-8?B?UmVbMl06INCV0YHRgtGMINC70Lgg0LzQvtC00YPQu9GMINGD0L/RgNCw0LLQu9GP?= =?UTF-8?B?0LXQvNGL0Lkg0YjQtdC50L/QtdGAINC6IG5naW54Pw==?= In-Reply-To: <297919243.20120723115030@softsearch.ru> References: <297919243.20120723115030@softsearch.ru> Message-ID: <1343030682.734140744@f39.mail.ru> ну если вам уж очень хочется для этой цели использовать nginx, то можете попробовать использовать след. модули: для БД: http://wiki.nginx.org/HttpRedis2Module для скриптов:  http://wiki.nginx.org/HttpLuaModule Mon, 23 Jul 2012 11:50:30 +0400 от Михаил Монашёв : Здравствуйте, khartnjava. > Посоветуйте, пожалуйста, существует ли модуль к nginx для > организации разграниченного доступа к файлам следующего типа: > - в ссылке на файл идёт параметр - ID сессии скачивания - > генерируется сайтом - источником и заносится в БД MySQL. > - модуль при обращении к ссылке, скажем, типа > /get_file/?id=777&sessID=f454g5fdg4sdf5g4s5dg45dg4d5fg45dfg5dfg54 > находит в БД MySQL в таблице, скажем, files, запись о файле с > ID=777, далее смотрит в той же БД таблицу sessions, в ней находит > сессию с ID=f454g5fdg4sdf5g4s5dg45dg4d5fg45dfg5dfg54, выбирает > параметры Скорость Скачивания (на этой скорости будет вестись отдача > файлов в КБайт/с) и Срок Действия Ссылки (если текущее время/дата > больше данного значения, то закачка должна уйти, скажем, в 404 > ошибку) и только после этого начинает отдачу файла. > Хотелось бы узнать, существует ли таковой модуль nginx? http://habrahabr.ru/post/76100/ -- С уважением,  Михаил mailto:postmaster at softsearch.ru _______________________________________________ nginx-ru mailing list nginx-ru at nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum at nginx.us Mon Jul 23 08:24:42 2012 From: nginx-forum at nginx.us (khartnjava) Date: Mon, 23 Jul 2012 04:24:42 -0400 (EDT) Subject: =?UTF-8?B?UmU6IFJlWzJdOiDQldGB0YLRjCDQu9C4INC80L7QtNGD0LvRjCDRg9C/0YDQsNCy?= =?UTF-8?B?0LvRj9C10LzRi9C5INGI0LXQudC/0LXRgCDQuiBuZ2lueD8=?= In-Reply-To: <1343030682.734140744@f39.mail.ru> References: <1343030682.734140744@f39.mail.ru> Message-ID: <64a7a8599625b96575c4831775005292.NginxMailingListRussian@forum.nginx.org> Сложно как-то. Не уж-то нет модуля под такие цели готового? :) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228852,228857#msg-228857 From nginx-forum at nginx.us Mon Jul 23 08:41:50 2012 From: nginx-forum at nginx.us (Bdfy) Date: Mon, 23 Jul 2012 04:41:50 -0400 (EDT) Subject: =?UTF-8?B?UmU6IFJlWzJdOiDQldGB0YLRjCDQu9C4INC80L7QtNGD0LvRjCDRg9C/0YDQsNCy?= =?UTF-8?B?0LvRj9C10LzRi9C5INGI0LXQudC/0LXRgCDQuiBuZ2lueD8=?= In-Reply-To: <64a7a8599625b96575c4831775005292.NginxMailingListRussian@forum.nginx.org> References: <1343030682.734140744@f39.mail.ru> <64a7a8599625b96575c4831775005292.NginxMailingListRussian@forum.nginx.org> Message-ID: для ограничения скорости скачивания используйте: http://wiki.nginx.org/X-accel#X-Accel-Limit-Rate для ограничения по ссылкам: http://wiki.nginx.org/HttpSecureLinkModule Куда уж проще ? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228852,228858#msg-228858 From mdounin at mdounin.ru Mon Jul 23 10:19:10 2012 From: mdounin at mdounin.ru (Maxim Dounin) Date: Mon, 23 Jul 2012 14:19:10 +0400 Subject: =?UTF-8?B?UmU6INCS0YHRgtGA0L7QtdC90L3Ri9C1INC/0LXRgNC10LzQtdC90L3Ri9C1INC4?= =?UTF-8?B?IHN0dWJfc3RhdHVz?= In-Reply-To: <500C4324.70805@knutov.com> References: <500C4324.70805@knutov.com> Message-ID: <20120723101910.GO31671@mdounin.ru> Hello! On Mon, Jul 23, 2012 at 12:15:00AM +0600, Nick Knutov wrote: > Можно ли получить ввиде встроенных переменных те цифры, которые > показывает stub_status? Сейчас - нет. > Предполагаемое использование - если активных коннектов больше N - > считать, что начался DDOS и применять некоторую простую фильтрацию. > Без крона, перегенерации конфигов и прочих внешних телодвижений. Приблизительно для таких же целей в своё время делался модуль ngx_http_degradation_module. Но он пока умеет смотреть только на память (и возвращать 204/444, а равно отключать gzip). [...] Maxim Dounin From postmaster at softsearch.ru Mon Jul 23 10:57:19 2012 From: postmaster at softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Mon, 23 Jul 2012 14:57:19 +0400 Subject: =?UTF-8?B?UmVbMl06INCV0YHRgtGMINC70Lgg0LzQvtC00YPQu9GMINGD0L/RgNCw0LLQu9GP?= =?UTF-8?B?0LXQvNGL0Lkg0YjQtdC50L/QtdGAINC6IG5naW54Pw==?= In-Reply-To: References: <297919243.20120723115030@softsearch.ru> Message-ID: <27216494.20120723145719@softsearch.ru> Здравствуйте, khartnjava. > Как вариант, но хотелось бы увидеть это дело в виде отдельного > модуля. Зачем Вам именно отдельный модуль? Отдельный модуль сложно поддерживать, ибо возможно он не будет работать с новыми версиями. В нём будет сложно менять логику без разработчика модуля. -- С уважением, Михаил mailto:postmaster at softsearch.ru From nginx-forum at nginx.us Mon Jul 23 11:04:27 2012 From: nginx-forum at nginx.us (khartnjava) Date: Mon, 23 Jul 2012 07:04:27 -0400 (EDT) Subject: =?UTF-8?B?UmU6IFJlWzJdOiDQldGB0YLRjCDQu9C4INC80L7QtNGD0LvRjCDRg9C/0YDQsNCy?= =?UTF-8?B?0LvRj9C10LzRi9C5INGI0LXQudC/0LXRgCDQuiBuZ2lueD8=?= In-Reply-To: <27216494.20120723145719@softsearch.ru> References: <27216494.20120723145719@softsearch.ru> Message-ID: <380373e2c15b9d7d9eae12a37f1f0b7e.NginxMailingListRussian@forum.nginx.org> Я готов платить разработчику за поддержку модуля от версии к версии. Главное - чтобы он нормально работал, потреблял мало ресурсов. Кто бы его взялся сделать? :) Если есть желающие написать такой модуль - пишите мне в скайп arturlwww1 или на почту forpdfsending at gmail.com Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228852,228863#msg-228863 From nginx-forum at nginx.us Mon Jul 23 11:58:59 2012 From: nginx-forum at nginx.us (kermit32dll) Date: Mon, 23 Jul 2012 07:58:59 -0400 (EDT) Subject: =?UTF-8?B?UmU6INCf0YDQvtC00LLQuNC90YPRgtGL0Lkg0LDQvdCw0LvQuNC30LDRgtC+0YAg?= =?UTF-8?B?SFRUUCDQt9Cw0L/RgNC+0YHQvtCyLg==?= In-Reply-To: <1b19c6ddd6aae2ef7fc4a5a7f3deaaca.NginxMailingListRussian@forum.nginx.org> References: <500C0317.80301@amhost.net> <1b19c6ddd6aae2ef7fc4a5a7f3deaaca.NginxMailingListRussian@forum.nginx.org> Message-ID: <8a20fd39e0b4992db37b645701295912.NginxMailingListRussian@forum.nginx.org> Я готов оплатить разработку и поддержку данного функционала в модуле, если кому-то интересно - пишите на sergey.lensky at nano.lv или в скайп - kermit32dll. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228827,228865#msg-228865 From nginx-forum at nginx.us Mon Jul 23 12:46:50 2012 From: nginx-forum at nginx.us (arty777) Date: Mon, 23 Jul 2012 08:46:50 -0400 (EDT) Subject: try_files random In-Reply-To: <353d6618ceda08fdf033d517dfee1631.NginxMailingListRussian@forum.nginx.org> References: <489f29bf7abd9df539ef3c6956f5b75c.NginxMailingListRussian@forum.nginx.org> <353d6618ceda08fdf033d517dfee1631.NginxMailingListRussian@forum.nginx.org> Message-ID: <56ce487a0419b3c057bdcfd2a62942c7.NginxMailingListRussian@forum.nginx.org> Сделал так perl_set $dice 'sub { if (@pool) { push @pool, shift @pool; } else { @pool = ("/ПУТЬ_К_ПАПКЕ1", "/ПУТЬ_К_ПАПКЕ2","/ПУТЬ_К_ПАПКЕ3","/ПУТЬ_К_ПАПКЕ4"); } return $pool[0]; }'; server ... try_files $dice$1 $dice$1 $dice$1 $dice$1 =404; Запрашиваю файл с /ПУТЬ_К_ПАПКЕ1 , 1-й раз одтает файл прекрасно , жму F5 , следующие 2 3 4-й разы 404 получаю , на пятый раз опять получаю файл , что не так? :) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228791,228866#msg-228866 From nginx-forum at nginx.us Mon Jul 23 12:48:55 2012 From: nginx-forum at nginx.us (arty777) Date: Mon, 23 Jul 2012 08:48:55 -0400 (EDT) Subject: try_files random In-Reply-To: <56ce487a0419b3c057bdcfd2a62942c7.NginxMailingListRussian@forum.nginx.org> References: <489f29bf7abd9df539ef3c6956f5b75c.NginxMailingListRussian@forum.nginx.org> <353d6618ceda08fdf033d517dfee1631.NginxMailingListRussian@forum.nginx.org> <56ce487a0419b3c057bdcfd2a62942c7.NginxMailingListRussian@forum.nginx.org> Message-ID: <2eb73b5b0849a83b38850712a168858b.NginxMailingListRussian@forum.nginx.org> точнее 2-й и 3-й раз получаю 404 , потом получаю 200 , потом снова 2 раза 404 и так по кругу Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228791,228867#msg-228867 From mail at knutov.com Mon Jul 23 13:23:29 2012 From: mail at knutov.com (Nick Knutov) Date: Mon, 23 Jul 2012 19:23:29 +0600 Subject: =?UTF-8?B?UmU6INCS0YHRgtGA0L7QtdC90L3Ri9C1INC/0LXRgNC10LzQtdC90L3Ri9C1INC4?= =?UTF-8?B?IHN0dWJfc3RhdHVz?= In-Reply-To: <20120723101910.GO31671@mdounin.ru> References: <500C4324.70805@knutov.com> <20120723101910.GO31671@mdounin.ru> Message-ID: <500D5051.30106@knutov.com> А планируется? Мы сейчас сделали внешний скрипт с кроном, смотрящий состояние и меняющий конфиги, можно ещё встроенным перлом ходить в собственный stub_status и парсить его но это требует некоторое количество ресурсов. 23.07.2012 16:19, Maxim Dounin пишет: > Hello! > > On Mon, Jul 23, 2012 at 12:15:00AM +0600, Nick Knutov wrote: > >> Можно ли получить ввиде встроенных переменных те цифры, которые >> показывает stub_status? > > Сейчас - нет. > >> Предполагаемое использование - если активных коннектов больше N - >> считать, что начался DDOS и применять некоторую простую фильтрацию. >> Без крона, перегенерации конфигов и прочих внешних телодвижений. > > Приблизительно для таких же целей в своё время делался модуль > ngx_http_degradation_module. Но он пока умеет смотреть только на > память (и возвращать 204/444, а равно отключать gzip). > > [...] > > Maxim Dounin > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -- Best Regards, Nick Knutov http://knutov.com ICQ: 272873706 Voice: +7-904-84-23-130 From zzz at zzz.org.ua Mon Jul 23 14:00:57 2012 From: zzz at zzz.org.ua (Alexandr Gomoliako) Date: Mon, 23 Jul 2012 17:00:57 +0300 Subject: try_files random In-Reply-To: <2eb73b5b0849a83b38850712a168858b.NginxMailingListRussian@forum.nginx.org> References: <489f29bf7abd9df539ef3c6956f5b75c.NginxMailingListRussian@forum.nginx.org> <353d6618ceda08fdf033d517dfee1631.NginxMailingListRussian@forum.nginx.org> <56ce487a0419b3c057bdcfd2a62942c7.NginxMailingListRussian@forum.nginx.org> <2eb73b5b0849a83b38850712a168858b.NginxMailingListRussian@forum.nginx.org> Message-ID: > точнее 2-й и 3-й раз получаю 404 , потом > получаю 200 , потом снова 2 раза 404 и так по > кругу Ну видимо переменная кэшируется где-то. В общем нужно самому искать файл, а не с помощью try_files. Т.е. в try_files будет только одна переменная с уже найденным файлом. Поправил gist: https://gist.github.com/3153263 From yuri.goncharov at miritec.com Mon Jul 23 14:12:05 2012 From: yuri.goncharov at miritec.com (=?KOI8-R?B?4NLJyiDnz87ewdLP1w==?=) Date: Mon, 23 Jul 2012 17:12:05 +0300 Subject: =?UTF-8?B?YWxsb3cvZGVueSDQtNC70Y8gZmFzdF9jZ2k=?= Message-ID: Добрый день. Подскажите пожалуйста есть у меня domain.com: nginx+php-fpm php обрабатываются следующим образом: location ~* \.php$ { include /etc/nginx/fastcgi_params; fastcgi_connect_timeout 3600; fastcgi_send_timeout 3600; fastcgi_read_timeout 3600; client_max_body_size 100m; fastcgi_pass unix:/tmp/php.socket; root domain.com; } В тоже время ложу внутрь проекта /pma/ и хочу его пофильтровать по IP, делаю так: location /pma/ { index index.php; allow x.x.x.x/24; allow y.y.y.y; deny all; root /www/projects/domain.com;} Но тогда досадно получается, что зайти с любого места можно просто по http://domain.com/pma/index.php по понятным причинам Вопрос: как бы так красиво сделать чтобы вообще в папке /pma/ нельзя было попасть если не подпадаешь под allow при этом чтобы php внутри этой папки работало как надо.. Спасибо большое заранее! -- С уважением, Гончаров Юрий Директор по развитию, ООО "Миритек" тел/факс +38 (044) 3-590-590 (внутр.50) моб +38 (067) 509-05-79 skype yuri.goncharov web www.miritec.com From nginx-forum at nginx.us Mon Jul 23 14:22:37 2012 From: nginx-forum at nginx.us (arty777) Date: Mon, 23 Jul 2012 10:22:37 -0400 (EDT) Subject: try_files random In-Reply-To: <2eb73b5b0849a83b38850712a168858b.NginxMailingListRussian@forum.nginx.org> References: <489f29bf7abd9df539ef3c6956f5b75c.NginxMailingListRussian@forum.nginx.org> <353d6618ceda08fdf033d517dfee1631.NginxMailingListRussian@forum.nginx.org> <56ce487a0419b3c057bdcfd2a62942c7.NginxMailingListRussian@forum.nginx.org> <2eb73b5b0849a83b38850712a168858b.NginxMailingListRussian@forum.nginx.org> Message-ID: <3cdbb7375b978eeac52c3158fda49147.NginxMailingListRussian@forum.nginx.org> Непонятно , напишите комментарии . пример какой-нибудь ) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228791,228879#msg-228879 From gmm at csdoc.com Mon Jul 23 14:52:09 2012 From: gmm at csdoc.com (Gena Makhomed) Date: Mon, 23 Jul 2012 17:52:09 +0300 Subject: =?UTF-8?B?UmU6IGFsbG93L2Rlbnkg0LTQu9GPIGZhc3RfY2dp?= In-Reply-To: References: Message-ID: <500D6519.6020300@csdoc.com> On 23.07.2012 17:12, Юрий Гончаров wrote: > Добрый день. > Подскажите пожалуйста есть у меня domain.com: nginx+php-fpm > > php обрабатываются следующим образом: > > location ~* \.php$ { > include /etc/nginx/fastcgi_params; > fastcgi_connect_timeout 3600; > fastcgi_send_timeout 3600; > fastcgi_read_timeout 3600; > client_max_body_size 100m; > fastcgi_pass unix:/tmp/php.socket; > root domain.com; > } > > В тоже время ложу внутрь проекта /pma/ и хочу его пофильтровать по IP, > делаю так: > > location /pma/ { index index.php; allow x.x.x.x/24; allow y.y.y.y; > deny all; root /www/projects/domain.com;} > > Но тогда досадно получается, что зайти с любого места можно просто по > http://domain.com/pma/index.php по понятным причинам > > Вопрос: > как бы так красиво сделать чтобы вообще в папке /pma/ нельзя было > попасть если не подпадаешь под allow при этом > чтобы php внутри этой папки работало как надо.. location /pma/ { # ... location ~* \.php$ { # ... } } -- Best regards, Gena From zzz at zzz.org.ua Mon Jul 23 14:58:11 2012 From: zzz at zzz.org.ua (Alexandr Gomoliako) Date: Mon, 23 Jul 2012 17:58:11 +0300 Subject: try_files random In-Reply-To: <3cdbb7375b978eeac52c3158fda49147.NginxMailingListRussian@forum.nginx.org> References: <489f29bf7abd9df539ef3c6956f5b75c.NginxMailingListRussian@forum.nginx.org> <353d6618ceda08fdf033d517dfee1631.NginxMailingListRussian@forum.nginx.org> <56ce487a0419b3c057bdcfd2a62942c7.NginxMailingListRussian@forum.nginx.org> <2eb73b5b0849a83b38850712a168858b.NginxMailingListRussian@forum.nginx.org> <3cdbb7375b978eeac52c3158fda49147.NginxMailingListRussian@forum.nginx.org> Message-ID: > Непонятно , напишите комментарии . Непонятно, что непонятно, напишите комментарии :) Пришел запрос "/foo/bar.txt", он ищется в "/test1/foo/bar.txt" и "/test2/foo/bar.txt" начиная то с /test1 то /test2, как и в прошлый раз. А когда найдет - возвращается в переменную $dice в виде "/test1/foo/bar.txt". From postmaster at softsearch.ru Mon Jul 23 15:05:34 2012 From: postmaster at softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Mon, 23 Jul 2012 19:05:34 +0400 Subject: =?UTF-8?B?UmVbNF06INCV0YHRgtGMINC70Lgg0LzQvtC00YPQu9GMINGD0L/RgNCw0LLQu9GP?= =?UTF-8?B?0LXQvNGL0Lkg0YjQtdC50L/QtdGAINC6IG5naW54Pw==?= In-Reply-To: <380373e2c15b9d7d9eae12a37f1f0b7e.NginxMailingListRussian@forum.nginx.org> References: <27216494.20120723145719@softsearch.ru> <380373e2c15b9d7d9eae12a37f1f0b7e.NginxMailingListRussian@forum.nginx.org> Message-ID: <814689787.20120723190534@softsearch.ru> Здравствуйте, khartnjava. > Я готов платить разработчику за поддержку модуля от версии к версии. Реальность такова, что Ваши деньги в данный момент никому не нужны. Кроме того Вы усложняете задачу. Вам нужен не модуль, а разбирающийся человек, который или сам написал правильный конфиг, или объяснил бы, как его написать, если Вам это интересно знать. Эта рассылка может помочь ещё во втором вопросе. Послушайте меня и сэкономите своё время и силы. > Главное - чтобы он нормально работал, потреблял мало ресурсов. Ваша задача, реализованная через конфиг, будет требовать ресурсов ровно столько же. А может и меньше за счёт качества кода. -- С уважением, Михаил mailto:postmaster at softsearch.ru From mdounin at mdounin.ru Mon Jul 23 15:36:05 2012 From: mdounin at mdounin.ru (Maxim Dounin) Date: Mon, 23 Jul 2012 19:36:05 +0400 Subject: =?UTF-8?B?UmU6INCS0YHRgtGA0L7QtdC90L3Ri9C1INC/0LXRgNC10LzQtdC90L3Ri9C1INC4?= =?UTF-8?B?IHN0dWJfc3RhdHVz?= In-Reply-To: <500D5051.30106@knutov.com> References: <500C4324.70805@knutov.com> <20120723101910.GO31671@mdounin.ru> <500D5051.30106@knutov.com> Message-ID: <20120723153605.GT31671@mdounin.ru> Hello! On Mon, Jul 23, 2012 at 07:23:29PM +0600, Nick Knutov wrote: > А планируется? Возможно. Думаю, имеет смысл как минимум добавить проверки в модуль degradation. Maxim Dounin From postmaster at softsearch.ru Mon Jul 23 16:11:26 2012 From: postmaster at softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Mon, 23 Jul 2012 20:11:26 +0400 Subject: =?UTF-8?B?UmVbMl06INCS0YHRgtGA0L7QtdC90L3Ri9C1INC/0LXRgNC10LzQtdC90L3Ri9C1?= =?UTF-8?B?INC4IHN0dWJfc3RhdHVz?= In-Reply-To: <20120723153605.GT31671@mdounin.ru> References: <500C4324.70805@knutov.com> <20120723101910.GO31671@mdounin.ru> <500D5051.30106@knutov.com> <20120723153605.GT31671@mdounin.ru> Message-ID: <1367376279.20120723201126@softsearch.ru> Здравствуйте, Maxim. >> А планируется? > Возможно. Думаю, имеет смысл как минимум добавить проверки в > модуль degradation. Можно тоже не лезть в шаред-мем, а выдавать количество коннектов для текущего воркера. Навряд ли досер умудрится неравномерно распределить свою атаку по воркерам. Мне это не нужно, но как способ сэкономить ресурсы в данной конкрентной задаче, ИМХО, годится. -- С уважением, Михаил mailto:postmaster at softsearch.ru From nginx-forum at nginx.us Mon Jul 23 16:43:03 2012 From: nginx-forum at nginx.us (arty777) Date: Mon, 23 Jul 2012 12:43:03 -0400 (EDT) Subject: try_files random In-Reply-To: <3cdbb7375b978eeac52c3158fda49147.NginxMailingListRussian@forum.nginx.org> References: <489f29bf7abd9df539ef3c6956f5b75c.NginxMailingListRussian@forum.nginx.org> <353d6618ceda08fdf033d517dfee1631.NginxMailingListRussian@forum.nginx.org> <56ce487a0419b3c057bdcfd2a62942c7.NginxMailingListRussian@forum.nginx.org> <2eb73b5b0849a83b38850712a168858b.NginxMailingListRussian@forum.nginx.org> <3cdbb7375b978eeac52c3158fda49147.NginxMailingListRussian@forum.nginx.org> Message-ID: <780b2d96e5d5e97092e56cb85e7033f6.NginxMailingListRussian@forum.nginx.org> my $root = $r->variable("document_root"); - это зачем? что вместо document_root указывать? в трай файлз у меня сейчас такое location ~ ^/media(.+)$ { root /raid; try_files $dice$1 как с этим быть , перл надо модифицировать под такой локейшен? видео так забирается http://example.com/media/video/****.mp4 Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228791,228892#msg-228892 From zzz at zzz.org.ua Mon Jul 23 17:13:38 2012 From: zzz at zzz.org.ua (Alexandr Gomoliako) Date: Mon, 23 Jul 2012 20:13:38 +0300 Subject: try_files random In-Reply-To: <780b2d96e5d5e97092e56cb85e7033f6.NginxMailingListRussian@forum.nginx.org> References: <489f29bf7abd9df539ef3c6956f5b75c.NginxMailingListRussian@forum.nginx.org> <353d6618ceda08fdf033d517dfee1631.NginxMailingListRussian@forum.nginx.org> <56ce487a0419b3c057bdcfd2a62942c7.NginxMailingListRussian@forum.nginx.org> <2eb73b5b0849a83b38850712a168858b.NginxMailingListRussian@forum.nginx.org> <3cdbb7375b978eeac52c3158fda49147.NginxMailingListRussian@forum.nginx.org> <780b2d96e5d5e97092e56cb85e7033f6.NginxMailingListRussian@forum.nginx.org> Message-ID: > my $root = $r->variable("document_root"); - это зачем? что > вместо document_root указывать? Это позволяет получить полный путь к корневой директори (которая root /raid), ничего менять не надо. > в трай файлз у меня сейчас такое > location ~ ^/media(.+)$ { > root /raid; > > try_files $dice$1 > > > как с этим быть , перл надо > модифицировать под такой локейшен? Нужно внести $1 в перл и убрать из try_files. Замени my $uri = ... на my ($uri) = $r->uri =~ m"^/media(.+)$"; Теперь в try_files останется только try_files $dice ... From nginx-forum at nginx.us Mon Jul 23 17:28:51 2012 From: nginx-forum at nginx.us (arty777) Date: Mon, 23 Jul 2012 13:28:51 -0400 (EDT) Subject: try_files random In-Reply-To: <780b2d96e5d5e97092e56cb85e7033f6.NginxMailingListRussian@forum.nginx.org> References: <489f29bf7abd9df539ef3c6956f5b75c.NginxMailingListRussian@forum.nginx.org> <353d6618ceda08fdf033d517dfee1631.NginxMailingListRussian@forum.nginx.org> <56ce487a0419b3c057bdcfd2a62942c7.NginxMailingListRussian@forum.nginx.org> <2eb73b5b0849a83b38850712a168858b.NginxMailingListRussian@forum.nginx.org> <3cdbb7375b978eeac52c3158fda49147.NginxMailingListRussian@forum.nginx.org> <780b2d96e5d5e97092e56cb85e7033f6.NginxMailingListRussian@forum.nginx.org> Message-ID: <2565af672380cc51ace7de959ca8c39b.NginxMailingListRussian@forum.nginx.org> Прекрасно , работает , куда делать донейт? ВМЗ Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228791,228897#msg-228897 From zzz at zzz.org.ua Mon Jul 23 17:40:51 2012 From: zzz at zzz.org.ua (Alexandr Gomoliako) Date: Mon, 23 Jul 2012 20:40:51 +0300 Subject: try_files random In-Reply-To: <2565af672380cc51ace7de959ca8c39b.NginxMailingListRussian@forum.nginx.org> References: <489f29bf7abd9df539ef3c6956f5b75c.NginxMailingListRussian@forum.nginx.org> <353d6618ceda08fdf033d517dfee1631.NginxMailingListRussian@forum.nginx.org> <56ce487a0419b3c057bdcfd2a62942c7.NginxMailingListRussian@forum.nginx.org> <2eb73b5b0849a83b38850712a168858b.NginxMailingListRussian@forum.nginx.org> <3cdbb7375b978eeac52c3158fda49147.NginxMailingListRussian@forum.nginx.org> <780b2d96e5d5e97092e56cb85e7033f6.NginxMailingListRussian@forum.nginx.org> <2565af672380cc51ace7de959ca8c39b.NginxMailingListRussian@forum.nginx.org> Message-ID: > Прекрасно , работает , куда делать > донейт? ВМЗ Вот сюда Z181671489586 From nginx-forum at nginx.us Mon Jul 23 17:51:04 2012 From: nginx-forum at nginx.us (arty777) Date: Mon, 23 Jul 2012 13:51:04 -0400 (EDT) Subject: try_files random In-Reply-To: <2565af672380cc51ace7de959ca8c39b.NginxMailingListRussian@forum.nginx.org> References: <489f29bf7abd9df539ef3c6956f5b75c.NginxMailingListRussian@forum.nginx.org> <353d6618ceda08fdf033d517dfee1631.NginxMailingListRussian@forum.nginx.org> <56ce487a0419b3c057bdcfd2a62942c7.NginxMailingListRussian@forum.nginx.org> <2eb73b5b0849a83b38850712a168858b.NginxMailingListRussian@forum.nginx.org> <3cdbb7375b978eeac52c3158fda49147.NginxMailingListRussian@forum.nginx.org> <780b2d96e5d5e97092e56cb85e7033f6.NginxMailingListRussian@forum.nginx.org> <2565af672380cc51ace7de959ca8c39b.NginxMailingListRussian@forum.nginx.org> Message-ID: <7384dab5659efc15e15bcfb11718a0ac.NginxMailingListRussian@forum.nginx.org> Ушло ) Спасибо . Вдруг этот скрипт , "как-то" можно модифицировать не сложно , что б меньше диски дергал , буду рад . Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228791,228900#msg-228900 From exelib at googlemail.com Mon Jul 23 18:16:22 2012 From: exelib at googlemail.com (Anton Bessonov) Date: Mon, 23 Jul 2012 20:16:22 +0200 Subject: =?UTF-8?B?UmU6INCV0YHRgtGMINC70Lgg0LzQvtC00YPQu9GMINGD0L/RgNCw0LLQu9GP0LU=?= =?UTF-8?B?0LzRi9C5INGI0LXQudC/0LXRgCDQuiBuZ2lueD8=?= In-Reply-To: <814689787.20120723190534@softsearch.ru> References: <27216494.20120723145719@softsearch.ru> <380373e2c15b9d7d9eae12a37f1f0b7e.NginxMailingListRussian@forum.nginx.org> <814689787.20120723190534@softsearch.ru> Message-ID: <500D94F6.6090507@googlemail.com> On 23.07.2012 17:05, Михаил Монашёв wrote: > Здравствуйте, khartnjava. > >> Я готов платить разработчику за поддержку модуля от версии к версии. > Реальность такова, что Ваши деньги в данный момент никому не нужны. Жестко, но правильно. Меня всегда удивляли люди, которые считают, что деньгами можно сделать всё. -- Oracle Certified Expert, Enterprise JavaBeans Developer Oracle Certified Professional, Java SE 6 Programmer Professional Scrum Master I& II From zzz at zzz.org.ua Mon Jul 23 19:16:52 2012 From: zzz at zzz.org.ua (Alexandr Gomoliako) Date: Mon, 23 Jul 2012 22:16:52 +0300 Subject: try_files random In-Reply-To: <7384dab5659efc15e15bcfb11718a0ac.NginxMailingListRussian@forum.nginx.org> References: <489f29bf7abd9df539ef3c6956f5b75c.NginxMailingListRussian@forum.nginx.org> <353d6618ceda08fdf033d517dfee1631.NginxMailingListRussian@forum.nginx.org> <56ce487a0419b3c057bdcfd2a62942c7.NginxMailingListRussian@forum.nginx.org> <2eb73b5b0849a83b38850712a168858b.NginxMailingListRussian@forum.nginx.org> <3cdbb7375b978eeac52c3158fda49147.NginxMailingListRussian@forum.nginx.org> <780b2d96e5d5e97092e56cb85e7033f6.NginxMailingListRussian@forum.nginx.org> <2565af672380cc51ace7de959ca8c39b.NginxMailingListRussian@forum.nginx.org> <7384dab5659efc15e15bcfb11718a0ac.NginxMailingListRussian@forum.nginx.org> Message-ID: > "как-то" можно модифицировать не сложно > , что б меньше диски дергал , буду рад . Хэширование может помочь, если памяти очень много, чтобы популярные файлые из памяти отдавались. Но в то же время, если нет очень популярных файлов - ничего не даст. И если памяти все-таки много, то может оказаться, что увеличение буферов заметно больше разгрузит диски. В общем тут без метрик и статистики трудно что-то сказать. From nginx-forum at nginx.us Mon Jul 23 19:22:31 2012 From: nginx-forum at nginx.us (arty777) Date: Mon, 23 Jul 2012 15:22:31 -0400 (EDT) Subject: try_files random In-Reply-To: <7384dab5659efc15e15bcfb11718a0ac.NginxMailingListRussian@forum.nginx.org> References: <489f29bf7abd9df539ef3c6956f5b75c.NginxMailingListRussian@forum.nginx.org> <353d6618ceda08fdf033d517dfee1631.NginxMailingListRussian@forum.nginx.org> <56ce487a0419b3c057bdcfd2a62942c7.NginxMailingListRussian@forum.nginx.org> <2eb73b5b0849a83b38850712a168858b.NginxMailingListRussian@forum.nginx.org> <3cdbb7375b978eeac52c3158fda49147.NginxMailingListRussian@forum.nginx.org> <780b2d96e5d5e97092e56cb85e7033f6.NginxMailingListRussian@forum.nginx.org> <2565af672380cc51ace7de959ca8c39b.NginxMailingListRussian@forum.nginx.org> <7384dab5659efc15e15bcfb11718a0ac.NginxMailingListRussian@forum.nginx.org> Message-ID: <8908f88fd6944f0829a90305d2e224b8.NginxMailingListRussian@forum.nginx.org> Файлы от 500МБ+ , их много открытых , памяти мало ) Так что видимо без вариантов. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228791,228905#msg-228905 From hell-for-yahoo at umail.ru Mon Jul 23 20:19:56 2012 From: hell-for-yahoo at umail.ru (Andrey Repin) Date: Tue, 24 Jul 2012 00:19:56 +0400 Subject: =?UTF-8?B?UmU6INCV0YHRgtGMINC70Lgg0LzQvtC00YPQu9GMINGD0L/RgNCw0LLQu9GP0LU=?= =?UTF-8?B?0LzRi9C5INGI0LXQudC/0LXRgCDQuiBuZ2lueD8=?= In-Reply-To: <64a7a8599625b96575c4831775005292.NginxMailingListRussian@forum.nginx.org> References: <1343030682.734140744@f39.mail.ru> <64a7a8599625b96575c4831775005292.NginxMailingListRussian@forum.nginx.org> Message-ID: <1510676367.20120724001956@mtu-net.ru> Здравствуйте, Уважаемый(-ая, -ое) khartnjava! k> Сложно как-то. Не уж-то нет модуля под k> такие цели готового? :) Почему нет, есть. http://button.dekel.ru/ -- С уважением Andrey Repin (hell-for-yahoo at umail.ru) вторник, 24.07.2012, <00:19> From mdounin at mdounin.ru Tue Jul 24 16:13:49 2012 From: mdounin at mdounin.ru (Maxim Dounin) Date: Tue, 24 Jul 2012 20:13:49 +0400 Subject: nested location + proxy_cache + http/server proxy_hide_header = bug In-Reply-To: <4FFF3F59.4090404@gmail.com> References: <4FFF3F59.4090404@gmail.com> Message-ID: <20120724161349.GH31671@mdounin.ru> Hello! On Thu, Jul 12, 2012 at 02:19:21PM -0700, Konstantin Svist wrote: > Запрос на /index.php; бэкенд возвращает X-Powered-By: PHP... > > Конфиг: > > proxy_hide_header X-Powered-By; # не работает > server { > listen 80; > proxy_hide_header X-Powered-By; # не работает > location / { > proxy_pass http://localhost:1180; > proxy_hide_header X-Powered-By; # работает > location ~ \.php$ { > proxy_hide_header X-Powered-By; # работает > proxy_cache mycache; > proxy_set_header Host 'foobar.com'; > } > } Патч: # HG changeset patch # User Maxim Dounin # Date 1343146145 -14400 # Node ID 964382f88187bb13dab1d21dfc89850be4d45206 # Parent 0f15a7663b9d2ba305d6fb0e304bbd3ce8d32327 Upstream: hide_headers/pass_headers inheritance fix. Hide headers and pass headers arrays might not be inherited correctly into a nested location, e.g. in configuration like: server { proxy_hide_header X-Foo; location / { location /nested/ { proxy_pass_header X-Pad; } } } Reported by Konstantin Svist, http://mailman.nginx.org/pipermail/nginx-ru/2012-July/047555.html diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c --- a/src/http/ngx_http_upstream.c +++ b/src/http/ngx_http_upstream.c @@ -4541,6 +4541,9 @@ ngx_http_upstream_hide_headers_hash(ngx_ if (conf->hide_headers == NGX_CONF_UNSET_PTR && conf->pass_headers == NGX_CONF_UNSET_PTR) { + conf->hide_headers = prev->hide_headers; + conf->pass_headers = prev->pass_headers; + conf->hide_headers_hash = prev->hide_headers_hash; if (conf->hide_headers_hash.buckets @@ -4552,9 +4555,6 @@ ngx_http_upstream_hide_headers_hash(ngx_ return NGX_OK; } - conf->hide_headers = prev->hide_headers; - conf->pass_headers = prev->pass_headers; - } else { if (conf->hide_headers == NGX_CONF_UNSET_PTR) { conf->hide_headers = prev->hide_headers; Maxim Dounin From nginx-forum at nginx.us Tue Jul 24 20:52:20 2012 From: nginx-forum at nginx.us (STINGER_LP) Date: Tue, 24 Jul 2012 16:52:20 -0400 (EDT) Subject: =?UTF-8?B?RHJ1cGFsICsgbmdpbnggKyBBcGFjaGU6IHRyeSBmaWxlcyDQstGL0LfRi9Cy0LA=?= =?UTF-8?B?0LXRgiDRhtC40LrQu9C40YfQtdGB0LrQuNC5INGA0LXQtNC40YDQtdC60YI=?= Message-ID: <81ead4127bb85bff4687373ea35b66ee.NginxMailingListRussian@forum.nginx.org> Здравствуйте. Столкнулся с проблемой конфигурации nginx у себя на сервере под Drupal 6. После установки nginx в связке с Apache, перестал работать модуль Imagecache по генерации различных версий картинок, загружаемых на сайте. Много всего вычитал в сети на эту тему и выяснил, что в локейшенах стоит прописать директиву try_files, чтобы в случае, если файл не обнаружен, запрос передавался на обработку Апачу, и тогда модуль Imagecache должен сделать свое дело по генерации файла. Я делал все в частности как указано в вики: http://wiki.nginx.org/HttpCoreModule#try_files за исключением того, что у меня fastcgi не стоит. Но в итоге, в каком бы я локейшене не прописывал "try_files $uri $uri/ /index.php?q=$uri;" по его адресу происходит циклическое перенаправление, о чем любезно сообщил мне Хром (Опера же тупо белую страницу выдает). Прошу помощи в настройке nginx, т.к. уже больше месяца не могу решить эту проблему, которая стопорит всю работу над сайтом. ======================================== Вот так выглядит nginx.conf: ======================================== user www-data; worker_processes 2; error_log /var/log/nginx/error.log info; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; client_header_timeout 3m; client_body_timeout 3m; send_timeout 3m; client_header_buffer_size 1k; large_client_header_buffers 4 4k; gzip on; gzip_min_length 1100; gzip_buffers 4 8k; gzip_types text/plain; postpone_output 1460; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 75 20; access_log /var/log/nginx/access.log; gzip_comp_level 5; gzip_types text/xml application/xml application/x-javascript text/javascript text/css text/json; gzip_disable "msie6"; output_buffers 1 32k; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; } ======================================== ======================================== Вот так выглядит отдельный конфиг из sites-available - mysite.com: ======================================== server { listen mysite.com:80; server_name mysite.com www.mysite.com dev.mysite.com download.mysite.com www.mysite.com download.myoldsite.com www.myoldsite.com www.download.myoldsite.com; root /var/www/mysite/; index index.php index.html index.htm; charset utf-8; access_log /var/log/nginx/access_mysite.log; error_log /var/log/nginx/error_mysite.log warn; if ( $host = myoldsite.com ) { rewrite ^(.*) http://mysite.com$1 permanent; } if ( $host = www.myoldsite.com ) { rewrite ^(.*) http://mysite.com$1 permanent; } if ( $host = www.download.mysite.com ) { rewrite ^(.*) http://download.mysite.com$1 permanent; } if ( $host = www.myoldsite.com ) { rewrite ^(.*) http://download.myoldsite.com$1 permanent; } if ($host !~ ^(mysite.com|www.mysite.com|download.myoldsite.com|www.download.myoldsite.com|dev.mysite.com|www.dev.mysite.com)$) { rewrite ^(.*) http://mysite.com$1 permanent; } location / { proxy_pass http://127.0.0.1:81/; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr;# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; client_body_temp_path /var/nginx/client_body_temp 1 2; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; proxy_temp_path /var/nginx/proxy_temp 1 2; try_files $uri $uri/ /index.php?q=$uri; } # Serve static files directly by nginx location ^~ /files/ { access_log off; expires 20d; try_files $uri $uri/ /index.php?q=$uri; } location ~* ^.+\.(jpeg|jpg|gif|png|bmp|ico|swf|exe|air|ttf|otf|xml|torrent|bup|ifo|info|nfo|cur|tar|zip|tgz|rar|bz2|pdf|psd|txt|doc|xls|docx|xlsx|bak|veg|sfk|css|js|ogg|mp3|ac3|flac|mp2|wav|wma|wmv|avi|mpeg|mpg|mov|flv|mp4|webm|mkv|ts|vob|m4v|rm|m2ts|mts)$ { access_log off; expires 30d; try_files $uri $uri/ /index.php?q=$uri; } # Deny access to .htaccess files, if Apache's document root concurs with nginx's one location ~ /\.ht { deny all; access_log off; log_not_found off; } location = /favicon.ico { log_not_found off; access_log off; } # Deny access to unix backup files location ~* \~$ { deny all; } # Set error page handle by Drupal error_page 500 502 503 504 /error50x.html; location = /error50x.html { root /var/www/mysite/; } error_page 404 /error404.html; location = /error404.html { root /var/www/mysite/; } # Deny access to system files and directories location ~* \.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$|\.php_ { deny all; } location ~ "^/(CHANGELOG|COPYRIGHT|INSTALL\.mysql|INSTALL\.pgsql|INSTALL|LICENSE|MAINTAINERS|UPGRADE)\.txt" { deny all; } location ^~ /files/imagecache/ { root /var/www/mysite; index index.php index.html; try_files $uri $uri/ /index.php?q=$uri; } } ======================================== Может кто-то сможет подсказать в чем ошибка? При данной конфигурации с указанием try_files $uri $uri/ /index.php?q=$uri; по соответствующим локейшенам происходит циклический редирект, в том числе на всех внутренних страницах сайта. Заранее благодарен за помощь. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228948,228948#msg-228948 From pavel2000 at ngs.ru Wed Jul 25 09:31:19 2012 From: pavel2000 at ngs.ru (Pavel V.) Date: Wed, 25 Jul 2012 16:31:19 +0700 Subject: =?UTF-8?B?UmU6IERydXBhbCArIG5naW54ICsgQXBhY2hlOiB0cnkgZmlsZXMg0LLRi9C30Ys=?= =?UTF-8?B?0LLQsNC10YIg0YbQuNC60LvQuNGH0LXRgdC60LjQuSDRgNC10LTQuNGA0LU=?= =?UTF-8?B?0LrRgg==?= In-Reply-To: <81ead4127bb85bff4687373ea35b66ee.NginxMailingListRussian@forum.nginx.org> References: <81ead4127bb85bff4687373ea35b66ee.NginxMailingListRussian@forum.nginx.org> Message-ID: <15210450370.20120725163119@ngs.ru> Здравствуйте, STINGER_LP. Вы писали 25 июля 2012 г., 3:52:20: > Я делал все в частности как указано в > вики: http://wiki.nginx.org/HttpCoreModule#try_files за > исключением того, что у меня fastcgi не > стоит. Но в итоге, в каком бы я локейшене > не прописывал "try_files $uri $uri/ /index.php?q=$uri;" по > его адресу происходит циклическое > перенаправление, о чем любезно сообщил > мне Хром (Опера же тупо белую страницу > выдает). Вы в лог апача посмотрите, может этот редирект выдается им?? > server { > listen mysite.com:80; > server_name mysite.com www.mysite.com dev.mysite.com > download.mysite.com www.mysite.com download.myoldsite.com > www.myoldsite.com www.download.myoldsite.com; > root /var/www/mysite/; > index index.php index.html index.htm; > charset utf-8; > access_log /var/log/nginx/access_mysite.log; > error_log /var/log/nginx/error_mysite.log warn; Почитайте про "Nginx IfIsEvil", перепишите условия с использованием $host в отдельные блоки server {} , иначе не ждите отсюда помощи. > if ( $host = myoldsite.com ) { > rewrite ^(.*) http://mysite.com$1 permanent; > } > if ( $host = www.myoldsite.com ) { > rewrite ^(.*) http://mysite.com$1 permanent; > } > if ( $host = www.download.mysite.com ) { > rewrite ^(.*) http://download.mysite.com$1 permanent; > } > if ( $host = www.myoldsite.com ) { > rewrite ^(.*) http://download.myoldsite.com$1 permanent; > } > > if ($host !~ > ^(mysite.com|www.mysite.com|download.myoldsite.com|www.download.myoldsite.com|dev.mysite.com|www.dev.mysite.com)$) > { > rewrite ^(.*) http://mysite.com$1 permanent; > } > > location / { > proxy_pass http://127.0.0.1:81/; > proxy_redirect off; > proxy_set_header Host $host; > proxy_set_header X-Real-IP $remote_addr;# > proxy_set_header X-Forwarded-For > $proxy_add_x_forwarded_for; > client_max_body_size 10m; > client_body_buffer_size 128k; > client_body_temp_path /var/nginx/client_body_temp 1 2; > proxy_connect_timeout 90; > proxy_send_timeout 90; > proxy_read_timeout 90; > proxy_buffer_size 4k; > proxy_buffers 4 32k; > proxy_busy_buffers_size 64k; > proxy_temp_file_write_size 64k; > proxy_temp_path /var/nginx/proxy_temp 1 2; > try_files $uri $uri/ /index.php?q=$uri; > } Зачем здесь в этом location / {} столько _тюнинга_, я думаю не понятно _никому_. > # Serve static files directly by nginx > location ^~ /files/ { > access_log off; > expires 20d; > try_files $uri $uri/ /index.php?q=$uri; > } > location ~* > ^.+\.(jpeg|jpg|gif|png|bmp|ico|swf|exe|air|ttf|otf|xml|torrent|bup|ifo|info|nfo|cur|tar|zip|tgz|rar|bz2|pdf|psd|txt|doc|xls|docx|xlsx|bak|veg|sfk|css|js|ogg|mp3|ac3|flac|mp2|wav|wma|wmv|avi|mpeg|mpg|mov|flv|mp4|webm|mkv|ts|vob|m4v|rm|m2ts|mts)$ > { > access_log off; > expires 30d; > try_files $uri $uri/ /index.php?q=$uri; > } > location ^~ /files/imagecache/ { > root /var/www/mysite; > index index.php index.html; > try_files $uri $uri/ /index.php?q=$uri; > } > } У меня это делается чуть по другому (тоже drupal): server { ... root /web/site/www; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; #дефолтный локейшн location / { proxy_pass http://127.0.0.1:80; } #Абсолютная статика location = /favicon.ico { return 404; } location = /robots.txt {} location ^~ /img/ {} location ^~ /misc/ {} #Эти три в одну регулярку объединять было лениво, но сделать можно и наверное нужно. location ~* ^\/sites\/all\/themes\/.*\.(gif|jpg|jpeg|png|css|swf|ico|js)$ {} location ~* ^\/sites\/all\/libraries\/.*\.(gif|jpg|jpeg|png|css|swf|ico|js)$ {} location ~* ^\/sites\/all\/modules\/.*\.(gif|jpg|jpeg|png|css|swf|ico|js)$ {} location ~* ^\/modules\/.*\.(gif|jpg|jpeg|png|css|swf|ico|js)$ {} #Тут что-то создается динамически, поэтому try_files location ^~ /sites/default/files/ { try_files $uri @backend; } #локейшн для динамики location @backend { proxy_pass http://127.0.0.1:80; } #Всякие защитные фенечки location ~ /\.ht { deny all; } ... } Обратите внимание на то, что /index.php?q=$uri заменен на @backend. Не забудьте посмотреть в логи апача, он тоже может выдавать редиректы. > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- С уважением, Pavel mailto:pavel2000 at ngs.ru From nginx-forum at nginx.us Wed Jul 25 18:37:58 2012 From: nginx-forum at nginx.us (nik222) Date: Wed, 25 Jul 2012 14:37:58 -0400 (EDT) Subject: =?UTF-8?B?0J7RgtC00LDRgtGMINC/0LDQv9C60YMg0L/QvtC0INGD0L/RgNCw0LLQu9C10L0=?= =?UTF-8?B?0LjQtSBBcGFjaGU=?= Message-ID: Здравствуйте. С nginx знаком сравнительно недавно. Возник вопрос: как определенный подкаталог в структуре сайта отдать полностью под управление Apache ? Вообще задача стоит следующая : нужно отдавать файлы с сайта зарегистрированных пользователей скриптом. Но при этом те же файлы доступны для скачивания по прямым ссылкам для всех желающих. .htaccess c содержимым deny for all не срабатывает. Вот и грешу на nginx. Прошу помочь. Заранее благодарен за ответ. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228968,228968#msg-228968 From vsjcfm at gmail.com Wed Jul 25 18:43:32 2012 From: vsjcfm at gmail.com (Sayetsky Anton) Date: Wed, 25 Jul 2012 21:43:32 +0300 Subject: =?UTF-8?B?UmU6INCe0YLQtNCw0YLRjCDQv9Cw0L/QutGDINC/0L7QtCDRg9C/0YDQsNCy0Ls=?= =?UTF-8?B?0LXQvdC40LUgQXBhY2hl?= In-Reply-To: References: Message-ID: 25 июля 2012 г., 21:37 пользователь nik222 написал: > Здравствуйте. С nginx знаком сравнительно > недавно. Возник вопрос: как > определенный подкаталог в структуре > сайта отдать полностью под управление > Apache ? location /path/to { proxy_pass http://backend; } > .htaccess c содержимым deny for all не срабатывает. Вот и грешу на nginx. А ничего, что nginx не поддерживает .htaccess? Это фича исключительно индейца. From gmm at csdoc.com Wed Jul 25 19:03:09 2012 From: gmm at csdoc.com (Gena Makhomed) Date: Wed, 25 Jul 2012 22:03:09 +0300 Subject: =?UTF-8?B?UmU6INCe0YLQtNCw0YLRjCDQv9Cw0L/QutGDINC/0L7QtCDRg9C/0YDQsNCy0Ls=?= =?UTF-8?B?0LXQvdC40LUgQXBhY2hl?= In-Reply-To: References: Message-ID: <501042ED.7090302@csdoc.com> On 25.07.2012 21:37, nik222 wrote: > Здравствуйте. С nginx знаком сравнительно > недавно. Возник вопрос: как > определенный подкаталог в структуре > сайта отдать полностью под управление > Apache ? например, с помощью https://github.com/defanator/mod_aclr2 или http://kovyrin.net/2006/11/01/nginx-x-accel-redirect-php-rails/lang/ru/ > Вообще задача стоит следующая : нужно > отдавать файлы с сайта > зарегистрированных пользователей > скриптом. Но при этом те же файлы > доступны для скачивания по прямым > ссылкам для всех желающих. .htaccess c > содержимым deny for all не срабатывает. Вот и > грешу на nginx. nginx делает именно то, что написано в его конфигурации. если его поведение не соответствует ожидаемому - тогда следует внимательно читать документацию, смотреть логи, исправляя при этом *свои* ошибки в конфигурации nginx. документация - http://nginx.org/ru/docs/ логи - http://nginx.org/ru/docs/debugging_log.html -- Best regards, Gena From nginx-forum at nginx.us Thu Jul 26 11:37:20 2012 From: nginx-forum at nginx.us (nik222) Date: Thu, 26 Jul 2012 07:37:20 -0400 (EDT) Subject: =?UTF-8?B?UmU6INCe0YLQtNCw0YLRjCDQv9Cw0L/QutGDINC/0L7QtCDRg9C/0YDQsNCy0Ls=?= =?UTF-8?B?0LXQvdC40LUgQXBhY2hl?= In-Reply-To: References: Message-ID: Спасибо большое !!! > location /path/to { > proxy_pass http://backend; > } Сделал, вроде работает, но мучают сомнения по правильности моей реализации. >http://kovyrin.net/2006/11/01/nginx-x-accel-redirect-php-rails/lang/ru/ Спопсоб интересен, но к сожалению не хватит знаний для его реализации ((( Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228968,228998#msg-228998 From nginx-forum at nginx.us Thu Jul 26 14:20:40 2012 From: nginx-forum at nginx.us (alexstream) Date: Thu, 26 Jul 2012 10:20:40 -0400 (EDT) Subject: disable_symlinks + FreeBSD 7.* Message-ID: <4c3dda3d889de5a8775987e05ab44e6c.NginxMailingListRussian@forum.nginx.org> Под FreeBSD 7.4 (amd64/i386) при установке последней стабильной версий nginx, доступной в портах (nginx-1.2.2,1) не работает директива disable_symlinks. Ошибка: # /usr/local/etc/rc.d/nginx start Performing sanity check on nginx configuration: nginx: [emerg] unknown directive "disable_symlinks" in /usr/local/etc/nginx/nginx.conf:59 nginx: configuration file /usr/local/etc/nginx/nginx.conf test failed Starting nginx. nginx: [emerg] unknown directive "disable_symlinks" in /usr/local/etc/nginx/nginx.conf:59 что приводит к полной парализации работы веб-сервиса. проблемная строка в конфиге nginx: disable_symlinks if_not_owner from=/home/test1/data/www/test.ru; версия используемого ПО: OS: FreeBSD 7.4 amd64 # /usr/local/sbin/nginx -v nginx version: nginx/1.2.2 nginx собран из портов. использовались следующие опции: # /usr/local/sbin/nginx -V nginx version: nginx/1.2.2 built by gcc 4.2.1 20070719 [FreeBSD] TLS SNI support enabled configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt='-I /usr/local/include' --with-ld-opt='-L /usr/local/lib' --conf-path=/usr/local/etc/nginx/nginx.conf --sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid --error-log-path=/var/log/nginx-error.log --user=www --group=www --http-client-body-temp-path=/var/tmp/nginx/client_body_temp --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp --http-proxy-temp-path=/var/tmp/nginx/proxy_temp --http-scgi-temp-path=/var/tmp/nginx/scgi_temp --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi_temp --http-log-path=/var/log/nginx-access.log --with-http_gzip_static_module --with-http_stub_status_module --with-pcre --with-http_ssl_module Проблема стабильно повторяется на FreeBSD 7.4. На ОС FreeBSD 8.3 и 9.0 такой проблемы с теми же версиями ПО нет. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,229003,229003#msg-229003 From ne at vbart.ru Thu Jul 26 14:56:40 2012 From: ne at vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Thu, 26 Jul 2012 18:56:40 +0400 Subject: disable_symlinks + FreeBSD 7.* In-Reply-To: <4c3dda3d889de5a8775987e05ab44e6c.NginxMailingListRussian@forum.nginx.org> References: <4c3dda3d889de5a8775987e05ab44e6c.NginxMailingListRussian@forum.nginx.org> Message-ID: <201207261856.40981.ne@vbart.ru> On Thursday 26 July 2012 18:20:40 alexstream wrote: > Под FreeBSD 7.4 (amd64/i386) при установке > последней стабильной версий nginx, > доступной в портах (nginx-1.2.2,1) не работает > директива disable_symlinks. Ошибка: [...] http://nginx.org/r/disable_symlinks/ru "Эта директива доступна только на системах, в которых есть интерфейсы openat() и fstatat()." -- Валентин Бартенев From nginx-forum at nginx.us Thu Jul 26 15:45:30 2012 From: nginx-forum at nginx.us (alexstream) Date: Thu, 26 Jul 2012 11:45:30 -0400 (EDT) Subject: disable_symlinks + FreeBSD 7.* In-Reply-To: <4c3dda3d889de5a8775987e05ab44e6c.NginxMailingListRussian@forum.nginx.org> References: <4c3dda3d889de5a8775987e05ab44e6c.NginxMailingListRussian@forum.nginx.org> Message-ID: Спасибо. Вопрос исчерпан. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,229003,229010#msg-229010 From nginx-forum at nginx.us Thu Jul 26 22:40:55 2012 From: nginx-forum at nginx.us (theromis1) Date: Thu, 26 Jul 2012 18:40:55 -0400 (EDT) Subject: NGINX + Kerberos(heimdal) In-Reply-To: <6f7000d59f8af91e5fccb63833ba54c4.NginxMailingListRussian@forum.nginx.org> References: <6f7000d59f8af91e5fccb63833ba54c4.NginxMailingListRussian@forum.nginx.org> Message-ID: <5ff6b373d7b552be0f86b5c54bd57c1a.NginxMailingListRussian@forum.nginx.org> Только добрался до форума, спасибо за ответ. я про него и говорил, мне показалось что оно блокирует потому что все делается внутри обработчика заголовков без регистрации коллбэков. На сколько я понял это просто генератор credentials без каких либо запросов к самому kerberos серверу. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228760,229018#msg-229018 From nginx-forum at nginx.us Thu Jul 26 22:43:25 2012 From: nginx-forum at nginx.us (theromis1) Date: Thu, 26 Jul 2012 18:43:25 -0400 (EDT) Subject: NginxGooglePerftoolsModule Message-ID: <69d6437f08c415729fcc3f7c55bd895c.NginxMailingListRussian@forum.nginx.org> Хотел спросить есть ли какие то условия для снатия данных для NGINX. Просто пытаюсь ими отпрофилировать Apache даже полностью портанул этот модуль для Apache и только 4 калечный функции показывает, вроде как запускается он после того как он форкнул детей, хотя я неуверен, может кто посоветует чего? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,229019,229019#msg-229019 From server_inc at list.ru Fri Jul 27 01:47:16 2012 From: server_inc at list.ru (=?UTF-8?B?0KHRgtCw0L3QuNGB0LvQsNCy?=) Date: Fri, 27 Jul 2012 04:47:16 +0300 Subject: =?UTF-8?B?0JvQvtC80LDQtdGC0YHRjyBmYXN0Y2dpX3BhcmFtIFFVRVJZX1NUUklORw==?= Message-ID: <5011F324.7000203@list.ru> Здравствуйте. Есть такой локейшн ============================= location ~ ^/index.php/(.*)$ { fastcgi_pass unix:/var/run/php-fpm/my.sock ; include /usr/local/etc/nginx/fastcgi_params ; fastcgi_param SCRIPT_FILENAME /www/index.php ; fastcgi_param QUERY_STRING /$1; } ============================= Работает отлично, нареканий нет. Стоит мне добавить такое: ============================= if ($query_string ~* "\+magic\+key\+") { return 444 ; } ============================= ... и локейшн начинается игнорировать строчку "fastcgi_param QUERY_STRING /$1". Это нормальное поведение? From ne at vbart.ru Fri Jul 27 02:01:41 2012 From: ne at vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Fri, 27 Jul 2012 06:01:41 +0400 Subject: =?UTF-8?B?UmU6INCb0L7QvNCw0LXRgtGB0Y8gZmFzdGNnaV9wYXJhbSBRVUVSWV9TVFJJTkc=?= In-Reply-To: <5011F324.7000203@list.ru> References: <5011F324.7000203@list.ru> Message-ID: <201207270601.41727.ne@vbart.ru> On Friday 27 July 2012 05:47:16 Станислав wrote: > Здравствуйте. > > Есть такой локейшн > > ============================= > > location ~ ^/index.php/(.*)$ { > fastcgi_pass unix:/var/run/php-fpm/my.sock ; > include /usr/local/etc/nginx/fastcgi_params ; > fastcgi_param SCRIPT_FILENAME /www/index.php ; > fastcgi_param QUERY_STRING /$1; > } > > ============================= > > Работает отлично, нареканий нет. Стоит мне добавить такое: > > ============================= > > if ($query_string ~* "\+magic\+key\+") { > return 444 ; > } > > ============================= > > ... и локейшн начинается игнорировать строчку "fastcgi_param > QUERY_STRING /$1". > > > Это нормальное поведение? > Если под "игнорировать строчку" подразумевается пустое значение у $1, то нормально. Порядковые выделения ссылаются на последнее отработавшее регулярное выражение. -- Валентин Бартенев From nginx-forum at nginx.us Fri Jul 27 16:08:51 2012 From: nginx-forum at nginx.us (zuborg) Date: Fri, 27 Jul 2012 12:08:51 -0400 (EDT) Subject: =?UTF-8?B?bmdpbngg0L/QvtC00LLQuNGB0LDQtdGCINC90LAg0L3QtdGB0LrQvtC70YzQutC+?= =?UTF-8?B?INGB0LXQutGD0L3QtA==?= Message-ID: <1ba4ef35d47f1faa3ce43d9e609e0aba.NginxMailingListRussian@forum.nginx.org> иногда nginx-1.2.2 перестает accept-ить входящие соединения, тупит бывает до минуты: tcp4 771/0/512 *.88 unix 0/0/1024 /tmp/php-fpm.sock cpu idle - 99% в такие моменты по vmstat никаких проблем с доступностью ресурсов нет в логах ничего обьясняющего тоже нет. используется проксирование на php-fpm из модулей nginx-а ещё используются gzip, realip, geoip worker_processes 8; events { worker_connections 4096; use kqueue; } upstream phpfpm { server unix:/tmp/php-fpm.sock max_fails=0 fail_timeout=1s; keepalive 8; } location ~ (\.php|/)$ { include fastcgi_params; fastcgi_index index.php; fastcgi_param GEOIP_COUNTRY_CODE $geoip_city_country_code; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_connect_timeout 1; fastcgi_keep_conn on; fastcgi_pass phpfpm; } не могу разобраться как решить эту проблему ;( Posted at Nginx Forum: http://forum.nginx.org/read.php?21,229041,229041#msg-229041 From nginx-forum at nginx.us Fri Jul 27 16:43:48 2012 From: nginx-forum at nginx.us (zuborg) Date: Fri, 27 Jul 2012 12:43:48 -0400 (EDT) Subject: =?UTF-8?B?UmU6IG5naW54INC/0L7QtNCy0LjRgdCw0LXRgiDQvdCwINC90LXRgdC60L7Qu9GM?= =?UTF-8?B?0LrQviDRgdC10LrRg9C90LQ=?= In-Reply-To: <1ba4ef35d47f1faa3ce43d9e609e0aba.NginxMailingListRussian@forum.nginx.org> References: <1ba4ef35d47f1faa3ce43d9e609e0aba.NginxMailingListRussian@forum.nginx.org> Message-ID: <53119629469a7fb219f2279324527f57.NginxMailingListRussian@forum.nginx.org> на nginx-devel-1.3.3 проблема воспроизводится по ps видно следующее: # ps -axo 'wchan,mwchan,lockname,state,flags,pid,command' | grep nginx |grep -v grep pause pause - Is 10000000 9797 nginx: master process /usr/local/sbin/nginx kqread kqread - S 10000100 9798 nginx: worker process (nginx) kqread kqread - S 10000100 9799 nginx: worker process (nginx) kqread kqread - S 10000100 9800 nginx: worker process (nginx) kqread kqread - S 10000100 9801 nginx: worker process (nginx) - - - D 10000100 9802 nginx: worker process (nginx) kqread kqread - S 10000100 9803 nginx: worker process (nginx) kqread kqread - S 10000100 9804 nginx: worker process (nginx) kqread kqread - S 10000100 9805 nginx: worker process (nginx) pid 9802 залоченый на диске. по fstat -p 9802 единственный открытый файл, кроме логов и бинаря nginx - это GeoIPCity.dat в модуле ли причина (отключить его не могу)? и как вообще может случиться так что залоченый worker приводит к тому что остальные worker-ы не accept-ят входящие запросы ? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,229041,229042#msg-229042 From nginx-forum at nginx.us Fri Jul 27 16:58:15 2012 From: nginx-forum at nginx.us (zuborg) Date: Fri, 27 Jul 2012 12:58:15 -0400 (EDT) Subject: =?UTF-8?B?UmU6IG5naW54INC/0L7QtNCy0LjRgdCw0LXRgiDQvdCwINC90LXRgdC60L7Qu9GM?= =?UTF-8?B?0LrQviDRgdC10LrRg9C90LQ=?= In-Reply-To: <53119629469a7fb219f2279324527f57.NginxMailingListRussian@forum.nginx.org> References: <1ba4ef35d47f1faa3ce43d9e609e0aba.NginxMailingListRussian@forum.nginx.org> <53119629469a7fb219f2279324527f57.NginxMailingListRussian@forum.nginx.org> Message-ID: вроде как перестало глючить после добавления в конфиг accept_mutex off; Posted at Nginx Forum: http://forum.nginx.org/read.php?21,229041,229043#msg-229043 From mdounin at mdounin.ru Fri Jul 27 21:42:04 2012 From: mdounin at mdounin.ru (Maxim Dounin) Date: Sat, 28 Jul 2012 01:42:04 +0400 Subject: =?UTF-8?B?UmU6IG5naW54INC/0L7QtNCy0LjRgdCw0LXRgiDQvdCwINC90LXRgdC60L7Qu9GM?= =?UTF-8?B?0LrQviDRgdC10LrRg9C90LQ=?= In-Reply-To: References: <1ba4ef35d47f1faa3ce43d9e609e0aba.NginxMailingListRussian@forum.nginx.org> <53119629469a7fb219f2279324527f57.NginxMailingListRussian@forum.nginx.org> Message-ID: <20120727214204.GC31671@mdounin.ru> Hello! On Fri, Jul 27, 2012 at 12:58:15PM -0400, zuborg wrote: > вроде как перестало глючить после > добавления в конфиг > accept_mutex off; Accept mutex не должен приводить к задержкам accept'а больше, чем на accept_mutex_timeout - не позднее таймаута проснётся другой рабочий процесс и попытается захватить mutex / сделать accept. Если оно воспроизводится - было бы интересно посмотреть на ktrace/kdump и debug log. Maxim Dounin From schors at gmail.com Sat Jul 28 09:57:21 2012 From: schors at gmail.com (Phil Kulin) Date: Sat, 28 Jul 2012 13:57:21 +0400 Subject: =?UTF-8?B?0YPQstC10LvQuNGH0LXQvdC40LUg0LrQvtC70LjRh9C10YHRgtCy0LAgd29ya2Vy?= =?UTF-8?B?X3Byb2Nlc3Nlcw==?= Message-ID: Приветствую. Древняя тема про worker_processes. Используя в промышленных количествах nginx с лета 2004 года, я как-то уже забыл тонкости. Почему-то в голове жёсткое правило - без причины не увеличивать количество worker_processes. А вот обосновать не могу. Не смог за два дня нагуглить тезисный список проблем, которые могут возникнуть при увеличении этого параметра. Где-то упоминается количество дисков, без ссылки на историю проблемы, где-то просто абстрактно говорится, что проблема начнётся раньше, чем проблема CPU... Даже рекомендация про равенство количеству ядер очень осторожная - в нескольких местах вежливо написано "если уж нужно считать SSL/gzip, то вот начните с количества CPU". Вопрос - какие специфические проблемы могут возникать при увеличении количества воркеров? В чём их основа? P.S. Я думаю это надо в документацию написать потом, или хотя бы в wiki. Я за последний месяц уже 5-ую конфигурацию вижу с worker_processes = 2xCPU с обоснованием "так на многопроцессорных системах все делают". -- Non nobis Domine non nobis sed Nomini Tuo da gloriam Phil Kulin From mail at knutov.com Sat Jul 28 10:33:41 2012 From: mail at knutov.com (Nick Knutov) Date: Sat, 28 Jul 2012 16:33:41 +0600 Subject: =?UTF-8?B?TW9kU2VjdXJpdHkg0L/QvtGA0YLQuNGA0L7QstCw0L0g0LTQu9GPIG5naW54?= Message-ID: <5013C005.1080900@knutov.com> http://www.opennet.ru/opennews/art.shtml?num=34435 Сабж. Кто-нибудь уже пробовал? -- Best Regards, Nick Knutov http://knutov.com ICQ: 272873706 Voice: +7-904-84-23-130 From ne at vbart.ru Sat Jul 28 11:57:48 2012 From: ne at vbart.ru (=?utf-8?b?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Sat, 28 Jul 2012 15:57:48 +0400 Subject: =?UTF-8?B?UmU6ICDRg9Cy0LXQu9C40YfQtdC90LjQtSDQutC+0LvQuNGH0LXRgdGC0LLQsCB3?= =?UTF-8?B?b3JrZXJfcHJvY2Vzc2Vz?= In-Reply-To: References: Message-ID: <201207281557.49235.ne@vbart.ru> On Saturday 28 July 2012 13:57:21 Phil Kulin wrote: [...] > Вопрос - какие специфические проблемы могут возникать при увеличении > количества воркеров? В чём их основа? Проблем особо никаких, кроме бо?льшего потребления ресурсов. > P.S. Я думаю это надо в документацию написать потом, или хотя бы в > wiki. В документации все есть. http://nginx.org/r/worker_processes/ru -- Валентин Бартенев From public-mail at alekciy.ru Sat Jul 28 12:05:47 2012 From: public-mail at alekciy.ru (=?UTF-8?B?0JDQu9C10LrRgdC10Lkg0KHRg9C90LTRg9C60L7Qsg==?=) Date: Sat, 28 Jul 2012 16:05:47 +0400 Subject: =?UTF-8?B?UmU6INGD0LLQtdC70LjRh9C10L3QuNC1INC60L7Qu9C40YfQtdGB0YLQstCwIHdv?= =?UTF-8?B?cmtlcl9wcm9jZXNzZXM=?= In-Reply-To: References: Message-ID: 28 июля 2012 г., 13:57 пользователь Phil Kulin написал: > Приветствую. > > Древняя тема про worker_processes. Используя в промышленных > количествах nginx с лета 2004 года, я как-то уже забыл тонкости. > Почему-то в голове жёсткое правило - без причины не увеличивать > количество worker_processes. А вот обосновать не могу. Мой склероз мне говорит, что одна из ключевых проблем согласование работы мастер процесса и кучи рабочих процессов. Чем больше рабочих, тем выше накладные расходы для мастер процесса по их обслуживанию. И получается, что админ сервера решил, что для улучшения ситуации на сервере нужно поднять количество рабочих процессов. Увеличивает их и получает, что ситуация не только не улучшилась, но и стало еще хуже. Вроде как в рассылке такие ситуации не раз всплывали. Вот и пошло, что не трогать количество рабочих процессов без критической необходимости. Не справляется текущий фронт и все уже вроде оттюнили, значит просто лучше добавить новый сервер. From gmm at csdoc.com Sat Jul 28 12:42:06 2012 From: gmm at csdoc.com (Gena Makhomed) Date: Sat, 28 Jul 2012 15:42:06 +0300 Subject: =?UTF-8?B?UmU6INGD0LLQtdC70LjRh9C10L3QuNC1INC60L7Qu9C40YfQtdGB0YLQstCwIHdv?= =?UTF-8?B?cmtlcl9wcm9jZXNzZXM=?= In-Reply-To: References: Message-ID: <5013DE1E.7000606@csdoc.com> On 28.07.2012 12:57, Phil Kulin wrote: > Почему-то в голове жёсткое правило - без причины не увеличивать > количество worker_processes. А вот обосновать не могу. чем больше процессов - тем больше переключений контекста и "вымывания" процессорного кэша. поэтому, когда nginx занимается только проксированием - от увеличения количества worker_processes больше чем есть физических ядер в машине - общая производительность может не увеличиться, а наоборот немного уменьшиться. > Вопрос - какие специфические проблемы могут возникать > при увеличении количества воркеров? В чём их основа? если при большом количестве воркеров выключить accept_mutex, тогда вырастает нагрузка на процессор: http://mailman.nginx.org/pipermail/nginx-ru/2008-November/020761.html > Я за последний месяц уже 5-ую конфигурацию вижу с > worker_processes = 2xCPU с обоснованием "так на многопроцессорных > системах все делают". возможно - увеличивают количество worker_processes для того, чтобы nginx меньше блокировался на операциях с жестким диском, - других существенных причин увеличивать worker_processes нет. -- Best regards, Gena From robertkein at gmail.com Sat Jul 28 13:07:46 2012 From: robertkein at gmail.com (Roman Kozyrev) Date: Sat, 28 Jul 2012 20:07:46 +0700 Subject: =?UTF-8?B?0J7QsdGA0LDQsdC+0YLQutCwINC00L7QvNC10L3QvtCyINGC0YDQtdGC0YzQtdCz?= =?UTF-8?B?0L4g0YPRgNC+0LLQvdGPINCyIHBocCDRhNCw0LnQu9Cw0YUu?= Message-ID: Здравствуйте. Возникла задача следующего плана: Нужно чтобы при обращении any_subdomain_name.domain.com обработаться файл(открыться файл) domain.com/any_subdomain_name.php Файл any_subdomain_name.php находится по пути /var/www/ domain.com/web/any_subdomain_name.php Тот конфиг, который не работает сейчас, выглядит следующим образом: server { root /var/www/domain.ru/web/; index index.php index.html index.htm; listen 80; server_name domain.ru; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } access_log /var/www/9ij.ru/log/access.log; error_log /var/www/domain.ru/log/error.log; location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { expires max; log_not_found off; } } server { server_name ^([a-z0-9\-]+\.)domain.ru; listen 80; rewrite ^ http://domain.ru:80$1.php last; location ~ \*$ { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } Best regards, Roman Kozyrev -------------- next part -------------- An HTML attachment was scrubbed... URL: From mva at mva.name Sat Jul 28 18:18:39 2012 From: mva at mva.name (Misbakh-Soloviov Vadim A.) Date: Sun, 29 Jul 2012 01:18:39 +0700 Subject: =?UTF-8?B?UmU6IGFsbG93L2Rlbnkg0LTQu9GPIGZhc3RfY2dp?= In-Reply-To: References: Message-ID: <1502921.sLzCxXQgtv@note> On Пн, 23 июля 2012 17:12:05 Юрий Гончаров wrote: > Добрый день. > Подскажите пожалуйста есть у меня domain.com: nginx+php-fpm > > php обрабатываются следующим образом: > > location ~* \.php$ { > include /etc/nginx/fastcgi_params; > fastcgi_connect_timeout 3600; > fastcgi_send_timeout 3600; > fastcgi_read_timeout 3600; > client_max_body_size 100m; > fastcgi_pass unix:/tmp/php.socket; > root domain.com; > } > > В тоже время ложу внутрь проекта /pma/ и хочу его пофильтровать по IP, > делаю так: > > location /pma/ { index index.php; allow x.x.x.x/24; allow y.y.y.y; > deny all; root /www/projects/domain.com;} > > Но тогда досадно получается, что зайти с любого места можно просто по > http://domain.com/pma/index.php по понятным причинам > > Вопрос: > как бы так красиво сделать чтобы вообще в папке /pma/ нельзя было > попасть если не подпадаешь под allow при этом > чтобы php внутри этой папки работало как надо.. > > Спасибо большое заранее! А почему не location /pma { allow deny } ? ;) -- Best regards, mva -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: This is a digitally signed message part. URL: From mdounin at mdounin.ru Sat Jul 28 22:04:20 2012 From: mdounin at mdounin.ru (Maxim Dounin) Date: Sun, 29 Jul 2012 02:04:20 +0400 Subject: =?UTF-8?B?UmU6INGD0LLQtdC70LjRh9C10L3QuNC1INC60L7Qu9C40YfQtdGB0YLQstCwIHdv?= =?UTF-8?B?cmtlcl9wcm9jZXNzZXM=?= In-Reply-To: References: Message-ID: <20120728220420.GJ31671@mdounin.ru> Hello! On Sat, Jul 28, 2012 at 01:57:21PM +0400, Phil Kulin wrote: > Приветствую. > > Древняя тема про worker_processes. Используя в промышленных > количествах nginx с лета 2004 года, я как-то уже забыл тонкости. > Почему-то в голове жёсткое правило - без причины не увеличивать > количество worker_processes. А вот обосновать не могу. > > Не смог за два дня нагуглить тезисный список проблем, которые могут > возникнуть при увеличении этого параметра. Где-то упоминается > количество дисков, без ссылки на историю проблемы, где-то просто > абстрактно говорится, что проблема начнётся раньше, чем проблема > CPU... Даже рекомендация про равенство количеству ядер очень > осторожная - в нескольких местах вежливо написано "если уж нужно > считать SSL/gzip, то вот начните с количества CPU". > > Вопрос - какие специфические проблемы могут возникать при увеличении > количества воркеров? В чём их основа? Как и при любом конкурентном доступе - увеличение конкурентности приводит к увеличению накладных расходов. Это и затраты на переключение процессов, и просто расход лишней памяти, и банальное снижение эффективности кешей процессоров из-за миграции процессов с процессора на процессор и/или вымывания их другими процессами, и lock contention где не надо, и так далее, и тому подобное. Что касается специфичных для nginx'а вещей, то тут пожалуй в первую очередь всякие per-process вещи вроде кеша резолвера, open_file_cache, статистике по upstream'ам и кеша соединений к ним. Что важнее - увеличение конкурентности или рост накладных расходов, а соответственно в какое значение ставить количество рабочих процессов - зависит от конкретной ситуации. До недавнего времени местной достопримечательностью была конфигурация Миши Монашёва с 1000 (тысячей) рабочих процессов. И эта цифра была вполне оправдана и разумна (сейчас там используется aio, и процессов стало поменьше). Безусловно, ставить сильно больше рабочих процессов, чем надо для конкретной задачи - не есть правильно. Но обычно не фатально. > P.S. Я думаю это надо в документацию написать потом, или хотя бы в > wiki. Я за последний месяц уже 5-ую конфигурацию вижу с > worker_processes = 2xCPU с обоснованием "так на многопроцессорных > системах все делают". 2xCPU - это почти всегда неправильно. Потому что если nginx упёрт в CPU, то это много, если в диски - то вопрос не в количестве CPU. А в большинстве случаев nginx ни во что не упёрт, и лишние процессы просто без пользы потребляют ресурсы. Впрочем, современные системы имеют не столько процессоров, чтобы 2xCPU так уж сильно отличалось от оптимального значения. Что до документации, то там уже расписано всё, что можно расписать в рамках документации, а не отдельной статьи на тему "как правильно тюнить количество рабочих процессов в различных ситуациях: примеры из практики и синтетические тесты". Maxim Dounin From nginx-forum at nginx.us Sun Jul 29 12:54:29 2012 From: nginx-forum at nginx.us (sherstobitov) Date: Sun, 29 Jul 2012 08:54:29 -0400 (EDT) Subject: =?UTF-8?B?0KfRgtC+INC+0YLRgNCw0LHQsNGC0YvQstCw0LXRgiDRgNCw0L3RjNGI0LU6IHBy?= =?UTF-8?B?b3h5IGNhY2hlINC40LvQuCBpZj8=?= Message-ID: <9dd0b68add291c67df5b0e360829175a.NginxMailingListRussian@forum.nginx.org> Что в данном случае отработается раньше: кэш или условие? Можно ли сделать так, чтобы сначала пробовал найти запрашиваемый ресурс в кэше, и только если его там нет - обрабатывались какие-то условия? location / { proxy_pass http://localhost:8080/; proxy_cache cache1; ... if ( [regex] ) { rewrite ...; } } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,229071,229071#msg-229071 From nginx-forum at nginx.us Sun Jul 29 15:22:28 2012 From: nginx-forum at nginx.us (freeman1doma) Date: Sun, 29 Jul 2012 11:22:28 -0400 (EDT) Subject: =?UTF-8?B?0JvQvtC80LDQtdGC0YHRjyBSZXdyaXRlINCyIENocm9tZSxJRSxPcGVyYQ==?= Message-ID: <26bdb8997277de0fd44e665fd85642cf.NginxMailingListRussian@forum.nginx.org> Есть такой реврайт rewrite ^/([^/?&\.]+)([?&]([^/]*))?$ /?furl=$1&$3 last; в мозиле отрабатывает отлично, однако в Chrome,IE,Opera не работает. Подскажите куда копать? (nginx стоит фронтендом к apache) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,229073,229073#msg-229073 From kav at karagodov.name Sun Jul 29 15:30:56 2012 From: kav at karagodov.name (Alexey V. Karagodov) Date: Sun, 29 Jul 2012 19:30:56 +0400 Subject: =?UTF-8?B?UmU6INCb0L7QvNCw0LXRgtGB0Y8gUmV3cml0ZSDQsiBDaHJvbWUsSUUsT3BlcmE=?= In-Reply-To: <26bdb8997277de0fd44e665fd85642cf.NginxMailingListRussian@forum.nginx.org> References: <26bdb8997277de0fd44e665fd85642cf.NginxMailingListRussian@forum.nginx.org> Message-ID: как вариант чистить кеши браузеров и перезапускать браузеры после каждого теста скорей всего в мозиле "работает", но из кеша On 29.07.2012, at 19:22, freeman1doma wrote: > Есть такой реврайт > > rewrite ^/([^/?&\.]+)([?&]([^/]*))?$ /?furl=$1&$3 last; > > в мозиле отрабатывает отлично, однако в > Chrome,IE,Opera не работает. > Подскажите куда копать? (nginx стоит > фронтендом к apache) > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,229073,229073#msg-229073 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From nginx-forum at nginx.us Sun Jul 29 15:38:44 2012 From: nginx-forum at nginx.us (freeman1doma) Date: Sun, 29 Jul 2012 11:38:44 -0400 (EDT) Subject: =?UTF-8?B?UmU6INCb0L7QvNCw0LXRgtGB0Y8gUmV3cml0ZSDQsiBDaHJvbWUsSUUsT3BlcmE=?= In-Reply-To: References: Message-ID: <3af0d1a6ec33dd516976de1fb005741f.NginxMailingListRussian@forum.nginx.org> kav Wrote: ------------------------------------------------------- > как вариант чистить кеши > браузеров и перезапускать > браузеры после каждого > теста > скорей всего в мозиле > "работает", но из кеша > К сожалению нет, это первое что я проверил. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,229073,229075#msg-229075 From kav at karagodov.name Sun Jul 29 15:45:33 2012 From: kav at karagodov.name (Alexey V. Karagodov) Date: Sun, 29 Jul 2012 19:45:33 +0400 Subject: =?UTF-8?B?UmU6INCb0L7QvNCw0LXRgtGB0Y8gUmV3cml0ZSDQsiBDaHJvbWUsSUUsT3BlcmE=?= In-Reply-To: <3af0d1a6ec33dd516976de1fb005741f.NginxMailingListRussian@forum.nginx.org> References: <3af0d1a6ec33dd516976de1fb005741f.NginxMailingListRussian@forum.nginx.org> Message-ID: тогда всё-таки включить лог рерайта в нгинх и посмотреть, чего и кому он там рерайтит rewrite_log on; если не ошибаюсь ... On 29.07.2012, at 19:38, "freeman1doma" wrote: > kav Wrote: > ------------------------------------------------------- >> как вариант чистить кеши >> браузеров и перезапускать >> браузеры после каждого >> теста >> скорей всего в мозиле >> "работает", но из кеша >> > > К сожалению нет, это первое что я > проверил. > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,229073,229075#msg-229075 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From schors at gmail.com Sun Jul 29 21:49:15 2012 From: schors at gmail.com (Phil Kulin) Date: Mon, 30 Jul 2012 01:49:15 +0400 Subject: try_files Message-ID: Добрый вечер. Я себе сегодня голову сломал. Есть вот такой конфиг (nginx 1.2.1): >========begin======== server { include listen.conf; # там просто listen server_name 1.cms.cz8.ru; access_log off; root /home/cms/www/site1/public_html; index index.php; location / { disable_symlinks if_not_owner from=/home/cms/www/site1/public_html; charset utf-8; source_charset utf-8; log_not_found off; try_files $uri $uri/ @apache; access_log /home/cms/www/site1/logs/nginx-access.log; } location = /favicon.ico { log_not_found off; access_log /home/cms/www/site1/logs/nginx-access.log; } location = /robots.txt { allow all; log_not_found off; access_log /home/cms/www/site1/logs/nginx-access.log; } location ~ /\. { deny all; log_not_found off; access_log off; } location ~* /(?:uploads|files)/.*\.php$ { deny all; log_not_found off; access_log off; } location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { disable_symlinks if_not_owner from=/home/cms/www/site1/public_html; charset utf-8; source_charset utf-8; expires 24h; log_not_found off; access_log /home/cms/www/site1/logs/nginx-access.log; } location ~ \.php$ { try_files $uri =404; proxy_pass http://127.0.0.1:13315; } location @apache { proxy_pass http://127.0.0.1:13315; } } >=================end============== Загвоздка собственно в первом location / с try_files Судя по всему, доходя до проверки $uri/ nginx проверяет на самом деле /$uri/<индекс> Причём, в этом случае он не отдаёт при наличии там index.php его в голом виде, а пересматривает location и идёт уже в правило location ~ \.php$ указывая новый $uri с присутствующим там index.php (посмотрел phpinfo() что ему приходит) Ещё забавная вещь, при смене индекса: index index.html он тут же начинает ругаться 403-ей ошибкой (!) Это я пытался WordPress настроить. Т.е. ни одна из конфигураций с документации nginx.org, wiki.nginx.org, и самих CMS для Joomla/Wordpress не будут работать при замене fastcgi на proxy (у меня бэкендом apache). Но вопрос собственно в том, что я реально поведения не понимаю, не могу формализовать, а главное - зачем он это делает? -- Non nobis Domine non nobis sed Nomini Tuo da gloriam Phil Kulin From mdounin at mdounin.ru Mon Jul 30 06:25:46 2012 From: mdounin at mdounin.ru (Maxim Dounin) Date: Mon, 30 Jul 2012 10:25:46 +0400 Subject: try_files In-Reply-To: References: Message-ID: <20120730062546.GA40452@mdounin.ru> Hello! On Mon, Jul 30, 2012 at 01:49:15AM +0400, Phil Kulin wrote: [...] > Загвоздка собственно в первом location / с try_files > Судя по всему, доходя до проверки $uri/ nginx проверяет на самом деле > /$uri/<индекс> > Причём, в этом случае он не отдаёт при наличии там index.php его в > голом виде, а пересматривает location и идёт уже в правило location ~ > \.php$ указывая новый $uri с присутствующим там index.php (посмотрел > phpinfo() что ему приходит) try_files проверят ровно то, что сказали - наличие каталога. А дальше начинает работать модуль index с последующим внутренним перенаправлением, если файл найден. Читать тут: http://nginx.org/ru/docs/http/request_processing.html Maxim Dounin From schors at gmail.com Mon Jul 30 09:31:52 2012 From: schors at gmail.com (Phil Kulin) Date: Mon, 30 Jul 2012 13:31:52 +0400 Subject: try_files In-Reply-To: <20120730062546.GA40452@mdounin.ru> References: <20120730062546.GA40452@mdounin.ru> Message-ID: 30 июля 2012 г., 10:25 пользователь Maxim Dounin написал: > try_files проверят ровно то, что сказали - наличие каталога. А > дальше начинает работать модуль index с последующим внутренним > перенаправлением, если файл найден. Читать тут: > http://nginx.org/ru/docs/http/request_processing.html А. Вон оно как. Да, каюсь, был напуган. Честно говоря, не очевидное поведение, если не вдаваться в подробности. Хотя и логичное. Я бы вот это предложение вставил в документацию в раздел try_files. Да, кстати, все примеры try_files $uri $uri/ не работают с путями на русском, если ПО пишет их в кодированном виде (например WordPress Super Cache). Это исправляется заменой $uri на $request_uri, но видимо с артефактами. -- Non nobis Domine non nobis sed Nomini Tuo da gloriam Phil Kulin From mdounin at mdounin.ru Mon Jul 30 12:27:35 2012 From: mdounin at mdounin.ru (Maxim Dounin) Date: Mon, 30 Jul 2012 16:27:35 +0400 Subject: try_files In-Reply-To: References: <20120730062546.GA40452@mdounin.ru> Message-ID: <20120730122734.GB40452@mdounin.ru> Hello! On Mon, Jul 30, 2012 at 01:31:52PM +0400, Phil Kulin wrote: > 30 июля 2012 г., 10:25 пользователь Maxim Dounin написал: > > > try_files проверят ровно то, что сказали - наличие каталога. А > > дальше начинает работать модуль index с последующим внутренним > > перенаправлением, если файл найден. Читать тут: > > http://nginx.org/ru/docs/http/request_processing.html > > А. Вон оно как. Да, каюсь, был напуган. Честно говоря, не очевидное > поведение, если не вдаваться в подробности. Хотя и логичное. Я бы вот > это предложение вставил в документацию в раздел try_files. Ну это всё сказка про то, как работает директива index, к try_files имеет мало отношения. В указанной статье, а равно в описании директивы index (http://nginx.org/r/index), всё уже достаточно подробно расписано. > Да, кстати, все примеры try_files $uri $uri/ не работают с путями на > русском, если ПО пишет их в кодированном виде (например WordPress > Super Cache). Это исправляется заменой $uri на $request_uri, но видимо > с артефактами. Если ПО пишет что-то в кодированном виде - то по очевидным причинам для работы нужно это кодирование повторить, в том виде, как это делает ПО. Но это скорее проблемы ПО, а не nginx'а. Maxim Dounin From schors at gmail.com Mon Jul 30 15:25:20 2012 From: schors at gmail.com (Phil Kulin) Date: Mon, 30 Jul 2012 19:25:20 +0400 Subject: try_files In-Reply-To: <20120730122734.GB40452@mdounin.ru> References: <20120730062546.GA40452@mdounin.ru> <20120730122734.GB40452@mdounin.ru> Message-ID: 30 июля 2012 г., 16:27 пользователь Maxim Dounin написал: > Ну это всё сказка про то, как работает директива index, к > try_files имеет мало отношения. В указанной статье, а равно в > описании директивы index (http://nginx.org/r/index), всё уже > достаточно подробно расписано. Это я прекрасно понял, что сказка не о том. Собственно, вот про обращение внимание на другую сказку :) >> Да, кстати, все примеры try_files $uri $uri/ не работают с путями на >> русском, если ПО пишет их в кодированном виде (например WordPress >> Super Cache). Это исправляется заменой $uri на $request_uri, но видимо >> с артефактами. > Если ПО пишет что-то в кодированном виде - то по очевидным > причинам для работы нужно это кодирование повторить, в том виде, > как это делает ПО. Но это скорее проблемы ПО, а не nginx'а. Естественно. Однако, примеры nginx зачем-то стали в подавляющем большинстве ориентироваться на fascgi, хотя тоже та ещё технология, нужная в достаточно редких случаях. Но её стали повально использовать и примеры стали на неё ориентироваться. Просто обратил внимание чтобы два раза не вставать. Вдруг кто будет гуглить про проблемы try_files :) -- Non nobis Domine non nobis sed Nomini Tuo da gloriam Phil Kulin From marck at rinet.ru Mon Jul 30 18:35:38 2012 From: marck at rinet.ru (Dmitry Morozovsky) Date: Mon, 30 Jul 2012 22:35:38 +0400 (MSK) Subject: try_files In-Reply-To: References: <20120730062546.GA40452@mdounin.ru> <20120730122734.GB40452@mdounin.ru> Message-ID: On Mon, 30 Jul 2012, Phil Kulin wrote: > Естественно. Однако, примеры nginx зачем-то стали в подавляющем > большинстве ориентироваться на fascgi, хотя тоже та ещё технология, > нужная в достаточно редких случаях. Но её стали повально использовать > и примеры стали на неё ориентироваться. Понятно почему: на тонких виртуалках -- чтобы отказаться от apache совсем. -- Sincerely, D.Marck [DM5020, MCK-RIPE, DM3-RIPN] [ FreeBSD committer: marck at FreeBSD.org ] ------------------------------------------------------------------------ *** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck at rinet.ru *** ------------------------------------------------------------------------ From onokonem at gmail.com Mon Jul 30 19:19:20 2012 From: onokonem at gmail.com (Daniel Podolsky) Date: Mon, 30 Jul 2012 23:19:20 +0400 Subject: try_files In-Reply-To: References: <20120730062546.GA40452@mdounin.ru> <20120730122734.GB40452@mdounin.ru> Message-ID: > Понятно почему: на тонких виртуалках -- чтобы отказаться от apache совсем. Это не точно. Точно будет "чтобы заменить apache на fastcgi". Говорят, эта замена дает некоторый выигрыш в производительности и потреблении ресурсов. Но вот чтобы именно на тонких виртуалках этот выигрыш можно было заметить - сомнительно... From kav at karagodov.name Mon Jul 30 19:23:22 2012 From: kav at karagodov.name (Alexey V. Karagodov) Date: Mon, 30 Jul 2012 23:23:22 +0400 Subject: try_files In-Reply-To: References: <20120730062546.GA40452@mdounin.ru> <20120730122734.GB40452@mdounin.ru> Message-ID: On 30.07.2012, at 23:19, Daniel Podolsky wrote: >> Понятно почему: на тонких виртуалках -- чтобы отказаться от apache совсем. > Это не точно. Точно будет "чтобы заменить apache на fastcgi". > > Говорят, эта замена дает некоторый выигрыш в производительности и > потреблении ресурсов. > > Но вот чтобы именно на тонких виртуалках этот выигрыш можно было > заметить - сомнительно... апача непомерно много жрёт (к примеру - памяти, в разы больше) замена имеет смысл > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From onokonem at gmail.com Mon Jul 30 19:47:45 2012 From: onokonem at gmail.com (Daniel Podolsky) Date: Mon, 30 Jul 2012 23:47:45 +0400 Subject: try_files In-Reply-To: References: <20120730062546.GA40452@mdounin.ru> <20120730122734.GB40452@mdounin.ru> Message-ID: > апача непомерно много жрёт По моим наблюдениям - это миф. From kav at karagodov.name Mon Jul 30 19:50:08 2012 From: kav at karagodov.name (Alexey V. Karagodov) Date: Mon, 30 Jul 2012 23:50:08 +0400 Subject: try_files In-Reply-To: References: <20120730062546.GA40452@mdounin.ru> <20120730122734.GB40452@mdounin.ru> Message-ID: значит top мне нагло врал On 30.07.2012, at 23:47, Daniel Podolsky wrote: >> апача непомерно много жрёт > По моим наблюдениям - это миф. > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From ano at bestmx.ru Mon Jul 30 19:56:59 2012 From: ano at bestmx.ru (Andrey N. Oktyabrski) Date: Mon, 30 Jul 2012 23:56:59 +0400 Subject: try_files In-Reply-To: References: <20120730062546.GA40452@mdounin.ru> <20120730122734.GB40452@mdounin.ru> Message-ID: <5016E70B.5050908@bestmx.ru> On 07/30/2012 11:47 PM, Daniel Podolsky wrote: >> апача непомерно много жрёт > По моим наблюдениям - это миф. +1 Разница минимальна. Менять апач на fcgi имеет смысл, если хочется избавиться от второго вебсервера (настройки, обновление и т.п.) From server_inc at list.ru Mon Jul 30 20:03:09 2012 From: server_inc at list.ru (=?KOI8-R?Q?=F3=D4=C1=CE=C9=D3=CC=C1=D7?=) Date: Mon, 30 Jul 2012 23:03:09 +0300 Subject: try_files In-Reply-To: References: <20120730062546.GA40452@mdounin.ru> <20120730122734.GB40452@mdounin.ru> Message-ID: <5016E87D.6090807@list.ru> 30.07.2012 22:50, Alexey V. Karagodov пишет: > значит top мне нагло врал > > On 30.07.2012, at 23:47, Daniel Podolsky wrote: > >>> апача непомерно много жрёт >> По моим наблюдениям - это миф. >> Конечно это не миф. Погуглите и найдете кучу сравнений и пруфа почему, например, такая связка: nginx + php-fpm, эффективней чем nginx + apache. Не понимаю я людей, которые без строгой необходимости поднимают зачем-то у себя два веб-сервера, когда можно обойтись одним. From kav at karagodov.name Mon Jul 30 20:14:07 2012 From: kav at karagodov.name (Alexey V. Karagodov) Date: Tue, 31 Jul 2012 00:14:07 +0400 Subject: try_files In-Reply-To: <5016E87D.6090807@list.ru> References: <20120730062546.GA40452@mdounin.ru> <20120730122734.GB40452@mdounin.ru> <5016E87D.6090807@list.ru> Message-ID: <261BB263-4674-47BD-938C-82868F46B8D8@karagodov.name> предлагаю остановить холи вар :) From onokonem at gmail.com Mon Jul 30 20:15:14 2012 From: onokonem at gmail.com (Daniel Podolsky) Date: Tue, 31 Jul 2012 00:15:14 +0400 Subject: try_files In-Reply-To: <5016E87D.6090807@list.ru> References: <20120730062546.GA40452@mdounin.ru> <20120730122734.GB40452@mdounin.ru> <5016E87D.6090807@list.ru> Message-ID: > Конечно это не миф. Погуглите и найдете кучу сравнений и пруфа почему, > например, такая связка: nginx + php-fpm, эффективней чем nginx + apache. > Не понимаю я людей, которые без строгой необходимости поднимают зачем-то у > себя два веб-сервера, когда можно обойтись одним. Я много гуглил на эту тему в свое время. И у меня есть стойкое ощущение, что все эти "сравнения и пруфы" написаны людьми с примерно схожим уровнем технической грамотности. Еще раз - обойтись одним nginx для отдачи динамики нельзя. Вопрос лишь в том, какой backend выбрать. php-fpm такой же сервер, как и апач. From temotor at gmail.com Mon Jul 30 20:17:20 2012 From: temotor at gmail.com (Sergey Shepelev) Date: Tue, 31 Jul 2012 00:17:20 +0400 Subject: try_files In-Reply-To: <5016E87D.6090807@list.ru> References: <20120730062546.GA40452@mdounin.ru> <20120730122734.GB40452@mdounin.ru> <5016E87D.6090807@list.ru> Message-ID: > Конечно это не миф. Погуглите и найдете кучу сравнений и пруфа почему, > например, такая связка: nginx + php-fpm, эффективней чем nginx + apache. > Не понимаю я людей, которые без строгой необходимости поднимают зачем-то у > себя два веб-сервера, когда можно обойтись одним. > Долго сдерживался, не выдержал. Простите. nginx + php-fpm (или апач или любой другой демон обрабатывающий запросы пользователей) = 2 веб-сервера. Называются фронтенд и бекенд. Традиционная связка. В контексте данного обсуждения разница между HTTP и FastCGI несущественна. Выкиньте из апача ненужные модули, он будет занимать мало памяти. Добавьте в php-fpm ненужные модули, он будет занимать много памяти. А от названия и внутреннего движка (который суть listen, spawn детей, accept, recv-callback-send и у всех одинаков) ничего существенно не меняется. Есть ещё такой момент: зачем вносить в систему новый протокол, когда от пользователей приходит HTTP. Но это риторика. И давайте закруглять оффтоп. Возможно, стоит создать отдельную рассылку nginx-ru-talk для холиваров, на которую будут подписываться те, кому интересно поговорить, а насущные задачи уже решены (или не решены). From server_inc at list.ru Mon Jul 30 20:42:02 2012 From: server_inc at list.ru (=?KOI8-R?Q?=F3=D4=C1=CE=C9=D3=CC=C1=D7?=) Date: Mon, 30 Jul 2012 23:42:02 +0300 Subject: try_files In-Reply-To: References: <20120730062546.GA40452@mdounin.ru> <20120730122734.GB40452@mdounin.ru> <5016E87D.6090807@list.ru> Message-ID: <5016F19A.5030009@list.ru> 30.07.2012 23:15, Daniel Podolsky пишет: >> Конечно это не миф. Погуглите и найдете кучу сравнений и пруфа почему, >> например, такая связка: nginx + php-fpm, эффективней чем nginx + apache. >> Не понимаю я людей, которые без строгой необходимости поднимают зачем-то у >> себя два веб-сервера, когда можно обойтись одним. > Я много гуглил на эту тему в свое время. И у меня есть стойкое > ощущение, что все эти "сравнения и пруфы" написаны людьми с примерно > схожим уровнем технической грамотности. Давайте только без оскорблений. Хорошо? Технически-грамотный вы наш :-) Если вы не верите результатам в Интернете, сделайте свое исследование и поделитесь результатами со всеми. Ненужно утверждать, что вы самый умный, а все остальные вокруг идиоты. Я вас уверяю, это не так. > > Еще раз - обойтись одним nginx для отдачи динамики нельзя. Вопрос лишь Ну так, обратного никто и не утверждал. Это и так ясно. > в том, какой backend выбрать. php-fpm такой же сервер, как и апач. > Глупо утверждать, что php-fpm такой же сервер как и apache хотя бы потому, что у них назначение разное. Я промолчу дальше, во избежание холи вара. ;-) Последнее мое сообщение в этом треде. From schors at gmail.com Mon Jul 30 21:11:54 2012 From: schors at gmail.com (Phil Kulin) Date: Tue, 31 Jul 2012 01:11:54 +0400 Subject: try_files In-Reply-To: References: <20120730062546.GA40452@mdounin.ru> <20120730122734.GB40452@mdounin.ru> Message-ID: 30 июля 2012 г., 22:35 пользователь Dmitry Morozovsky написал: >> Естественно. Однако, примеры nginx зачем-то стали в подавляющем >> большинстве ориентироваться на fascgi, хотя тоже та ещё технология, >> нужная в достаточно редких случаях. Но её стали повально использовать >> и примеры стали на неё ориентироваться. > Понятно почему: на тонких виртуалках -- чтобы отказаться от apache совсем. А в чём соль? Замучать себя монитором spawner от lighttpd или подобным? Нет, он имеет какой-то смысл. И php-fpm тоже. Но на мейнстриме... -- Non nobis Domine non nobis sed Nomini Tuo da gloriam Phil Kulin From schors at gmail.com Mon Jul 30 21:12:49 2012 From: schors at gmail.com (Phil Kulin) Date: Tue, 31 Jul 2012 01:12:49 +0400 Subject: try_files In-Reply-To: References: <20120730062546.GA40452@mdounin.ru> <20120730122734.GB40452@mdounin.ru> Message-ID: 30 июля 2012 г., 23:19 пользователь Daniel Podolsky написал: > Говорят, эта замена дает некоторый выигрыш в производительности и > потреблении ресурсов. > Но вот чтобы именно на тонких виртуалках этот выигрыш можно было > заметить - сомнительно... Вот и я о чём. -- Non nobis Domine non nobis sed Nomini Tuo da gloriam Phil Kulin From nginx-forum at nginx.us Tue Jul 31 10:09:40 2012 From: nginx-forum at nginx.us (kermit32dll) Date: Tue, 31 Jul 2012 06:09:40 -0400 (EDT) Subject: =?UTF-8?B?0KDQsNC30YDQsNCx0L7RgtC60LAg0LzQvtC00YPQu9GPINC00LvRjyDQsdC+0YA=?= =?UTF-8?B?0YzQsdGLINGBIEREb1Mu?= Message-ID: <65016733f364c1e0c0d30d11aa7393ba.NginxMailingListRussian@forum.nginx.org> Добрый день, Есть задача, функционал в базовом виде описан тут: http://forum.nginx.org/read.php?21,228827 Кто хочет и может помочь? Оплата через WebMoney, адекватная. Если есть интерес - покажу полный вариант ТЗ. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,229130,229130#msg-229130 From mail at knutov.com Tue Jul 31 10:37:46 2012 From: mail at knutov.com (Nick Knutov) Date: Tue, 31 Jul 2012 16:37:46 +0600 Subject: =?UTF-8?B?UmU6INCg0LDQt9GA0LDQsdC+0YLQutCwINC80L7QtNGD0LvRjyDQtNC70Y8g0LE=?= =?UTF-8?B?0L7RgNGM0LHRiyDRgSBERG9TLg==?= In-Reply-To: <65016733f364c1e0c0d30d11aa7393ba.NginxMailingListRussian@forum.nginx.org> References: <65016733f364c1e0c0d30d11aa7393ba.NginxMailingListRussian@forum.nginx.org> Message-ID: <5017B57A.2050902@knutov.com> Мне кажется, вы не совсем правы в постановке задачи. Или у вас продолжительный ддос именно такого характера? 31.07.2012 16:09, kermit32dll пишет: > Добрый день, > > Есть задача, функционал в базовом виде > описан тут: > http://forum.nginx.org/read.php?21,228827 > > Кто хочет и может помочь? Оплата через > WebMoney, адекватная. Если есть интерес - > покажу полный вариант ТЗ. > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,229130,229130#msg-229130 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -- Best Regards, Nick Knutov http://knutov.com ICQ: 272873706 Voice: +7-904-84-23-130 From nginx-forum at nginx.us Tue Jul 31 10:51:24 2012 From: nginx-forum at nginx.us (kermit32dll) Date: Tue, 31 Jul 2012 06:51:24 -0400 (EDT) Subject: =?UTF-8?B?UmU6INCg0LDQt9GA0LDQsdC+0YLQutCwINC80L7QtNGD0LvRjyDQtNC70Y8g0LE=?= =?UTF-8?B?0L7RgNGM0LHRiyDRgSBERG9TLg==?= In-Reply-To: <65016733f364c1e0c0d30d11aa7393ba.NginxMailingListRussian@forum.nginx.org> References: <65016733f364c1e0c0d30d11aa7393ba.NginxMailingListRussian@forum.nginx.org> Message-ID: Это - лишь часть задачи, более полно могу описать всё при дальнейшем общении. Но почему именно данную часть здесь привожу - потому что требуется управляемая блокировка, которая мне представляется наиболее сложной частью. Если есть интерес - пишите на скайп - "kermit32dll", расскажу задачу более подробно. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,229130,229133#msg-229133 From ru at nginx.com Tue Jul 31 13:07:49 2012 From: ru at nginx.com (Ruslan Ermilov) Date: Tue, 31 Jul 2012 17:07:49 +0400 Subject: nginx-1.3.4 Message-ID: <20120731130749.GC22049@lo0.su> Изменения в nginx 1.3.4 31.07.2012 *) Изменение: теперь на слушающих IPv6-сокетах параметр ipv6only включён по умолчанию. *) Добавление: поддержка компилятора Clang. *) Исправление: могли создаваться лишние слушающие сокеты. Спасибо Роману Одайскому. *) Исправление: nginx/Windows мог нагружать процессор, если при запуске рабочего процесса происходила ошибка. Спасибо Ricardo Villalobos Guevara. *) Исправление: директивы proxy_pass_header, fastcgi_pass_header, scgi_pass_header, uwsgi_pass_header, proxy_hide_header, fastcgi_hide_header, scgi_hide_header и uwsgi_hide_header могли наследоваться некорректно. From nginx-forum at nginx.us Tue Jul 31 17:40:18 2012 From: nginx-forum at nginx.us (theromis1) Date: Tue, 31 Jul 2012 13:40:18 -0400 (EDT) Subject: nginx-1.3.4 In-Reply-To: <20120731130749.GC22049@lo0.su> References: <20120731130749.GC22049@lo0.su> Message-ID: а его можно собрать на Mingw64 под Linux, тоесть собрать виндовый бинарник на Linux машине с помощью кросскомпилятора? а то оно мне вот такое выдает: roman at debian:~/work/nginx-1.3.4$ which x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc roman at debian:~/work/nginx-1.3.4$ ./configure --with-cc=/usr/bin/x86_64-w64-mingw32-gcc checking for OS + Linux 3.2.0-3-amd64 x86_64 checking for C compiler ... found but is not working ./configure: error: C compiler /usr/bin/x86_64-w64-mingw32-gcc is not found Posted at Nginx Forum: http://forum.nginx.org/read.php?21,229137,229154#msg-229154 From mail at knutov.com Tue Jul 31 18:27:22 2012 From: mail at knutov.com (Nick Knutov) Date: Wed, 01 Aug 2012 00:27:22 +0600 Subject: =?UTF-8?B?UmU6INCg0LDQt9GA0LDQsdC+0YLQutCwINC80L7QtNGD0LvRjyDQtNC70Y8g0LE=?= =?UTF-8?B?0L7RgNGM0LHRiyDRgSBERG9TLg==?= In-Reply-To: References: <65016733f364c1e0c0d30d11aa7393ba.NginxMailingListRussian@forum.nginx.org> Message-ID: <5018238A.70106@knutov.com> Мне интересно, но с другой стороны. Моя практика фильтрация ддосов каждый раз показывает, что вот именно такой алгоритм - плохой. Хороший путь - заставить входящий коннект за пару редиректов убедительно показать, что он нормальный браузер обычного клиента, а не бот. И вот эта задача сейчас легко решается кучей способов - от простого редиректа на выдачу куки, до testcookie-nginx-module + naxsi. 31.07.2012 16:51, kermit32dll пишет: > Это - лишь часть задачи, более полно > могу описать всё при дальнейшем > общении. Но почему именно данную часть > здесь привожу - потому что требуется > управляемая блокировка, которая мне > представляется наиболее сложной > частью. Если есть интерес - пишите на > скайп - "kermit32dll", расскажу задачу более > подробно. > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,229130,229133#msg-229133 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -- Best Regards, Nick Knutov http://knutov.com ICQ: 272873706 Voice: +7-904-84-23-130 From nginx-forum at nginx.us Tue Jul 31 20:29:43 2012 From: nginx-forum at nginx.us (kermit32dll) Date: Tue, 31 Jul 2012 16:29:43 -0400 (EDT) Subject: =?UTF-8?B?UmU6INCg0LDQt9GA0LDQsdC+0YLQutCwINC80L7QtNGD0LvRjyDQtNC70Y8g0LE=?= =?UTF-8?B?0L7RgNGM0LHRiyDRgSBERG9TLg==?= In-Reply-To: <65016733f364c1e0c0d30d11aa7393ba.NginxMailingListRussian@forum.nginx.org> References: <65016733f364c1e0c0d30d11aa7393ba.NginxMailingListRussian@forum.nginx.org> Message-ID: <7dd0e12ff1fc4738499167f31ccea40c.NginxMailingListRussian@forum.nginx.org> Вы правы, но проблема в том, что всё больший процент ботов нынче умный, куки и редиректы умеет и понимает . Поэтому, если боту удалось пройти эти проверки (которые, несомненно, тоже реализованы), он должен нарваться уже на детальный анализ запросов, как на последний рубеж обороны. Последний писк моды - боты с Selenium скриптами, которые вообще никак от обычных юзеров не отличаются. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,229130,229158#msg-229158