From dmitriy at lyalyuev.info Sat Jun 1 07:39:31 2013 From: dmitriy at lyalyuev.info (=?UTF-8?B?0JTQvNC40YLRgNC40Lkg0JvRj9C70Y7QtdCy?=) Date: Sat, 1 Jun 2013 10:39:31 +0300 Subject: SPDY over HTTP In-Reply-To: <201305311532.05034.vbart@nginx.com> References: <201305311532.05034.vbart@nginx.com> Message-ID: О! То, что надо. Именно это и искал, но не нашел. Спасибо большое. 31 мая 2013 г., 14:32 пользователь Валентин Бартенев написал: > On Friday 31 May 2013 15:09:05 Дмитрий Лялюев wrote: > > Добрый день. > > > > Тут спор возник с коллегой. SPDY работает только поверх SSL или через > HTTP > > тоже возможно? > > > > Сейчас понятное дело, что только по SSL. А вообще как оно должно быть по > > стандарту? Вроде как там нет четкой привязки к SSL. > > > > Ткните носом как правильно, плз. > > SPDY не работает по HTTP по той же причине, почему он не работает по HTTPS. > > Но я догадываюсь, что вопрос был о том, работает ли SPDY по plain TCP. > Об этом ликбез уже был, смотрите тут: > http://mailman.nginx.org/pipermail/nginx-ru/2013-February/050114.html > > -- > Валентин Бартенев > http://nginx.org/en/donation.html > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- С уважением, Дмитрий Лялюев тел. +380 (66) 532-29-62 Все контакты для связи на http://lyalyuev.info -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum at nginx.us Sat Jun 1 13:59:11 2013 From: nginx-forum at nginx.us (Sferg) Date: Sat, 01 Jun 2013 09:59:11 -0400 Subject: =?UTF-8?B?0J/RgNC+0LHQu9C10LzQsCDRgSBjaHJvb3Qg0LIg0YHQstGP0LfQutC1IE5naW54?= =?UTF-8?B?ICsgUEhQLUZQTQ==?= Message-ID: <361de81377d7d58948bd7675970ef613.NginxMailingListRussian@forum.nginx.org> Здравствуйте, господа. Недавно решил поднять веб-серверок для экспериментов. Остановился на связке Nginx 1.4.1 + PHP-FPM 5.4.4 + MySQL 5.5.31. Директория расположения сайтов у меня /home/kursk.dyndns.org/www, соответственно параметр chroot в /etc/php5/fpm/pool.d/www.conf у меня выглядит так: chroot = /home/kursk.dyndns.org/www а в /etc/nginx/sites-enabled/kursk.dyndns.org для работы с chroot прописана строчка: fastcgi_param SCRIPT_FILENAME /$fastcgi_script_name; Если разместить в /home/kursk.dyndns.org/www/ файл index.php со строчкой phpinfo(); то всё прекрасно открывается. Но если залить тот же phpBB3, то всё время наблюдается белая страница (в php.ini прописан параметр display_errors=1). Если chroot убрать, то всё открывается нормально. В чём может быть проблема? Уже несколько дней бьюсь((( С уважением, Геннадий. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,239746,239746#msg-239746 From mva at mva.name Sun Jun 2 03:35:00 2013 From: mva at mva.name (Vadim A. Misbakh-Soloviov) Date: Sun, 02 Jun 2013 10:35:00 +0700 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0YEgY2hyb290INCyINGB0LLRj9C30LrQtSBO?= =?UTF-8?B?Z2lueCArIFBIUC1GUE0=?= In-Reply-To: <361de81377d7d58948bd7675970ef613.NginxMailingListRussian@forum.nginx.org> References: <361de81377d7d58948bd7675970ef613.NginxMailingListRussian@forum.nginx.org> Message-ID: <51AABD64.9050105@mva.name> 1) Не могли бы Вы включить более подробный логгинг? :) Да и попробовтаь посмотреть в файле. (который error_log в nginx'е). 2) Я бы всё-таки посоветовал не слушать то, что написано в конфигах PHP и не использовать их chroot, т.к. уже давно существует мнение, что PHP'шный chroot это то, как безопасность НЕ НУЖНО организовывать. А ещё, так, к слову, PHP'шный чрут требует чтобы временные директории, директории для хранения сессий, директории с библиотеками и т.п. были ВНУТРИ чрута. Что 1) тоже влияет на безопасность в худшую сторону, 2) может являться причиной Ваших проблем. Для справки, как (схематично, без реальных юзернеймов и портов) это сделано у меня: hosting ~mva % cat /etc/nginx/vhosts.d/s_username/site.ru server { include backends.d/configs/listen; server_name site.ru www.site.ru; root /srv/web/s_username/sites/site.ru/www; index index.html index.htm index.php; access_log /srv/web/s_username/logs/site.ru/www/access.nginx.log; error_log /srv/web/s_username/logs/site.ru/www/error.nginx.log; charset utf-8; source_charset utf-8; include security.d/bots; include rewrites.d/errors; include rewrites.d/static; include fpm.d/s_username.conf; } hosting ~mva % cat /etc/nginx/fpm.d/s_username.conf location ~ \.php$ { fastcgi_pass 127.0.0.1:xxxxx; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi_params; } hosting ~mva % grep include= /etc/php/fpm-php5.3/php-fpm.conf include=/etc/php/pools.d/*.conf hosting ~mva % grep include= /etc/php/fpm-php5.4/php-fpm.conf include=/etc/php/pools.d/*.conf hosting ~mva % grep include= /etc/php/fpm-php5.5/php-fpm.conf include=/etc/php/pools.d/*.conf hosting ~mva % cat /etc/php/pools.d/s_username.conf [s_username] listen = 127.0.0.1:xxxxx listen.allowed_clients = 127.0.0.1 user = s_username group = s_username pm = dynamic pm.max_children = 7 pm.start_servers = 2 pm.min_spare_servers = 2 pm.max_spare_servers = 3 php_admin_value[open_basedir] = /srv/web/s_username/sites/:/tmp/:/usr/share/php php_admin_value[disable_functions] = eval,base64_decode,gzinflate,dl,exec,passthru,shell_exec,system,proc_open,popen,curl_multi_exec,parse_ini_file,show_source Т.е. хосты поделены по юзерам и каждый юзер - отдельный системный юзер, который использует свой инстанс php-fpm. При этом юзер может писать только в /tmp и к себе в хомяк. Читать может - согласна проставленным в системе правам. Например, /etc/shadow ? не может: s_username at hosting mva % cat /etc/shadow cat: /etc/shadow: Отказано в доступе s_username at hosting mva % ll -o /etc/shadow -rw-r----- 1 root 2,2K июня 2 07:38 /etc/shadow 01.06.2013 20:59, Sferg пишет: > Здравствуйте, господа. > > Недавно решил поднять веб-серверок для экспериментов. Остановился на связке > Nginx 1.4.1 + PHP-FPM 5.4.4 + MySQL 5.5.31. > > Директория расположения сайтов у меня /home/kursk.dyndns.org/www, > соответственно параметр chroot в /etc/php5/fpm/pool.d/www.conf у меня > выглядит так: > > chroot = /home/kursk.dyndns.org/www > > а в /etc/nginx/sites-enabled/kursk.dyndns.org для работы с chroot прописана > строчка: > > fastcgi_param SCRIPT_FILENAME /$fastcgi_script_name; > > Если разместить в /home/kursk.dyndns.org/www/ файл index.php со строчкой > > phpinfo(); > > то всё прекрасно открывается. Но если залить тот же phpBB3, то всё время > наблюдается белая страница (в php.ini прописан параметр display_errors=1). > Если chroot убрать, то всё открывается нормально. > > В чём может быть проблема? Уже несколько дней бьюсь((( > > С уважением, Геннадий. > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,239746,239746#msg-239746 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 901 bytes Desc: OpenPGP digital signature URL: From vovansystems at gmail.com Sun Jun 2 08:02:02 2013 From: vovansystems at gmail.com (VovansystemS) Date: Sun, 2 Jun 2013 11:02:02 +0300 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0YEgY2hyb290INCyINGB0LLRj9C30LrQtSBO?= =?UTF-8?B?Z2lueCArIFBIUC1GUE0=?= In-Reply-To: <361de81377d7d58948bd7675970ef613.NginxMailingListRussian@forum.nginx.org> References: <361de81377d7d58948bd7675970ef613.NginxMailingListRussian@forum.nginx.org> Message-ID: > chroot = /home/kursk.dyndns.org/www .. > Если разместить в /home/kursk.dyndns.org/www/ файл index.php со строчкой > phpinfo(); > то всё прекрасно открывается. Но если залить тот же phpBB3, то всё время > наблюдается белая страница (в php.ini прописан параметр display_errors=1). > Если chroot убрать, то всё открывается нормально. > > В чём может быть проблема? Уже несколько дней бьюсь((( Мне кажется, что причина может быть во временных файлах и в механизме сессий php. Подробнее, конечно, можно узнать из логов - посмотрите error log nginx на предмет ошибок php типа "can't create". В любом случае, внутри chroot необходимо создать папку /tmp (а можно ещё и /logs) - ведь php запускается внутри срута и временные файлы хочет создавать там же. cd /home/kursk.dyndns.org/www mkdir -p logs chmod 1777 logs mkdir -p tmp chmod 1777 tmp mkdir -p www а также иногда приходиться воссоздать всю иерархию папок и файлов, которые могут понадобиться для работы phpBB: (т.е. если ему нужен sendmail, то его нужно скомпилить со статическими библиотеками и положить в /www/bin, если bash, то то же самое сделать с bash-static ) From public-mail at alekciy.ru Sun Jun 2 09:50:55 2013 From: public-mail at alekciy.ru (=?UTF-8?B?0JDQu9C10LrRgdC10Lkg0KHRg9C90LTRg9C60L7Qsg==?=) Date: Sun, 2 Jun 2013 13:50:55 +0400 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0YEgY2hyb290INCyINGB0LLRj9C30LrQtSBO?= =?UTF-8?B?Z2lueCArIFBIUC1GUE0=?= In-Reply-To: <51AABD64.9050105@mva.name> References: <361de81377d7d58948bd7675970ef613.NginxMailingListRussian@forum.nginx.org> <51AABD64.9050105@mva.name> Message-ID: 2 июня 2013 г., 7:35 пользователь Vadim A. Misbakh-Soloviov написал: > 2) Я бы всё-таки посоветовал не слушать то, что написано в конфигах PHP > и не использовать их chroot, т.к. уже давно существует мнение, что > PHP'шный chroot это то, как безопасность НЕ НУЖНО организовывать.> строчка: > Нормальный там вполне себе стандартный chroot. Как единственное средство конечно же не вариант, но как один из механизмов ограничений php вполне нормально. -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum at nginx.us Sun Jun 2 19:41:22 2013 From: nginx-forum at nginx.us (vagner) Date: Sun, 02 Jun 2013 15:41:22 -0400 Subject: ngx_http_conf_get_module_main_conf questions Message-ID: <90671ed3e1807bc4013c7fcc9beeeaf6.NginxMailingListRussian@forum.nginx.org> Заранее извиняюсь за возможно глупый вопрос. Первый раз пишу модуль под nginx. Конечная цель - получение статистики из модуля ngx_http_static_module. Для этих целей создан модуль подобный ustats, опиcание модуля: ngx_http_module_t ngx_http_filestats_module_ctx = { NULL, /* preconfiguration */ NULL, /* postconfiguration */ NULL, /* create main configuration */ NULL, /* init main configuration */ NULL, /* create server configuration */ NULL, /* merge server configuration */ ngx_http_filestats_create_loc_conf, /* create location configuration */ ngx_http_filestats_merge_loc_conf /* merge location configuration */ }; ngx_module_t ngx_http_filestats_module = { NGX_MODULE_V1, &ngx_http_filestats_module_ctx, /* module context */ ngx_http_filestats_commands, /* module directives */ NGX_HTTP_MODULE, /* module type */ NULL, /* init master */ NULL, /* init module */ NULL, /* init process */ NULL, /* init thread */ NULL, /* exit thread */ NULL, /* exit process */ NULL, /* exit master */ NGX_MODULE_V1_PADDING }; При старте нормально проходит инициализация переменных, и присваиваются соответствуюшие значения из конфига. В ngx_http_static_module вписываю соответствующую строку для получения данных (структуры ngx_http_filestats_loc_conf_t) от ngx_http_filestats_module: uslc = ngx_http_get_module_loc_conf(r, ngx_http_filestats_module); Далее при получении значений, я получаю только то, то присвоено в ngx_http_filestats_merge_loc_conf, но то, что должно присваиваться (и присваивалось при старте) в ngx_command_t я теряю. Подскажите пожалуйста, как я могу получить присвоенные значения в структуре ngx_http_filestats_loc_conf_t после парсинга конфига в другом модуле? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,239774,239774#msg-239774 From mdounin at mdounin.ru Sun Jun 2 22:26:49 2013 From: mdounin at mdounin.ru (Maxim Dounin) Date: Mon, 3 Jun 2013 02:26:49 +0400 Subject: ngx_http_conf_get_module_main_conf questions In-Reply-To: <90671ed3e1807bc4013c7fcc9beeeaf6.NginxMailingListRussian@forum.nginx.org> References: <90671ed3e1807bc4013c7fcc9beeeaf6.NginxMailingListRussian@forum.nginx.org> Message-ID: <20130602222649.GP72282@mdounin.ru> Hello! On Sun, Jun 02, 2013 at 03:41:22PM -0400, vagner wrote: > Заранее извиняюсь за возможно глупый вопрос. Первый раз пишу модуль под > nginx. Конечная цель - получение статистики из модуля > ngx_http_static_module. Для этих целей создан модуль подобный ustats, > опиcание модуля: > ngx_http_module_t ngx_http_filestats_module_ctx = > { > NULL, /* preconfiguration */ > NULL, /* > postconfiguration */ > > NULL, /* > create main configuration */ > NULL, /* init main configuration */ > > NULL, /* create server configuration > */ > NULL, /* merge server configuration */ > > ngx_http_filestats_create_loc_conf, /* create location > configuration */ > ngx_http_filestats_merge_loc_conf /* merge location > configuration */ > }; > > ngx_module_t ngx_http_filestats_module = > { > NGX_MODULE_V1, > &ngx_http_filestats_module_ctx, /* module context */ > ngx_http_filestats_commands, /* module directives */ > NGX_HTTP_MODULE, /* module type */ > NULL, /* init master */ > NULL, /* init module */ > NULL, /* init process */ > NULL, /* init thread */ > NULL, /* exit thread */ > NULL, /* exit process */ > NULL, /* exit master */ > NGX_MODULE_V1_PADDING > }; > > При старте нормально проходит инициализация переменных, и присваиваются > соответствуюшие значения из конфига. В ngx_http_static_module вписываю > соответствующую строку для получения данных (структуры > ngx_http_filestats_loc_conf_t) от ngx_http_filestats_module: > uslc = ngx_http_get_module_loc_conf(r, ngx_http_filestats_module); > Далее при получении значений, я получаю только то, то присвоено в > ngx_http_filestats_merge_loc_conf, но то, что должно присваиваться (и > присваивалось при старте) в ngx_command_t я теряю. Подскажите пожалуйста, > как я могу получить присвоенные значения в структуре > ngx_http_filestats_loc_conf_t после парсинга конфига в другом модуле? Если в ngx_http_filestats_merge_loc_conf что-то было присвоено, то извлечь что-то, что было присвоено до этого - уже невозможно. Попробуйте показать код целиком, добавив в него отладочное логгирование, демонстрирующее ту проблему, которую вы пытаетесь решить. Возможно, станет понятнее, что вы имели ввиду. -- Maxim Dounin http://nginx.org/en/donation.html From nginx-forum at nginx.us Sun Jun 2 22:46:54 2013 From: nginx-forum at nginx.us (vagner) Date: Sun, 02 Jun 2013 18:46:54 -0400 Subject: ngx_http_conf_get_module_main_conf questions In-Reply-To: <20130602222649.GP72282@mdounin.ru> References: <20130602222649.GP72282@mdounin.ru> Message-ID: Максим, спасибо за ответ Вот код: https://github.com/svagner/ngx_filestats_module/blob/master/ngx_http_filestats_module.c Я понял, где сделал изначальную глупость - я попытался реализовать каунтеры в пространстве конфига модуля. Для этого подойдет скорее шаред пул, как это и было сделано у ustats модуля. Как вы думаете, мне лучше создать шаред пулы для всех листов (ngx_http_filestats_time2size_t.timeouts && ngx_http_filestats_loc_conf_t.size2time), а потом связать их общей структурой через указатели? У меня пока плохо вырисовывается в голове каким образом используя ngx_shared_memory_add можно связать все листы и при этом получать доступ к этой памяти из контекста других модулей:( Posted at Nginx Forum: http://forum.nginx.org/read.php?21,239774,239777#msg-239777 From mdounin at mdounin.ru Mon Jun 3 09:45:39 2013 From: mdounin at mdounin.ru (Maxim Dounin) Date: Mon, 3 Jun 2013 13:45:39 +0400 Subject: ngx_http_conf_get_module_main_conf questions In-Reply-To: References: <20130602222649.GP72282@mdounin.ru> Message-ID: <20130603094539.GR72282@mdounin.ru> Hello! On Sun, Jun 02, 2013 at 06:46:54PM -0400, vagner wrote: > Максим, спасибо за ответ > Вот код: > https://github.com/svagner/ngx_filestats_module/blob/master/ngx_http_filestats_module.c И где проблема? > Я понял, где сделал изначальную глупость - я попытался реализовать каунтеры > в пространстве конфига модуля. Для этого подойдет скорее шаред пул, как это > и было сделано у ustats модуля. Счётчики в конфиге - должны работать при условии одного рабочего процесса. Счётчики в разделяемой памяти - дают возможность считать что-либо в рамках нескольких рабочих процессов. > Как вы думаете, мне лучше создать шаред пулы > для всех листов (ngx_http_filestats_time2size_t.timeouts && > ngx_http_filestats_loc_conf_t.size2time), а потом связать их общей > структурой через указатели? > У меня пока плохо вырисовывается в голове каким образом используя > ngx_shared_memory_add можно связать все листы и при этом получать доступ к > этой памяти из контекста других модулей:( Имеет смысл сделать одну зону разделяемой памяти на модуль, и дальше уже выделять память из неё по потребности. Но вообще я бы рекомендовал для начала не связываться с разделяемой памятью, и в первую очередь добиться, чтобы всё работало без неё. -- Maxim Dounin http://nginx.org/en/donation.html From nginx-forum at nginx.us Mon Jun 3 13:58:58 2013 From: nginx-forum at nginx.us (vagner) Date: Mon, 03 Jun 2013 09:58:58 -0400 Subject: ngx_http_conf_get_module_main_conf questions In-Reply-To: <20130603094539.GR72282@mdounin.ru> References: <20130603094539.GR72282@mdounin.ru> Message-ID: <8eceae1ca84aa7b5eed278a51dadbfb0.NginxMailingListRussian@forum.nginx.org> Maxim Dounin Wrote: ------------------------------------------------------- > Hello! > > On Sun, Jun 02, 2013 at 06:46:54PM -0400, vagner wrote: > > > Максим, спасибо за ответ > > Вот код: > > > https://github.com/svagner/ngx_filestats_module/blob/master/ngx_http_f > ilestats_module.c > > И где проблема? > > > Я понял, где сделал изначальную глупость - я попытался реализовать > каунтеры > > в пространстве конфига модуля. Для этого подойдет скорее шаред пул, > как это > > и было сделано у ustats модуля. > > Счётчики в конфиге - должны работать при условии одного рабочего > процесса. Счётчики в разделяемой памяти - дают возможность > считать что-либо в рамках нескольких рабочих процессов. > > > Как вы думаете, мне лучше создать шаред пулы > > для всех листов (ngx_http_filestats_time2size_t.timeouts && > > ngx_http_filestats_loc_conf_t.size2time), а потом связать их общей > > структурой через указатели? > > У меня пока плохо вырисовывается в голове каким образом используя > > ngx_shared_memory_add можно связать все листы и при этом получать > доступ к > > этой памяти из контекста других модулей:( > > Имеет смысл сделать одну зону разделяемой памяти на модуль, и > дальше уже выделять память из неё по потребности. > > Но вообще я бы рекомендовал для начала не связываться с > разделяемой памятью, и в первую очередь добиться, чтобы всё > работало без неё. > > -- > Maxim Dounin > http://nginx.org/en/donation.html > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru А вы не могли бы подсказать, могу ли я сделать одназначный вывод из структуры ngx_http_request_s что был передан именно файл? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,239774,239799#msg-239799 From nginx-forum at nginx.us Mon Jun 3 14:11:43 2013 From: nginx-forum at nginx.us (vagner) Date: Mon, 03 Jun 2013 10:11:43 -0400 Subject: ngx_http_conf_get_module_main_conf questions In-Reply-To: <8eceae1ca84aa7b5eed278a51dadbfb0.NginxMailingListRussian@forum.nginx.org> References: <20130603094539.GR72282@mdounin.ru> <8eceae1ca84aa7b5eed278a51dadbfb0.NginxMailingListRussian@forum.nginx.org> Message-ID: vagner Wrote: ------------------------------------------------------- > Maxim Dounin Wrote: > ------------------------------------------------------- > > Hello! > > > > On Sun, Jun 02, 2013 at 06:46:54PM -0400, vagner wrote: > > > > > Максим, спасибо за ответ > > > Вот код: > > > > > > https://github.com/svagner/ngx_filestats_module/blob/master/ngx_http_f > > > ilestats_module.c > > > > И где проблема? > > > > > Я понял, где сделал изначальную глупость - я попытался > реализовать > > каунтеры > > > в пространстве конфига модуля. Для этого подойдет скорее шаред > пул, > > как это > > > и было сделано у ustats модуля. > > > > Счётчики в конфиге - должны работать при условии одного рабочего > > процесса. Счётчики в разделяемой памяти - дают возможность > > считать что-либо в рамках нескольких рабочих процессов. > > > > > Как вы думаете, мне лучше создать шаред пулы > > > для всех листов (ngx_http_filestats_time2size_t.timeouts && > > > ngx_http_filestats_loc_conf_t.size2time), а потом связать их > общей > > > структурой через указатели? > > > У меня пока плохо вырисовывается в голове каким образом используя > > > ngx_shared_memory_add можно связать все листы и при этом получать > > доступ к > > > этой памяти из контекста других модулей:( > > > > Имеет смысл сделать одну зону разделяемой памяти на модуль, и > > дальше уже выделять память из неё по потребности. > > > > Но вообще я бы рекомендовал для начала не связываться с > > разделяемой памятью, и в первую очередь добиться, чтобы всё > > работало без неё. > > > > -- > > Maxim Dounin > > http://nginx.org/en/donation.html > > > > _______________________________________________ > > nginx-ru mailing list > > nginx-ru at nginx.org > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > А вы не могли бы подсказать, могу ли я сделать одназначный вывод из > структуры ngx_http_request_s что был передан именно файл? Извините, вопрос изначально глупый. Nginx передает только статический контент Posted at Nginx Forum: http://forum.nginx.org/read.php?21,239774,239800#msg-239800 From mdounin at mdounin.ru Mon Jun 3 15:02:45 2013 From: mdounin at mdounin.ru (Maxim Dounin) Date: Mon, 3 Jun 2013 19:02:45 +0400 Subject: ngx_http_conf_get_module_main_conf questions In-Reply-To: References: <20130603094539.GR72282@mdounin.ru> <8eceae1ca84aa7b5eed278a51dadbfb0.NginxMailingListRussian@forum.nginx.org> Message-ID: <20130603150245.GY72282@mdounin.ru> Hello! On Mon, Jun 03, 2013 at 10:11:43AM -0400, vagner wrote: [...] > > А вы не могли бы подсказать, могу ли я сделать одназначный вывод из > > структуры ngx_http_request_s что был передан именно файл? > > Извините, вопрос изначально глупый. Nginx передает только статический > контент Из структуры ngx_http_request_s сделать вывод о том, какой именно контент передаётся и/или передавался - нельзя. Более того, один ответ может содержать как части, отдающиеся из статических файлов, так и части, которые e.g. получены от бекенда и/или сгенерированы встроенным перлом. -- Maxim Dounin http://nginx.org/en/donation.html From nginx-forum at nginx.us Mon Jun 3 15:31:42 2013 From: nginx-forum at nginx.us (vagner) Date: Mon, 03 Jun 2013 11:31:42 -0400 Subject: ngx_http_conf_get_module_main_conf questions In-Reply-To: <20130603150245.GY72282@mdounin.ru> References: <20130603150245.GY72282@mdounin.ru> Message-ID: <1aff2a01d8bd15754981b8e74d24711b.NginxMailingListRussian@forum.nginx.org> Maxim Dounin Wrote: ------------------------------------------------------- > Hello! > > On Mon, Jun 03, 2013 at 10:11:43AM -0400, vagner wrote: > > [...] > > > > А вы не могли бы подсказать, могу ли я сделать одназначный вывод > из > > > структуры ngx_http_request_s что был передан именно файл? > > > > Извините, вопрос изначально глупый. Nginx передает только > статический > > контент > > Из структуры ngx_http_request_s сделать вывод о том, какой именно > контент передаётся и/или передавался - нельзя. Более того, один > ответ может содержать как части, отдающиеся из статических файлов, > так и части, которые e.g. получены от бекенда и/или сгенерированы > встроенным перлом. > > -- > Maxim Dounin > http://nginx.org/en/donation.html > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Спасибо за ответ. Насколько я понимаю данные о длинне контента относительно файлов попадают в структуру ngx_http_request_s из модуля ngx_http_static_module? Насколько будет костыльным решение добавить в структуру реквеста описание о полной длине файла (если это файл)? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,239774,239806#msg-239806 From nginx-forum at nginx.us Mon Jun 3 21:19:42 2013 From: nginx-forum at nginx.us (vagner) Date: Mon, 03 Jun 2013 17:19:42 -0400 Subject: ngx_http_conf_get_module_main_conf questions In-Reply-To: <20130603094539.GR72282@mdounin.ru> References: <20130603094539.GR72282@mdounin.ru> Message-ID: <9f06c672e4e10598d264cff068b161ea.NginxMailingListRussian@forum.nginx.org> Maxim Dounin Wrote: ------------------------------------------------------- > Hello! > > On Sun, Jun 02, 2013 at 06:46:54PM -0400, vagner wrote: > > > Максим, спасибо за ответ > > Вот код: > > > https://github.com/svagner/ngx_filestats_module/blob/master/ngx_http_f > ilestats_module.c > > И где проблема? > > > Я понял, где сделал изначальную глупость - я попытался реализовать > каунтеры > > в пространстве конфига модуля. Для этого подойдет скорее шаред пул, > как это > > и было сделано у ustats модуля. > > Счётчики в конфиге - должны работать при условии одного рабочего > процесса. Счётчики в разделяемой памяти - дают возможность > считать что-либо в рамках нескольких рабочих процессов. > > > Как вы думаете, мне лучше создать шаред пулы > > для всех листов (ngx_http_filestats_time2size_t.timeouts && > > ngx_http_filestats_loc_conf_t.size2time), а потом связать их общей > > структурой через указатели? > > У меня пока плохо вырисовывается в голове каким образом используя > > ngx_shared_memory_add можно связать все листы и при этом получать > доступ к > > этой памяти из контекста других модулей:( > > Имеет смысл сделать одну зону разделяемой памяти на модуль, и > дальше уже выделять память из неё по потребности. > > Но вообще я бы рекомендовал для начала не связываться с > разделяемой памятью, и в первую очередь добиться, чтобы всё > работало без неё. > > -- > Maxim Dounin > http://nginx.org/en/donation.html > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Спасибо большое за помощь. Добился того, чтобы все работало с одним веркером. Единственное, что очень бросается в глаза, это использование указателя на структуру ngx_http_filestats_loc_conf_t для того, чтобы при использовании конфигураций других локейшенов я мог получать валидные данные с настройками указанными в конфиге. Вы не могли бы подсказать, где можно посмотреть реализацию работы с ngx_shm? Мне нужно вставить в шаренную память листы, чтобы я мог избавиться от указателя, и чтобы хранить данные не сохраняя оффсетов, смогу ли я каким либо образом вторым аргументом к функции ngx_list_init использовать ngx_shm_zone_t? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,239774,239808#msg-239808 From fry.kun at gmail.com Mon Jun 3 23:04:45 2013 From: fry.kun at gmail.com (Konstantin Svist) Date: Mon, 03 Jun 2013 16:04:45 -0700 Subject: =?UTF-8?B?UmU6INC/0LXRgNC10LzQtdC90L3Ri9C1INCyIHVzZXJpZF9kb21haW4=?= In-Reply-To: <201212021144.52599.vbart@nginx.com> References: <201212010753.38893.vbart@nginx.com> <201212021144.52599.vbart@nginx.com> Message-ID: <51AD210D.5040309@gmail.com> Простите за воскрешение старой темы А что если так: map $http_host $no_www_domain { hostnames; .foo.com foo.com; .bar.com bar.com; .baz.com baz.com; } server { server_name .foo.com .bar.com .baz.com; location / { root /var/www/$no_www_domain; } [...] userid_domain $no_www_domain; # не работает :( } ~KS On 12/01/2012 11:44 PM, Валентин Бартенев wrote: > On Saturday 01 December 2012 22:43:05 Михаил Панфилов wrote: >> очень плохо! :( >> А есть общий список где можно, а где нельзя использовать переменные? > Общего списка нет. Нужно читать документацию по конкретной директиве. > > Если вы опишите конкретную задачу, которая решается при помощи userid_domain > с переменной, то это могло бы ускорить появление поддержки переменных в этой > директиве. > > -- > Валентин Бартенев > http://nginx.com/support.html > http://nginx.org/en/donation.html > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From nginx-forum at nginx.us Tue Jun 4 10:30:41 2013 From: nginx-forum at nginx.us (Sferg) Date: Tue, 04 Jun 2013 06:30:41 -0400 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0YEgY2hyb290INCyINGB0LLRj9C30LrQtSBO?= =?UTF-8?B?Z2lueCArIFBIUC1GUE0=?= In-Reply-To: <51AABD64.9050105@mva.name> References: <51AABD64.9050105@mva.name> Message-ID: mva, разобрался я с выводом пустой страницы в phpBB3. Нужно было лишь создать директорию /home/kursk.dyndns.org/usr/share (в chroot'е - /usr/share) и скопировать в неё содержимое /usr/share/zoneinfo: mkdir -p usr/share cp -R /usr/share/zoneinfo usr/share И всё-таки, как-то всё слишком заморочено с этим chroot... %) Как-то несерьёзно это. > уже давно существует мнение, что PHP'шный chroot это то, как безопасность НЕ НУЖНО организовывать. Да, об этом где-то пару раз упоминали, встречал. Но, в таком случае, чем можно воспользоваться вместо chroot'а в Debian Wheezy? С уважением, Геннадий. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,239746,239824#msg-239824 From mdounin at mdounin.ru Tue Jun 4 12:28:59 2013 From: mdounin at mdounin.ru (Maxim Dounin) Date: Tue, 4 Jun 2013 16:28:59 +0400 Subject: ngx_http_conf_get_module_main_conf questions In-Reply-To: <9f06c672e4e10598d264cff068b161ea.NginxMailingListRussian@forum.nginx.org> References: <20130603094539.GR72282@mdounin.ru> <9f06c672e4e10598d264cff068b161ea.NginxMailingListRussian@forum.nginx.org> Message-ID: <20130604122859.GL72282@mdounin.ru> Hello! On Mon, Jun 03, 2013 at 05:19:42PM -0400, vagner wrote: [...] > Спасибо большое за помощь. Добился того, чтобы все работало с одним > веркером. Единственное, что очень бросается в глаза, это использование > указателя на структуру ngx_http_filestats_loc_conf_t для того, чтобы при > использовании конфигураций других локейшенов я мог получать валидные данные > с настройками указанными в конфиге. Если вам нужно нечто, общее для всех location'ов - используйте main conf. > Вы не могли бы подсказать, где можно > посмотреть реализацию работы с ngx_shm? Мне нужно вставить в шаренную память > листы, чтобы я мог избавиться от указателя, и чтобы хранить данные не > сохраняя оффсетов, смогу ли я каким либо образом вторым аргументом к функции > ngx_list_init использовать ngx_shm_zone_t? Структуры ngx_list жить в разделяемой памяти не умеют. Вообще работу с разделяемой памятью можно посмотреть в модулях limit_conn и limit_req. В limit_conn наверное попроще. -- Maxim Dounin http://nginx.org/en/donation.html From mdounin at mdounin.ru Tue Jun 4 13:42:58 2013 From: mdounin at mdounin.ru (Maxim Dounin) Date: Tue, 4 Jun 2013 17:42:58 +0400 Subject: nginx-1.5.1 Message-ID: <20130604134258.GV72282@mdounin.ru> Изменения в nginx 1.5.1 04.06.2013 *) Добавление: директивы ssi_last_modified, sub_filter_last_modified и xslt_last_modified. Спасибо Алексею Колпакову. *) Добавление: параметр http_403 в директивах proxy_next_upstream, fastcgi_next_upstream, scgi_next_upstream и uwsgi_next_upstream. *) Добавление: директивы allow и deny теперь поддерживают unix domain сокеты. *) Исправление: nginx не собирался с модулем ngx_mail_ssl_module, но без модуля ngx_http_ssl_module; ошибка появилась в 1.3.14. *) Исправление: в директиве proxy_set_body. Спасибо Lanshun Zhou. *) Исправление: в директиве lingering_time. Спасибо Lanshun Zhou. *) Исправление: параметр fail_timeout директивы server в блоке upstream мог не работать, если использовался параметр max_fails; ошибка появилась в 1.3.0. *) Исправление: в рабочем процессе мог произойти segmentation fault, если использовалась директива ssl_stapling. Спасибо Piotr Sikora. *) Исправление: в почтовом прокси-сервере. Спасибо Filipe Da Silva. *) Исправление: nginx/Windows мог перестать принимать соединения, если использовалось несколько рабочих процессов. -- Maxim Dounin http://nginx.org/en/donation.html From nginx-forum at nginx.us Tue Jun 4 13:47:09 2013 From: nginx-forum at nginx.us (sunnybear) Date: Tue, 04 Jun 2013 09:47:09 -0400 Subject: Balancing, SPDY, upstream, pagespeed Message-ID: <8d397b3f598f154c601406cc81ef54f7.NginxMailingListRussian@forum.nginx.org> Добрый день! Нужна (платная) консультация знающего системного администратора / архитектора на тему, что и как нужно развернуть на серверах, чтобы заработала балансировка нагрузки, синхронизация файлов и проксирование запросов. Серверов от 20, 2 узла. Просьба писать на nm at webo.name Posted at Nginx Forum: http://forum.nginx.org/read.php?21,239841,239841#msg-239841 From trtrmitya at gmail.com Tue Jun 4 14:06:18 2013 From: trtrmitya at gmail.com (Dmitry Sivachenko) Date: Tue, 4 Jun 2013 18:06:18 +0400 Subject: SPDY troubles Message-ID: Добрый день! Использую nginx-1.4.1 на FreeBSD-9-STABLE, OpenSSL-1.0.1 из портов. Собираю nginx из портов с поддержкой SPDY. При добавлении 'spdy' в директиве listen, в error_log появляется много записей вида: 2013/06/04 18:01:32 [alert] 7681#0: kevent() error on 93 filter:-2 flags:4000 (2: No such file or directory) 2013/06/04 18:01:36 [alert] 7677#0: kevent() error on 69 filter:-2 flags:4000 (2: No such file or directory) 2013/06/04 18:01:36 [alert] 7677#0: kevent() error on 69 filter:-2 flags:4000 (2: No such file or directory) 2013/06/04 18:01:36 [alert] 7677#0: kevent() error on 69 filter:-2 flags:4000 (2: No such file or directory) 2013/06/04 18:01:36 [alert] 7677#0: kevent() error on 69 filter:-2 flags:4000 (2: No such file or directory) 2013/06/04 18:01:37 [alert] 7676#0: kevent() error on 57 filter:-2 flags:4000 (2: No such file or directory) Что это может означать? Спасибо. From vbart at nginx.com Tue Jun 4 14:22:34 2013 From: vbart at nginx.com (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Tue, 4 Jun 2013 18:22:34 +0400 Subject: SPDY troubles In-Reply-To: References: Message-ID: <201306041822.34543.vbart@nginx.com> On Tuesday 04 June 2013 18:06:18 Dmitry Sivachenko wrote: > Добрый день! > > Использую nginx-1.4.1 на FreeBSD-9-STABLE, OpenSSL-1.0.1 из портов. > > Собираю nginx из портов с поддержкой SPDY. > > При добавлении 'spdy' в директиве listen, в error_log появляется много > записей вида: > > 2013/06/04 18:01:32 [alert] 7681#0: kevent() error on 93 filter:-2 > flags:4000 (2: No such file or directory) 2013/06/04 18:01:36 [alert] > 7677#0: kevent() error on 69 filter:-2 flags:4000 (2: No such file or > directory) 2013/06/04 18:01:36 [alert] 7677#0: kevent() error on 69 > filter:-2 flags:4000 (2: No such file or directory) 2013/06/04 18:01:36 > [alert] 7677#0: kevent() error on 69 filter:-2 flags:4000 (2: No such file > or directory) 2013/06/04 18:01:36 [alert] 7677#0: kevent() error on 69 > filter:-2 flags:4000 (2: No such file or directory) 2013/06/04 18:01:37 > [alert] 7676#0: kevent() error on 57 filter:-2 flags:4000 (2: No such file > or directory) > > > Что это может означать? > Сторонние модули используются? -- Валентин Бартенев http://nginx.org/en/donation.html From trtrmitya at gmail.com Tue Jun 4 14:26:35 2013 From: trtrmitya at gmail.com (Dmitry Sivachenko) Date: Tue, 4 Jun 2013 18:26:35 +0400 Subject: SPDY troubles In-Reply-To: <201306041822.34543.vbart@nginx.com> References: <201306041822.34543.vbart@nginx.com> Message-ID: <4E1290CD-8DC6-4DC0-B788-A790EDB2EB4A@gmail.com> On 04.06.2013, at 18:22, Валентин Бартенев wrote: > On Tuesday 04 June 2013 18:06:18 Dmitry Sivachenko wrote: >> Добрый день! >> >> Использую nginx-1.4.1 на FreeBSD-9-STABLE, OpenSSL-1.0.1 из портов. >> >> Собираю nginx из портов с поддержкой SPDY. >> >> При добавлении 'spdy' в директиве listen, в error_log появляется много >> записей вида: >> >> 2013/06/04 18:01:32 [alert] 7681#0: kevent() error on 93 filter:-2 >> flags:4000 (2: No such file or directory) 2013/06/04 18:01:36 [alert] >> 7677#0: kevent() error on 69 filter:-2 flags:4000 (2: No such file or >> directory) 2013/06/04 18:01:36 [alert] 7677#0: kevent() error on 69 >> filter:-2 flags:4000 (2: No such file or directory) 2013/06/04 18:01:36 >> [alert] 7677#0: kevent() error on 69 filter:-2 flags:4000 (2: No such file >> or directory) 2013/06/04 18:01:36 [alert] 7677#0: kevent() error on 69 >> filter:-2 flags:4000 (2: No such file or directory) 2013/06/04 18:01:37 >> [alert] 7676#0: kevent() error on 57 filter:-2 flags:4000 (2: No such file >> or directory) >> >> >> Что это может означать? >> > > Сторонние модули используются? > Из сторонних -- echo и lua. From vbart at nginx.com Tue Jun 4 14:49:22 2013 From: vbart at nginx.com (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Tue, 4 Jun 2013 18:49:22 +0400 Subject: SPDY troubles In-Reply-To: <4E1290CD-8DC6-4DC0-B788-A790EDB2EB4A@gmail.com> References: <201306041822.34543.vbart@nginx.com> <4E1290CD-8DC6-4DC0-B788-A790EDB2EB4A@gmail.com> Message-ID: <201306041849.22887.vbart@nginx.com> On Tuesday 04 June 2013 18:26:35 Dmitry Sivachenko wrote: > On 04.06.2013, at 18:22, Валентин Бартенев wrote: > > On Tuesday 04 June 2013 18:06:18 Dmitry Sivachenko wrote: > >> Добрый день! > >> > >> Использую nginx-1.4.1 на FreeBSD-9-STABLE, OpenSSL-1.0.1 из портов. > >> > >> Собираю nginx из портов с поддержкой SPDY. > >> > >> При добавлении 'spdy' в директиве listen, в error_log появляется много > >> записей вида: > >> > >> 2013/06/04 18:01:32 [alert] 7681#0: kevent() error on 93 filter:-2 > >> flags:4000 (2: No such file or directory) 2013/06/04 18:01:36 [alert] > >> 7677#0: kevent() error on 69 filter:-2 flags:4000 (2: No such file or > >> directory) 2013/06/04 18:01:36 [alert] 7677#0: kevent() error on 69 > >> filter:-2 flags:4000 (2: No such file or directory) 2013/06/04 18:01:36 > >> [alert] 7677#0: kevent() error on 69 filter:-2 flags:4000 (2: No such > >> file or directory) 2013/06/04 18:01:36 [alert] 7677#0: kevent() error > >> on 69 filter:-2 flags:4000 (2: No such file or directory) 2013/06/04 > >> 18:01:37 [alert] 7676#0: kevent() error on 57 filter:-2 flags:4000 (2: > >> No such file or directory) > >> > >> > >> Что это может означать? > > > > Сторонние модули используются? > > Из сторонних -- echo и lua. > Проверьте, воспроизводится ли проблема без сторонних модулей. В частности, lua-модуль известен как несовместимый со spdy. -- Валентин Бартенев http://nginx.org/en/donation.html From trtrmitya at gmail.com Tue Jun 4 14:56:50 2013 From: trtrmitya at gmail.com (Dmitry Sivachenko) Date: Tue, 4 Jun 2013 18:56:50 +0400 Subject: SPDY troubles In-Reply-To: <201306041849.22887.vbart@nginx.com> References: <201306041822.34543.vbart@nginx.com> <4E1290CD-8DC6-4DC0-B788-A790EDB2EB4A@gmail.com> <201306041849.22887.vbart@nginx.com> Message-ID: <358232E4-B2E2-4B6A-B905-CFC06C5BFF52@gmail.com> On 04.06.2013, at 18:49, Валентин Бартенев wrote: > > Проверьте, воспроизводится ли проблема без сторонних модулей. В частности, > lua-модуль известен как несовместимый со spdy. > На тестовой машине ошибок не было и в этой конфигурации. Отключить lua в продакшене не представляется возможным, сайт работать не будет. Там какая-то фундаментальная несовместимость или можно надеяться что через некоторое время lua станет совместим со spdy? From vbart at nginx.com Tue Jun 4 15:35:54 2013 From: vbart at nginx.com (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Tue, 4 Jun 2013 19:35:54 +0400 Subject: SPDY troubles In-Reply-To: <358232E4-B2E2-4B6A-B905-CFC06C5BFF52@gmail.com> References: <201306041849.22887.vbart@nginx.com> <358232E4-B2E2-4B6A-B905-CFC06C5BFF52@gmail.com> Message-ID: <201306041935.54096.vbart@nginx.com> On Tuesday 04 June 2013 18:56:50 Dmitry Sivachenko wrote: > On 04.06.2013, at 18:49, Валентин Бартенев wrote: > > Проверьте, воспроизводится ли проблема без сторонних модулей. В > > частности, lua-модуль известен как несовместимый со spdy. > > На тестовой машине ошибок не было и в этой конфигурации. > > Отключить lua в продакшене не представляется возможным, сайт работать не > будет. > > Там какая-то фундаментальная несовместимость или можно надеяться что через > некоторое время lua станет совместим со spdy? Это вопрос к автору модуля. По крайней мере два тикета на данный момент открыто на тему spdy: https://github.com/chaoslawful/lua-nginx-module/issues/173 https://github.com/chaoslawful/lua-nginx-module/issues/142 плюс ещё периодически люди жаловались в разных местах. Не знаю, насколько это актуально сейчас, но lua модуль лезет во внутренние структуры и делает кучу всего, включая и то, что никогда не предусматривалось, так что дебаг какой-либо проблемы с ним практически невозможен, зато можно ожидать различные "спецэффекты". Почти любая ошибка с легкостью может быть вызвана сторонним модулем, который по объему кода составляет четвертую часть всего nginx-а. Попробуйте снять дебаг лог с данной ошибкой. http://nginx.org/ru/docs/debugging_log.html Это минимум, что требуется, чтобы как-то помочь. -- Валентин Бартенев http://nginx.org/en/donation.html From gmm at csdoc.com Tue Jun 4 16:14:20 2013 From: gmm at csdoc.com (Gena Makhomed) Date: Tue, 04 Jun 2013 19:14:20 +0300 Subject: =?UTF-8?B?bHVhINC80L7QtNGD0LvRjA==?= In-Reply-To: <201306041935.54096.vbart@nginx.com> References: <201306041849.22887.vbart@nginx.com> <358232E4-B2E2-4B6A-B905-CFC06C5BFF52@gmail.com> <201306041935.54096.vbart@nginx.com> Message-ID: <51AE125C.4050803@csdoc.com> On 04.06.2013 18:35, Валентин Бартенев wrote: > Не знаю, насколько это актуально сейчас, но lua модуль лезет во внутренние > структуры и делает кучу всего, включая и то, что никогда не предусматривалось, > так что дебаг какой-либо проблемы с ним практически невозможен, зато можно > ожидать различные "спецэффекты". Почти любая ошибка с легкостью может быть > вызвана сторонним модулем, который по объему кода составляет четвертую часть > всего nginx-а. есть какие-то вещи, которые нельзя сделать с помощью встроенного perl-модуля, но можно сделать с помощью этого стороннего lua-модуля? если они полностью эквивалентны по своей мощности - зачем же тогда народ все больше начинает использовать lua-модуль - разве только из-за более простого/красивого синтаксиса? учитывая, что у lua более простой синтаксис, чем у perl может быть имеет смысл "из коробки" встроить lua в nginx? (по крайней мере, в ядра netbsd и linux этот язык уже встроили - про linux: http://www.opennet.ru/opennews/art.shtml?num=36991) тогда уж точно можно будет программировать "на конфигах nginx". и модуль rewrite тогда можно будет реализовать используя lua. P.S. судя по тому, что есть форк https://github.com/zzzcpan/nginx-perl - не все сейчас можно сделать средствами встроенного perl-модуля. -- Best regards, Gena From citrin at citrin.ru Tue Jun 4 17:44:45 2013 From: citrin at citrin.ru (Anton Yuzhaninov) Date: Tue, 04 Jun 2013 21:44:45 +0400 Subject: =?UTF-8?B?UmU6IGx1YSDQvNC+0LTRg9C70Yw=?= In-Reply-To: <51AE125C.4050803@csdoc.com> References: <201306041849.22887.vbart@nginx.com> <358232E4-B2E2-4B6A-B905-CFC06C5BFF52@gmail.com> <201306041935.54096.vbart@nginx.com> <51AE125C.4050803@csdoc.com> Message-ID: <51AE278D.9030505@citrin.ru> On 06/04/13 20:14, Gena Makhomed wrote: > есть какие-то вещи, которые нельзя сделать с помощью встроенного > perl-модуля, но можно сделать с помощью этого стороннего lua-модуля? Есть. Используя встроенный perl можно выполнять операции, которые не блокируются и имеет очень ограниченный доступ к функциям nginx (см. http://nginx.org/en/docs/http/ngx_http_perl_module.html#methods) LUA модуль позволяет делать многое из того, что можно сделать написав модуль к nginx на C. Например он позволяет делать подзапросы. Обратная сторона такой гибкости - сложность самого LUA-модуля и как следствие баги в нём. > учитывая, что у lua более простой синтаксис, чем у perl > может быть имеет смысл "из коробки" встроить lua в nginx? > > (по крайней мере, в ядра netbsd и linux этот язык уже встроили - > про linux: http://www.opennet.ru/opennews/art.shtml?num=36991) > > тогда уж точно можно будет программировать "на конфигах nginx". > и модуль rewrite тогда можно будет реализовать используя lua. Программировать "на конфигах nginx" в общем случае не очень хорошая идея и в большинстве случаев приводит к запутанным и плохо работающим конфигах, в которых кроме их писателя никто не разберется. From nginx-forum at nginx.us Tue Jun 4 18:20:56 2013 From: nginx-forum at nginx.us (Alexandr) Date: Tue, 04 Jun 2013 14:20:56 -0400 Subject: =?UTF-8?B?0KfRgtC+INC80LXRiNCw0LXRgiDRgNCw0LfQstC40YLRjCDRgdC60L7RgNC+0YE=?= =?UTF-8?B?0YLRjD8gKNGB0LLRj9C30LrQsCBBcGFjaGUyMitOR0lOWCAxLjQuMSk=?= Message-ID: Имеем: FreeBSD 9.1-STABLE #0 r251176: Апач запущен в джейле - урезано всё что можно, обеспечивает работу SpeedTest (http://www.speedtest.net/mini.php) При тестировании скорости напрямую с апача (джейл биндится на IP 10.10.10.2) получается: даунлоад: ~96Mbit, а аплоад ~87Mbit. Если апач (джейл) перенести на IP 127.0.1.1 и подключить nginx: даунлоад: ~96Mbit, а аплоад ~35Mbit. При установки sendfile off, даунлоад не меняется, а вот аплоад подымается до ~52Mbit. Как можно достигнуть 87 мегабит на nginx??? nginx.conf: ----------------------------------------- user www; worker_processes 5; error_log /var/log/nginx/error.log error; #pid /var/run/nginx.pid; events { worker_connections 1024; use kqueue; } http { include /usr/local/etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr [$time_local] $status "$request" $body_bytes_sent'; sendfile off; tcp_nopush on; tcp_nodelay on; server { client_max_body_size 101m; server_tokens off; listen 10.10.10.2:80; server_name ""; server_name_in_redirect off; location / { proxy_pass http://127.0.1.1; include /usr/local/etc/nginx/proxy.conf; } } } proxy.conf: ----------------------------------------- if ($request_method !~ ^(GET|HEAD|POST)$ ) { return 444; } 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; 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; client_max_body_size 10m; client_body_buffer_size 128k; Posted at Nginx Forum: http://forum.nginx.org/read.php?21,239843,239843#msg-239843 From vbart at nginx.com Tue Jun 4 18:28:21 2013 From: vbart at nginx.com (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Tue, 4 Jun 2013 22:28:21 +0400 Subject: =?UTF-8?B?UmU6INCn0YLQviDQvNC10YjQsNC10YIg0YDQsNC30LLQuNGC0Ywg0YHQutC+0YA=?= =?UTF-8?B?0L7RgdGC0Yw/ICggINGB0LLRj9C30LrQsCBBcGFjaGUyMitOR0lOWCAxLjQu?= =?UTF-8?B?MSk=?= In-Reply-To: References: Message-ID: <201306042228.21840.vbart@nginx.com> On Tuesday 04 June 2013 22:20:56 Alexandr wrote: > Имеем: > FreeBSD 9.1-STABLE #0 r251176: > Апач запущен в джейле - урезано всё что можно, обеспечивает работу > SpeedTest (http://www.speedtest.net/mini.php) > > При тестировании скорости напрямую с апача (джейл биндится на IP > 10.10.10.2) получается: > даунлоад: ~96Mbit, а аплоад ~87Mbit. > > Если апач (джейл) перенести на IP 127.0.1.1 и подключить nginx: > даунлоад: ~96Mbit, а аплоад ~35Mbit. > > При установки sendfile off, даунлоад не меняется, а вот аплоад подымается > до ~52Mbit. > > Как можно достигнуть 87 мегабит на nginx??? > [...] А что происходит с аплоадом на апаче? Он тоже пишется на диск, или нет? И каким образом измеряется скорость? -- Валентин Бартенев http://nginx.org/en/donation.html From nginx-ru at sadok.spb.ru Tue Jun 4 18:45:41 2013 From: nginx-ru at sadok.spb.ru (Dmitry Ivanov) Date: Tue, 4 Jun 2013 22:45:41 +0400 Subject: =?UTF-8?B?UmU6INCn0YLQviDQvNC10YjQsNC10YIg0YDQsNC30LLQuNGC0Ywg0YHQutC+0YA=?= =?UTF-8?B?0L7RgdGC0Yw/ICjRgdCy0Y/Qt9C60LAgQXBhY2hlMjIrTkdJTlggMS40LjEp?= In-Reply-To: References: Message-ID: <542663778.20130604224541@sadok.spb.ru> Здравствуйте, Alexandr. Вы писали 4 июня 2013 г., 22:20:56: > При установки sendfile off, даунлоад не меняется, а вот аплоад подымается до > ~52Mbit. Я так в сторону замечу, без претензий. Распоследняя вмваря, виртуалка RHEL 5.2 Делаешь sendfile off - скорость вниз растет в разы. Nginx и из реп, и собран последний. Про сторадж сейчас не скажу, но либо NFS, либо айскази. Т.е. сидел, тупил: почему не работает? Сделал самый безысходный трюк - взлетело. Разбираться не хочу, ибо "работает - не трогай". -- С уважением, Dmitry mailto:nginx-ru at sadok.spb.ru From anatoly at sonru.com Tue Jun 4 18:49:50 2013 From: anatoly at sonru.com (Anatoly Mikhailov) Date: Tue, 4 Jun 2013 19:49:50 +0100 Subject: =?UTF-8?B?UmU6INCn0YLQviDQvNC10YjQsNC10YIg0YDQsNC30LLQuNGC0Ywg0YHQutC+0YA=?= =?UTF-8?B?0L7RgdGC0Yw/ICjRgdCy0Y/Qt9C60LAgQXBhY2hlMjIrTkdJTlggMS40LjEp?= In-Reply-To: <542663778.20130604224541@sadok.spb.ru> References: <542663778.20130604224541@sadok.spb.ru> Message-ID: On Jun 4, 2013, at 7:45 PM, Dmitry Ivanov wrote: > Здравствуйте, Alexandr. > > Вы писали 4 июня 2013 г., 22:20:56: > >> При установки sendfile off, даунлоад не меняется, а вот аплоад подымается до >> ~52Mbit. > > Я так в сторону замечу, без претензий. Распоследняя вмваря, виртуалка > RHEL 5.2 Делаешь sendfile off - скорость вниз растет в разы. > > Nginx и из реп, и собран последний. Про сторадж сейчас не скажу, но > либо NFS, либо айскази. > > Т.е. сидел, тупил: почему не работает? Сделал самый безысходный трюк - > взлетело. > > Разбираться не хочу, ибо "работает - не трогай". *не удержался* и, действительно, пусть работает до следующего раза > > -- > С уважением, > Dmitry mailto:nginx-ru at sadok.spb.ru > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From postmaster at softsearch.ru Tue Jun 4 20:16:27 2013 From: postmaster at softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Wed, 5 Jun 2013 00:16:27 +0400 Subject: =?UTF-8?B?UmU6INCn0YLQviDQvNC10YjQsNC10YIg0YDQsNC30LLQuNGC0Ywg0YHQutC+0YA=?= =?UTF-8?B?0L7RgdGC0Yw/ICjRgdCy0Y/Qt9C60LAgQXBhY2hlMjIrTkdJTlggMS40LjEp?= In-Reply-To: References: Message-ID: <04746361.20130605001627@softsearch.ru> Здравствуйте, Alexandr. > Имеем: > FreeBSD 9.1-STABLE #0 r251176: > Апач запущен в джейле - урезано всё что можно, обеспечивает работу SpeedTest > (http://www.speedtest.net/mini.php) > При тестировании скорости напрямую с апача (джейл биндится на IP 10.10.10.2) > получается: > даунлоад: ~96Mbit, а аплоад ~87Mbit. > Если апач (джейл) перенести на IP 127.0.1.1 и подключить nginx: > даунлоад: ~96Mbit, а аплоад ~35Mbit. > При установки sendfile off, даунлоад не меняется, а вот аплоад подымается до > ~52Mbit. > Как можно достигнуть 87 мегабит на nginx??? Нужно понять, во что упирается нагрузка. Вариантов не много: сеть, процессор, память или диск. У Вас скорее всего последнее. Если так оно и есть, то вроде можно при проксировании отключить буферизацию, чтобы nginx на диск ничего не писал, а сразу на бэкенд проксировал. -- С уважением, Михаил mailto:postmaster at softsearch.ru From nginx-forum at nginx.us Wed Jun 5 10:55:24 2013 From: nginx-forum at nginx.us (Alexandr) Date: Wed, 05 Jun 2013 06:55:24 -0400 Subject: =?UTF-8?B?UmU6INCn0YLQviDQvNC10YjQsNC10YIg0YDQsNC30LLQuNGC0Ywg0YHQutC+0YA=?= =?UTF-8?B?0L7RgdGC0Yw/ICjRgdCy0Y/Qt9C60LAgQXBhY2hlMjIrTkdJTlggMS40LjEp?= In-Reply-To: <04746361.20130605001627@softsearch.ru> References: <04746361.20130605001627@softsearch.ru> Message-ID: Михаил Монашёв Wrote: ------------------------------------------------------- > > При установки sendfile off, даунлоад не меняется, а вот аплоад > подымается до > > ~52Mbit. > > > Как можно достигнуть 87 мегабит на nginx??? > > Нужно понять, во что упирается нагрузка. Вариантов не много: сеть, > процессор, память или диск. У Вас скорее всего последнее. Машина на столе и проходит этап настройки. Из себя представляет: CPU: Intel(R) Core(TM)2 Quad CPU Q9400 @ 2.66GHz (2666.73-MHz K8-class CPU) real memory = 8589934592 (8192 MB) igb0: igb1: треды сетевух прибиты по процам из-за особенности данной архитектуры. top: Mem: 473M Active, 153M Inact, 5954M Wired, 144K Cache, 49M Buf, 1323M Free ARC: 4531M Total, 1752M MFU, 1984M MRU, 226K Anon, 141M Header, 654M Other Swap: 2048M Total, 2048M Free Система x64 и на ZFS-root. Одна из основных задач - помощь в диагностики плохих подключений: определение скорости подключения. Для этих целей используется proftp,iperf,и два http-теста: SpeedTest & ScanMySpeed... всё это в jail. Так вот proftp & iperf показывает 99 Mbit/99 Mbit. Даже голый апач показывает практически теже результаты... А вот nginx выделывается! Не ожидал.... Обидно.... :( > Если так оно и есть, то вроде можно при проксировании отключить буферизацию, чтобы > nginx на диск ничего не писал, а сразу на бэкенд проксировал. А что это за параметр? Что-то я вчера пропустил... видел про проксирование от бэкэнда, а в обратную сторону не заметил... :( Posted at Nginx Forum: http://forum.nginx.org/read.php?21,239843,239873#msg-239873 From mdounin at mdounin.ru Wed Jun 5 11:36:10 2013 From: mdounin at mdounin.ru (Maxim Dounin) Date: Wed, 5 Jun 2013 15:36:10 +0400 Subject: =?UTF-8?B?UmU6INCn0YLQviDQvNC10YjQsNC10YIg0YDQsNC30LLQuNGC0Ywg0YHQutC+0YA=?= =?UTF-8?B?0L7RgdGC0Yw/ICjRgdCy0Y/Qt9C60LAgQXBhY2hlMjIrTkdJTlggMS40LjEp?= In-Reply-To: References: Message-ID: <20130605113610.GD72282@mdounin.ru> Hello! On Tue, Jun 04, 2013 at 02:20:56PM -0400, Alexandr wrote: > Имеем: > FreeBSD 9.1-STABLE #0 r251176: > Апач запущен в джейле - урезано всё что можно, обеспечивает работу SpeedTest > (http://www.speedtest.net/mini.php) > > При тестировании скорости напрямую с апача (джейл биндится на IP 10.10.10.2) > получается: > даунлоад: ~96Mbit, а аплоад ~87Mbit. > > Если апач (джейл) перенести на IP 127.0.1.1 и подключить nginx: > даунлоад: ~96Mbit, а аплоад ~35Mbit. > > При установки sendfile off, даунлоад не меняется, а вот аплоад подымается до > ~52Mbit. > > Как можно достигнуть 87 мегабит на nginx??? Насколько я вижу, указанная зверушка проверяет скорость вверх с помощью POST'ов размером 426565 байт. У вас же в конфиге: > client_body_buffer_size 128k; Т.е. все эти проверки скорости вверх - сначала попадают на nginx, складываются им на диск, потом поднимаются с диска и отправляются на апач. Попробуйте для начала сделать client_body_buffer_size 512k; Должно заметно улучшить ситуацию. -- Maxim Dounin http://nginx.org/en/donation.html From marck at rinet.ru Wed Jun 5 12:51:29 2013 From: marck at rinet.ru (Dmitry Morozovsky) Date: Wed, 5 Jun 2013 16:51:29 +0400 (MSK) Subject: =?UTF-8?B?UmU6INCn0YLQviDQvNC10YjQsNC10YIg0YDQsNC30LLQuNGC0Ywg0YHQutC+0YA=?= =?UTF-8?B?0L7RgdGC0Yw/ICjRgdCy0Y/Qt9C60LAgQXBhY2hlMjIrTkdJTlggMS40LjEp?= In-Reply-To: References: <04746361.20130605001627@softsearch.ru> Message-ID: On Wed, 5 Jun 2013, Alexandr wrote: > Одна из основных задач - помощь в диагностики плохих подключений: > определение скорости подключения. > Для этих целей используется proftp,iperf,и два http-теста: SpeedTest & > ScanMySpeed... всё это в jail. > Так вот proftp & iperf показывает 99 Mbit/99 Mbit. Даже голый апач > показывает практически теже результаты... А вот nginx выделывается! Не > ожидал.... Обидно.... :( as a sidenote: SpeedTest, по нашим впечатлениям, меряет каких-то одному ему известных фантастических попугаев :-/ -- 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 mdounin at mdounin.ru Wed Jun 5 13:41:21 2013 From: mdounin at mdounin.ru (Maxim Dounin) Date: Wed, 5 Jun 2013 17:41:21 +0400 Subject: =?UTF-8?B?UmU6INCn0YLQviDQvNC10YjQsNC10YIg0YDQsNC30LLQuNGC0Ywg0YHQutC+0YA=?= =?UTF-8?B?0L7RgdGC0Yw/ICjRgdCy0Y/Qt9C60LAgQXBhY2hlMjIrTkdJTlggMS40LjEp?= In-Reply-To: References: <04746361.20130605001627@softsearch.ru> Message-ID: <20130605134120.GH72282@mdounin.ru> Hello! On Wed, Jun 05, 2013 at 04:51:29PM +0400, Dmitry Morozovsky wrote: > On Wed, 5 Jun 2013, Alexandr wrote: > > > Одна из основных задач - помощь в диагностики плохих подключений: > > определение скорости подключения. > > Для этих целей используется proftp,iperf,и два http-теста: SpeedTest & > > ScanMySpeed... всё это в jail. > > Так вот proftp & iperf показывает 99 Mbit/99 Mbit. Даже голый апач > > показывает практически теже результаты... А вот nginx выделывается! Не > > ожидал.... Обидно.... :( > > as a sidenote: SpeedTest, по нашим впечатлениям, меряет каких-то одному > ему известных фантастических попугаев :-/ Это ты как пользователь говоришь, или как представитель интернет-провайдера, которому проели мозг жалобами? :) По моим личным ощущениям - некорректные результаты speedtest.net (не мини) показывает в основном тогда, когда сервер выбрался левый/кривой/далёкий. Что случается нередко, меня лично пару раз отправляло за урал... -- Maxim Dounin http://nginx.org/en/donation.html From nginx-forum at nginx.us Wed Jun 5 14:19:45 2013 From: nginx-forum at nginx.us (stitrace) Date: Wed, 05 Jun 2013 10:19:45 -0400 Subject: =?UTF-8?B?0J3QsNGB0YLRgNC+0LnQutC4IHBjcmU=?= Message-ID: Скажите пожалуйста, есть ли в nginx возможность настраивать pcre (в частности увеличивать limits). При regexp очень длинных урлов выскакивает ошибка: PCRE limits exceeded (-8) В апаче это делается настройками в mod_security. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,239892,239892#msg-239892 From mdounin at mdounin.ru Wed Jun 5 15:20:10 2013 From: mdounin at mdounin.ru (Maxim Dounin) Date: Wed, 5 Jun 2013 19:20:10 +0400 Subject: =?UTF-8?B?UmU6INCd0LDRgdGC0YDQvtC50LrQuCBwY3Jl?= In-Reply-To: References: Message-ID: <20130605152010.GK72282@mdounin.ru> Hello! On Wed, Jun 05, 2013 at 10:19:45AM -0400, stitrace wrote: > Скажите пожалуйста, есть ли в nginx возможность настраивать pcre (в > частности увеличивать limits). > > При regexp очень длинных урлов выскакивает ошибка: PCRE limits exceeded > (-8) > > В апаче это делается настройками в mod_security. Нет. Вообще я бы для начала посмотрел внимательно на регулярное выражение. Если вы упираетесь в лимиты PCRE - то, скорее всего, регулярное выражение просто backtrack'ится экспоненциально, и его бы переписать. http://www.regular-expressions.info/catastrophic.html -- Maxim Dounin http://nginx.org/en/donation.html From marck at rinet.ru Thu Jun 6 01:37:06 2013 From: marck at rinet.ru (Dmitry Morozovsky) Date: Thu, 6 Jun 2013 05:37:06 +0400 (MSK) Subject: =?UTF-8?B?UmU6INCn0YLQviDQvNC10YjQsNC10YIg0YDQsNC30LLQuNGC0Ywg0YHQutC+0YA=?= =?UTF-8?B?0L7RgdGC0Yw/ICjRgdCy0Y/Qt9C60LAgQXBhY2hlMjIrTkdJTlggMS40LjEp?= In-Reply-To: <20130605134120.GH72282@mdounin.ru> References: <04746361.20130605001627@softsearch.ru> <20130605134120.GH72282@mdounin.ru> Message-ID: On Wed, 5 Jun 2013, Maxim Dounin wrote: > > > Одна из основных задач - помощь в диагностики плохих подключений: > > > определение скорости подключения. > > > Для этих целей используется proftp,iperf,и два http-теста: SpeedTest & > > > ScanMySpeed... всё это в jail. > > > Так вот proftp & iperf показывает 99 Mbit/99 Mbit. Даже голый апач > > > показывает практически теже результаты... А вот nginx выделывается! Не > > > ожидал.... Обидно.... :( > > > > as a sidenote: SpeedTest, по нашим впечатлениям, меряет каких-то одному > > ему известных фантастических попугаев :-/ > > Это ты как пользователь говоришь, или как представитель > интернет-провайдера, которому проели мозг жалобами? :) both ;-) > По моим личным ощущениям - некорректные результаты speedtest.net > (не мини) показывает в основном тогда, когда сервер выбрался > левый/кривой/далёкий. Что случается нередко, меня лично пару раз > отправляло за урал... у нас стоит, как ты понимаешь, собственный мини, плюс менее чем в десяти хопах по каналам 1-10 Gbps несколько полноценных. Статистически достоверной (ну, хотя бы в смысле minitest(8) ;P ) информации ни от одного из них получить как-то не удаётся... -- 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 mdounin at mdounin.ru Thu Jun 6 09:52:45 2013 From: mdounin at mdounin.ru (Maxim Dounin) Date: Thu, 6 Jun 2013 13:52:45 +0400 Subject: =?UTF-8?B?UmU6INCn0YLQviDQvNC10YjQsNC10YIg0YDQsNC30LLQuNGC0Ywg0YHQutC+0YA=?= =?UTF-8?B?0L7RgdGC0Yw/ICjRgdCy0Y/Qt9C60LAgQXBhY2hlMjIrTkdJTlggMS40LjEp?= In-Reply-To: References: <04746361.20130605001627@softsearch.ru> <20130605134120.GH72282@mdounin.ru> Message-ID: <20130606095245.GN72282@mdounin.ru> Hello! On Thu, Jun 06, 2013 at 05:37:06AM +0400, Dmitry Morozovsky wrote: [...] > > По моим личным ощущениям - некорректные результаты speedtest.net > > (не мини) показывает в основном тогда, когда сервер выбрался > > левый/кривой/далёкий. Что случается нередко, меня лично пару раз > > отправляло за урал... > > у нас стоит, как ты понимаешь, собственный мини, плюс менее чем в десяти хопах > по каналам 1-10 Gbps несколько полноценных. > > Статистически достоверной (ну, хотя бы в смысле minitest(8) ;P ) информации ни > от одного из них получить как-то не удаётся... Всмысле, ministat(1)? Просто надо рассматривать цифры, которые выдаёт speedtest, как результат одного измерения, и строить среднее/дисперсию по результатам более одного измерения. Тогда и погрешности будут понятны, и вопросы достоверности отпадут. Но вообще, я подозреваю, что твоя проблема - она от того, что ты большие каналы пытаешься им мерить. А там, из-за множества факторов, дисперсия большая, и "опытов надо ставить много" (c) анекдот, хотя и немного про другое. Попробуй как-нибудь 10-ти мегабитный канал им промерить - сразу всё станет хорошо и точно. :) -- Maxim Dounin http://nginx.org/en/donation.html From marck at rinet.ru Thu Jun 6 12:19:35 2013 From: marck at rinet.ru (Dmitry Morozovsky) Date: Thu, 6 Jun 2013 16:19:35 +0400 (MSK) Subject: =?UTF-8?B?UmU6INCn0YLQviDQvNC10YjQsNC10YIg0YDQsNC30LLQuNGC0Ywg0YHQutC+0YA=?= =?UTF-8?B?0L7RgdGC0Yw/ICjRgdCy0Y/Qt9C60LAgQXBhY2hlMjIrTkdJTlggMS40LjEp?= In-Reply-To: <20130606095245.GN72282@mdounin.ru> References: <04746361.20130605001627@softsearch.ru> <20130605134120.GH72282@mdounin.ru> <20130606095245.GN72282@mdounin.ru> Message-ID: On Thu, 6 Jun 2013, Maxim Dounin wrote: > > > По моим личным ощущениям - некорректные результаты speedtest.net > > > (не мини) показывает в основном тогда, когда сервер выбрался > > > левый/кривой/далёкий. Что случается нередко, меня лично пару раз > > > отправляло за урал... > > > > у нас стоит, как ты понимаешь, собственный мини, плюс менее чем в десяти хопах > > по каналам 1-10 Gbps несколько полноценных. > > > > Статистически достоверной (ну, хотя бы в смысле minitest(8) ;P ) информации ни > > от одного из них получить как-то не удаётся... > > Всмысле, ministat(1)? Просто надо рассматривать цифры, которые > выдаёт speedtest, как результат одного измерения, и строить > среднее/дисперсию по результатам более одного измерения. Тогда и > погрешности будут понятны, и вопросы достоверности отпадут. > > Но вообще, я подозреваю, что твоя проблема - она от того, что ты > большие каналы пытаешься им мерить. А там, из-за множества > факторов, дисперсия большая, и "опытов надо ставить много" (c) > анекдот, хотя и немного про другое. > > Попробуй как-нибудь 10-ти мегабитный канал им промерить - сразу > всё станет хорошо и точно. :) (тут вымаран жалобный вопль поставщика услуги капризному пользуну) характеристическая жалоба звучит примерно как "мне условиями обещаны 65 мегабит, почему я вижу то 40, то 55?!!!" (тут вымаран ещё один жалобный вопль поставщика услуги капризному пользуну) ;-P -- 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 nginx-forum at nginx.us Thu Jun 6 13:22:17 2013 From: nginx-forum at nginx.us (siroco) Date: Thu, 06 Jun 2013 09:22:17 -0400 Subject: =?UTF-8?B?cmV3cml0ZSDQtNC70Y8gVVJJINGB0L4g0LfQvdCw0LrQvtC8INCy0L7Qv9GA0L4=?= =?UTF-8?B?0YHQsA==?= Message-ID: <6c49c67e86c7e1e6e6a11492263eba22.NginxMailingListRussian@forum.nginx.org> Всем привет! У меня простейшая задача, которую почему-то никак не решить.. Хочется, чтобы все кто обращался бы на URI: /path2/blablabla.action?licenseRequest=ABC123 перманентно перенаправлялся бы на: /path2/blablabla.action?licenseRequest=XYZ890 Проблемы возникают именно из-за знака вопроса в URI, без него все работает, например вот так: location = /path2/blablablaABC123 { rewrite ^ /path2/blablablaXYZ890 permanent; } Подскажите как правильно написать rewrite, чтобы и со знаком вопроса тоже работало, пожалуйста! -- S. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,239917,239917#msg-239917 From andrey at kopeyko.ru Thu Jun 6 13:48:23 2013 From: andrey at kopeyko.ru (Andrey Kopeyko) Date: Thu, 06 Jun 2013 17:48:23 +0400 Subject: =?UTF-8?B?UmU6IHJld3JpdGUg0LTQu9GPIFVSSSDRgdC+INC30L3QsNC60L7QvCDQstC+0L8=?= =?UTF-8?B?0YDQvtGB0LA=?= In-Reply-To: <6c49c67e86c7e1e6e6a11492263eba22.NginxMailingListRussian@forum.nginx.org> References: <6c49c67e86c7e1e6e6a11492263eba22.NginxMailingListRussian@forum.nginx.org> Message-ID: <51B09327.6070507@kopeyko.ru> 06.06.2013 17:22, siroco пишет: > Всем привет! Добрый день, siroco! > Хочется, чтобы все кто обращался бы на URI: > /path2/blablabla.action?licenseRequest=ABC123 > > перманентно перенаправлялся бы на: > /path2/blablabla.action?licenseRequest=XYZ890 > > Проблемы возникают именно из-за знака вопроса в URI, без него все работает, Location оперирует с URI - который не включает аргументы запроса. Для работы с аргументами в вашем случае надо использовать переменную $arg_licenseRequest, примерно так: location = /path2/blablabla.action { if ($arg_licenseRequest = ABC123) { rewrite ^(.*)$ /path2/blablabla.action?licenseRequest=XYZ890 break; } } -- Best regards, Andrey Kopeyko From nginx-forum at nginx.us Thu Jun 6 15:41:13 2013 From: nginx-forum at nginx.us (siroco) Date: Thu, 06 Jun 2013 11:41:13 -0400 Subject: =?UTF-8?B?UmU6IHJld3JpdGUg0LTQu9GPIFVSSSDRgdC+INC30L3QsNC60L7QvCDQstC+0L8=?= =?UTF-8?B?0YDQvtGB0LA=?= In-Reply-To: <51B09327.6070507@kopeyko.ru> References: <51B09327.6070507@kopeyko.ru> Message-ID: Спасибо за оперативный ответ! А если у меня сам "path2" еще проксируется в Tомкат: location /path2 { proxy_buffering on; proxy_pass http://some_server; proxy_read_timeout 120; proxy_set_header Host host.domain.net; proxy_set_header X-Forwarded-For $remote_addr; } И мне никак не понять как бы сделать так, чтобы это работало совместно.. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,239917,239922#msg-239922 From nginx-forum at nginx.us Thu Jun 6 16:37:43 2013 From: nginx-forum at nginx.us (topmet) Date: Thu, 06 Jun 2013 12:37:43 -0400 Subject: =?UTF-8?B?0LDQvdCw0LvQvtCzINGA0LXQtNC40YDQtdC60YLQsCDQsiBodGFjY2Vzcw==?= Message-ID: Привет Паодскажите, как для nginx. правильней переписать это правило RewriteCond %{HTTP_HOST} ^domain\.ru$ RewriteRule ^q/([^/].+)$ /search?s=$1 [L] Posted at Nginx Forum: http://forum.nginx.org/read.php?21,239924,239924#msg-239924 From andrey at kopeyko.ru Thu Jun 6 17:32:10 2013 From: andrey at kopeyko.ru (Andrey Kopeyko) Date: Thu, 06 Jun 2013 21:32:10 +0400 Subject: =?UTF-8?B?UmU6IHJld3JpdGUg0LTQu9GPIFVSSSDRgdC+INC30L3QsNC60L7QvCDQstC+0L8=?= =?UTF-8?B?0YDQvtGB0LA=?= In-Reply-To: References: <51B09327.6070507@kopeyko.ru> Message-ID: <51B0C79A.1070203@kopeyko.ru> 06.06.2013 19:41, siroco пишет: > Спасибо за оперативный ответ! > > А если у меня сам "path2" еще проксируется в Tомкат: > > location /path2 { > > proxy_buffering on; > proxy_pass http://some_server; > proxy_read_timeout 120; > proxy_set_header Host host.domain.net; > proxy_set_header X-Forwarded-For $remote_addr; > > } > > И мне никак не понять как бы сделать так, чтобы это работало совместно.. В вашем случае - похоже, что никак : вам ни вложенные локейшены, ни более точное описание локейшена не подойдут, ибо у вас оба URI совпадают. В этом случае - вам надо на бэкенде разруливать, выдавая где надо редирект куда надо. > -- Best regards, Andrey Kopeyko From anatoly at sonru.com Thu Jun 6 19:31:23 2013 From: anatoly at sonru.com (Anatoly Mikhailov) Date: Thu, 6 Jun 2013 20:31:23 +0100 Subject: =?UTF-8?B?bGltaXRfcmVxINGB0YLRgNCw0L3QvdC+0LUg0L/QvtCy0LXQtNC10L3QuNC1?= Message-ID: Столкнулся с очень неожиданной проблемой, limit_req ведет себя непредсказуемо. Установка любого количества запросов в limit_req_zone сводится к ограничению, которое устанавливается через limit_req. Такой конфиг пропустит только 1 запрос в секунду (проверено через Apache Bench): limit_req_zone $binary_remote_addr zone=one:10m rate=70r/s; limit_req zone=one; Такой конфиг позволит пройти только 6 запросам в секунду: limit_req_zone $binary_remote_addr zone=one:10m rate=70r/s; limit_req zone=one burst=5; Вопрос, каким образом влияет параметр rate на ограничение запросов? Анатолий From vbart at nginx.com Thu Jun 6 19:48:04 2013 From: vbart at nginx.com (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Thu, 6 Jun 2013 23:48:04 +0400 Subject: =?UTF-8?B?UmU6IHJld3JpdGUg0LTQu9GPIFVSSSDRgdC+INC30L3QsNC60L7QvCDQstC+0L8=?= =?UTF-8?B?0YDQvtGB0LA=?= In-Reply-To: <51B0C79A.1070203@kopeyko.ru> References: <51B09327.6070507@kopeyko.ru> <51B0C79A.1070203@kopeyko.ru> Message-ID: <201306062348.04039.vbart@nginx.com> On Thursday 06 June 2013 21:32:10 Andrey Kopeyko wrote: > 06.06.2013 19:41, siroco пишет: > > Спасибо за оперативный ответ! > > > > А если у меня сам "path2" еще проксируется в Tомкат: > > location /path2 { > > > > proxy_buffering on; > > proxy_pass http://some_server; > > proxy_read_timeout 120; > > proxy_set_header Host host.domain.net; > > proxy_set_header X-Forwarded-For $remote_addr; > > > > } > > > > И мне никак не понять как бы сделать так, чтобы это работало совместно.. > > В вашем случае - похоже, что никак : вам ни вложенные локейшены, ни > более точное описание локейшена не подойдут, ибо у вас оба URI совпадают. [...] Почему же? location /path2 { proxy_buffering on; proxy_pass http://some_server; proxy_read_timeout 120; proxy_set_header Host host.domain.net; proxy_set_header X-Forwarded-For $remote_addr; location = /path2/blablabla.action { if ($arg_licenseRequest = ABC123) { return 301 /path2/blablabla.action?licenseRequest=XYZ890; } proxy_pass http://some_server; } } -- Валентин Бартенев http://nginx.org/en/donation.html From mdounin at mdounin.ru Thu Jun 6 19:51:09 2013 From: mdounin at mdounin.ru (Maxim Dounin) Date: Thu, 6 Jun 2013 23:51:09 +0400 Subject: =?UTF-8?B?UmU6IGxpbWl0X3JlcSDRgdGC0YDQsNC90L3QvtC1INC/0L7QstC10LTQtdC90Lg=?= =?UTF-8?B?0LU=?= In-Reply-To: References: Message-ID: <20130606195108.GT72282@mdounin.ru> Hello! On Thu, Jun 06, 2013 at 08:31:23PM +0100, Anatoly Mikhailov wrote: > Столкнулся с очень неожиданной проблемой, limit_req ведет себя непредсказуемо. > Установка любого количества запросов в limit_req_zone сводится к ограничению, > которое устанавливается через limit_req. > > Такой конфиг пропустит только 1 запрос в секунду (проверено через Apache Bench): > > limit_req_zone $binary_remote_addr zone=one:10m rate=70r/s; > limit_req zone=one; > > Такой конфиг позволит пройти только 6 запросам в секунду: > > limit_req_zone $binary_remote_addr zone=one:10m rate=70r/s; > limit_req zone=one burst=5; > > Вопрос, каким образом влияет параметр rate на ограничение запросов? Apache Bench не умеет обеспечивать поступление запросов с заданой скоростью. Что именно вы им в результате тестируете - зависит от конкретных аргументов. -- Maxim Dounin http://nginx.org/en/donation.html From vbart at nginx.com Thu Jun 6 20:00:16 2013 From: vbart at nginx.com (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Fri, 7 Jun 2013 00:00:16 +0400 Subject: =?UTF-8?B?UmU6IGxpbWl0X3JlcSDRgdGC0YDQsNC90L3QvtC1INC/0L7QstC10LTQtdC90Lg=?= =?UTF-8?B?0LU=?= In-Reply-To: References: Message-ID: <201306070000.16159.vbart@nginx.com> On Thursday 06 June 2013 23:31:23 Anatoly Mikhailov wrote: > Столкнулся с очень неожиданной проблемой, limit_req ведет себя > непредсказуемо. Установка любого количества запросов в limit_req_zone > сводится к ограничению, которое устанавливается через limit_req. > > Такой конфиг пропустит только 1 запрос в секунду (проверено через Apache > Bench): > > limit_req_zone $binary_remote_addr zone=one:10m rate=70r/s; > limit_req zone=one; > > Такой конфиг позволит пройти только 6 запросам в секунду: > > limit_req_zone $binary_remote_addr zone=one:10m rate=70r/s; > limit_req zone=one burst=5; > > Вопрос, каким образом влияет параметр rate на ограничение запросов? > С каких это пор ab умеет лимитировать скорость поступления запросов? =) 70 запросов в секунду - это 1000мс/70 ~ 14мс, вы видимо запустили ab -n N и N запросов были благополучно посланы менее чем за 14мс, естественно при этом N-1 получили отлуп (во втором случае ещё 5 запросов заполнили ведерко и были задержаны, остальные уже получили отлуп). Читайте: http://en.wikipedia.org/wiki/Leaky_bucket -- Валентин Бартенев http://nginx.org/en/donation.html From anatoly at sonru.com Thu Jun 6 22:44:03 2013 From: anatoly at sonru.com (Anatoly Mikhailov) Date: Thu, 6 Jun 2013 23:44:03 +0100 Subject: =?UTF-8?B?UmU6IGxpbWl0X3JlcSDRgdGC0YDQsNC90L3QvtC1INC/0L7QstC10LTQtdC90Lg=?= =?UTF-8?B?0LU=?= In-Reply-To: <201306070000.16159.vbart@nginx.com> References: <201306070000.16159.vbart@nginx.com> Message-ID: On Jun 6, 2013, at 9:00 PM, Валентин Бартенев wrote: > On Thursday 06 June 2013 23:31:23 Anatoly Mikhailov wrote: >> Столкнулся с очень неожиданной проблемой, limit_req ведет себя >> непредсказуемо. Установка любого количества запросов в limit_req_zone >> сводится к ограничению, которое устанавливается через limit_req. >> >> Такой конфиг пропустит только 1 запрос в секунду (проверено через Apache >> Bench): >> >> limit_req_zone $binary_remote_addr zone=one:10m rate=70r/s; >> limit_req zone=one; >> >> Такой конфиг позволит пройти только 6 запросам в секунду: >> >> limit_req_zone $binary_remote_addr zone=one:10m rate=70r/s; >> limit_req zone=one burst=5; >> >> Вопрос, каким образом влияет параметр rate на ограничение запросов? >> > > С каких это пор ab умеет лимитировать скорость поступления запросов? =) > разумеется, ab не умеет лимитировать запросы, он использовался по прямому назначению, логи приложения и nginx error.log дали ясное представление о том, сколько прошло, сколько было отлуплено > 70 запросов в секунду - это 1000мс/70 ~ 14мс, вы видимо запустили ab -n N > и N запросов были благополучно посланы менее чем за 14мс, естественно при > этом N-1 получили отлуп (во втором случае ещё 5 запросов заполнили ведерко > и были задержаны, остальные уже получили отлуп). > да, запускал так ab -n 10 -c 10. Механизм понял > Читайте: http://en.wikipedia.org/wiki/Leaky_bucket > > -- > Валентин Бартенев > http://nginx.org/en/donation.html > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From nginx-forum at nginx.us Fri Jun 7 08:20:44 2013 From: nginx-forum at nginx.us (siroco) Date: Fri, 07 Jun 2013 04:20:44 -0400 Subject: =?UTF-8?B?UmU6IHJld3JpdGUg0LTQu9GPIFVSSSDRgdC+INC30L3QsNC60L7QvCDQstC+0L8=?= =?UTF-8?B?0YDQvtGB0LA=?= In-Reply-To: <51B0C79A.1070203@kopeyko.ru> References: <51B0C79A.1070203@kopeyko.ru> Message-ID: <8b4aaf02499a5b7177f7b4cfad90dfeb.NginxMailingListRussian@forum.nginx.org> У меня сработала вот такая вот конструкция: location /path2 { if ($request_uri ~ /path2/blablabla.action) { set $test O; } if ($arg_licenseRequest = ABC123) { set $test "${test}K"; } if ($test = OK) { return 301 /path2/blablabla.action?licenseRequest=XYZ890; } proxy_buffering on; proxy_pass http://some_server; proxy_read_timeout 240; proxy_set_header Host host.domain.net; proxy_set_header X-Forwarded-For $remote_addr; } Понятно, что она совсем не гибкая, но работает! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,239917,239948#msg-239948 From nginx-forum at nginx.us Fri Jun 7 08:34:15 2013 From: nginx-forum at nginx.us (siroco) Date: Fri, 07 Jun 2013 04:34:15 -0400 Subject: =?UTF-8?B?UmU6IHJld3JpdGUg0LTQu9GPIFVSSSDRgdC+INC30L3QsNC60L7QvCDQstC+0L8=?= =?UTF-8?B?0YDQvtGB0LA=?= In-Reply-To: <201306062348.04039.vbart@nginx.com> References: <201306062348.04039.vbart@nginx.com> Message-ID: Валентин Бартенев Wrote: > Почему же? > Спасибо! Так тоже заработало! Ура! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,239917,239949#msg-239949 From marck at rinet.ru Fri Jun 7 11:30:56 2013 From: marck at rinet.ru (Dmitry Morozovsky) Date: Fri, 7 Jun 2013 15:30:56 +0400 (MSK) Subject: =?UTF-8?B?UmU6IHJld3JpdGUg0LTQu9GPIFVSSSDRgdC+INC30L3QsNC60L7QvCDQstC+0L8=?= =?UTF-8?B?0YDQvtGB0LA=?= In-Reply-To: <51B0C79A.1070203@kopeyko.ru> References: <51B09327.6070507@kopeyko.ru> <51B0C79A.1070203@kopeyko.ru> Message-ID: On Thu, 6 Jun 2013, Andrey Kopeyko wrote: > > А если у меня сам "path2" еще проксируется в Tомкат: > > > > location /path2 { > > > > proxy_buffering on; > > proxy_pass http://some_server; > > proxy_read_timeout 120; > > proxy_set_header Host host.domain.net; > > proxy_set_header X-Forwarded-For $remote_addr; > > > > } > > > > И мне никак не понять как бы сделать так, чтобы это работало совместно.. > > В вашем случае - похоже, что никак : вам ни вложенные локейшены, ни более > точное описание локейшена не подойдут, ибо у вас оба URI совпадают. > > В этом случае - вам надо на бэкенде разруливать, выдавая где надо редирект > куда надо. можно ещё на другой виртуалхост редиректить, тогда совпадение URI не должно помешать -- 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 nginx-forum at nginx.us Sat Jun 8 06:30:04 2013 From: nginx-forum at nginx.us (SenatoR) Date: Sat, 08 Jun 2013 02:30:04 -0400 Subject: =?UTF-8?B?0J/RgNC+0LHQu9C10LzQsCDRgSBlcnJvciBwYWdl?= Message-ID: <69536346c880c037836d7f65d2000fe5.NginxMailingListRussian@forum.nginx.org> Добрые сутки! Столкнулся с непонятной мне проблемой. nginx 1.4.1. Имеется связка nginx + php-fpm. Возникла необходимость в одном домене заблокировать несколько ip адресов для режима post. Написал вот такой листинг: location ~ \.php$ { if ($request_method = POST) { return 412; } error_page 412 = @check; try_files $fastcgi_script_name =404; # Проверка наличия скрипта, иначе ошибка 404 fastcgi_pass unix:/var/run/php-fpm-pool.sock; fastcgi_index index.php; include fastcgi_params; } location @check { deny ip1; deny ip2; error_page 403 http://sitename.ru/error_blocked.html; try_files $fastcgi_script_name =404; # Проверка наличия скрипта, иначе ошибка 404 fastcgi_pass unix:/var/run/php-fpm-pool.sock; fastcgi_index index.php; include fastcgi_params; } В секции "/" лежат простые rewrite на подобие этого: location / { rewrite ^/(.+)\.(html|htm)$ /index.php } Однако, все равно мне выводится стандартное уведомление об ошибке. Я пробовал вместо адреса с http указывать новый location: error_page 403 @why; Не работает! Пробовал указывать новый путь: error_page 403 /error_403.html; не работает!!!! В связи с этим вопросы: 1) Перенаправление на проверку явно сделано не самым удобным образом (через пененаправление error_page 412), может кто-то подскажет способ лучше? 2) Что я делаю не так с error_page? Мне нужно, чтобы он открыл заготовленный файл с расшифровкой "почему нельзя" и все. Заранее спасибо! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,239959,239959#msg-239959 From wangsamp at gmail.com Sat Jun 8 08:01:15 2013 From: wangsamp at gmail.com (Oleksandr V. Typlyns'kyi) Date: Sat, 8 Jun 2013 11:01:15 +0300 (EEST) Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0YEgZXJyb3IgcGFnZQ==?= In-Reply-To: <69536346c880c037836d7f65d2000fe5.NginxMailingListRussian@forum.nginx.org> References: <69536346c880c037836d7f65d2000fe5.NginxMailingListRussian@forum.nginx.org> Message-ID: Today Jun 8, 2013 at 02:30 SenatoR wrote: > Столкнулся с непонятной мне проблемой. nginx 1.4.1. Имеется связка nginx + > php-fpm. Возникла необходимость в одном домене заблокировать несколько ip > адресов для режима post. Написал вот такой листинг: > > location ~ \.php$ { > if ($request_method = POST) { > return 412; > } > error_page 412 = @check; > } > > location @check > { > deny ip1; > deny ip2; > error_page 403 http://sitename.ru/error_blocked.html; > } > Однако, все равно мне выводится стандартное уведомление об ошибке. Я > пробовал вместо адреса с http указывать новый location: > error_page 403 @why; > Не работает! Пробовал указывать новый путь: > error_page 403 /error_403.html; > не работает!!!! > > В связи с этим вопросы: > 1) Перенаправление на проверку явно сделано не самым удобным образом (через > пененаправление error_page 412), может кто-то подскажет способ лучше? http://nginx.org/r/limit_except/ru Вначале deny тем некоторым IP, а после allow all. И error_page 403 /error_403.html в этом location. > 2) Что я делаю не так с error_page? Мне нужно, чтобы он открыл заготовленный > файл с расшифровкой "почему нельзя" и все. Несколько перенаправлений через error_page по умолчанию запрещены: http://nginx.org/r/recursive_error_pages/ru -- WNGS-RIPE From mdounin at mdounin.ru Sat Jun 8 10:42:48 2013 From: mdounin at mdounin.ru (Maxim Dounin) Date: Sat, 8 Jun 2013 14:42:48 +0400 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0YEgZXJyb3IgcGFnZQ==?= In-Reply-To: <69536346c880c037836d7f65d2000fe5.NginxMailingListRussian@forum.nginx.org> References: <69536346c880c037836d7f65d2000fe5.NginxMailingListRussian@forum.nginx.org> Message-ID: <20130608104247.GK72282@mdounin.ru> Hello! On Sat, Jun 08, 2013 at 02:30:04AM -0400, SenatoR wrote: [...] > В связи с этим вопросы: > > 1) Перенаправление на проверку явно сделано не самым удобным образом (через > пененаправление error_page 412), может кто-то подскажет способ лучше? Уже подсказали. > 2) Что я делаю не так с error_page? Мне нужно, чтобы он открыл заготовленный > файл с расшифровкой "почему нельзя" и все. Повторная обработка ошибок с помощью директивы error_page - по умолчанию запрещена, чтобы не создавать циклов. Разрешить можно с помощью директивы recursive_error_pages, http://nginx.org/r/recursive_error_pages/ru. -- Maxim Dounin http://nginx.org/en/donation.html From nginx-forum at nginx.us Sat Jun 8 12:18:30 2013 From: nginx-forum at nginx.us (cyberbat) Date: Sat, 08 Jun 2013 08:18:30 -0400 Subject: =?UTF-8?B?0KHQstC+0Lgg0L/QtdGA0LXQvNC10L3QvdGL0LUg0LIgcmV3cml0ZQ==?= Message-ID: <842a9cbe2980c317c61a734bf6ffe6c0.NginxMailingListRussian@forum.nginx.org> Здравствуйте! Есть возможность сделать что-то типа: set $forum_dir "/forum"; rewrite ^$forum_dir/index\.php/([a-z]+),([0-9]+)\.(\w+)/(\w+),(\w+)/(\w+)\.html /forum/index.php?$1=$2.$3&$4=$5&$6 last; rewrite ^$forum_dir/index\.php/([a-z]+),([0-9]+)\.(\w+)/(\w+),(\w+)\.html /forum/index.php?$1=$2.$3&$4=$5 last; Так как я написал не срабатывает. У меня на серваке есть несколько форумов, которые различаются только исходным URL, который я пытаюсь загнать в переменную, дабы реврайты сделать общими, а именно: forum_rewrites.conf: rewrite ^$forum_dir/index\.php/([a-z]+),([0-9]+)\.(\w+)/(\w+),(\w+)/(\w+)\.html /forum/index.php?$1=$2.$3&$4=$5&$6 last; rewrite ^$forum_dir/index\.php/([a-z]+),([0-9]+)\.(\w+)/(\w+),(\w+)\.html /forum/index.php?$1=$2.$3&$4=$5 last; nginx.conf: set $forum_dir "/forum1"; include forum_rewrites.conf; set $forum_dir "/forum2"; include forum_rewrites.conf; set $forum_dir "/site3/forum5"; include forum_rewrites.conf; Posted at Nginx Forum: http://forum.nginx.org/read.php?21,239965,239965#msg-239965 From nginx-forum at nginx.us Sat Jun 8 16:07:58 2013 From: nginx-forum at nginx.us (SenatoR) Date: Sat, 08 Jun 2013 12:07:58 -0400 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0YEgZXJyb3IgcGFnZQ==?= In-Reply-To: References: Message-ID: <1342aeb4cdaffa5342f1b60b3c32ec5c.NginxMailingListRussian@forum.nginx.org> Большое Вам спасибо за ответ! limit excep - это то, что нужно! Однако, я столкнулся с непонятным мне эффектом. Я поместил это дело в location для php: location ~ \.php$ { limit POST { deny ip1; allow all; } ..... } Работает как надо. Но если я создам файл, просто список запрещенных ip может обновляться, и помещу в него ровно эти строки, чтобы стало вот так: location ~ \.php$ { include blacklist.conf; ...... } то он блокирует GET запросы (на запретных IP) и разрешает POST. Если поместить в файл: limit_except GET { deny ip1; allow all; } то запрещает POST, а GET разрешает. Это что-то вообще мне непонятное. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,239962,239966#msg-239966 From vbart at nginx.com Mon Jun 10 04:55:09 2013 From: vbart at nginx.com (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Mon, 10 Jun 2013 08:55:09 +0400 Subject: =?UTF-8?B?UmU6INCh0LLQvtC4INC/0LXRgNC10LzQtdC90L3Ri9C1INCyIHJld3JpdGU=?= In-Reply-To: <842a9cbe2980c317c61a734bf6ffe6c0.NginxMailingListRussian@forum.nginx.org> References: <842a9cbe2980c317c61a734bf6ffe6c0.NginxMailingListRussian@forum.nginx.org> Message-ID: <201306100855.09338.vbart@nginx.com> On Saturday 08 June 2013 16:18:30 cyberbat wrote: > Здравствуйте! > > Есть возможность сделать что-то типа: > > set $forum_dir "/forum"; > rewrite > ^$forum_dir/index\.php/([a-z]+),([0-9]+)\.(\w+)/(\w+),(\w+)/(\w+)\.html > /forum/index.php?$1=$2.$3&$4=$5&$6 last; > rewrite ^$forum_dir/index\.php/([a-z]+),([0-9]+)\.(\w+)/(\w+),(\w+)\.html > /forum/index.php?$1=$2.$3&$4=$5 last; > > Так как я написал не срабатывает. Разумеется. > > У меня на серваке есть несколько форумов, которые различаются только > исходным URL, который я пытаюсь загнать в переменную, дабы реврайты сделать > общими, а именно: > > forum_rewrites.conf: > rewrite > ^$forum_dir/index\.php/([a-z]+),([0-9]+)\.(\w+)/(\w+),(\w+)/(\w+)\.html > /forum/index.php?$1=$2.$3&$4=$5&$6 last; > rewrite ^$forum_dir/index\.php/([a-z]+),([0-9]+)\.(\w+)/(\w+),(\w+)\.html > /forum/index.php?$1=$2.$3&$4=$5 last; > > nginx.conf: > set $forum_dir "/forum1"; > include forum_rewrites.conf; > > set $forum_dir "/forum2"; > include forum_rewrites.conf; > > set $forum_dir "/site3/forum5"; > include forum_rewrites.conf; > Не нужно так делать: http://nginx.org/en/docs/faq/variables_in_config.html -- Валентин Бартенев http://nginx.org/en/donation.html From nginx-forum at nginx.us Mon Jun 10 06:19:31 2013 From: nginx-forum at nginx.us (bono90) Date: Mon, 10 Jun 2013 02:19:31 -0400 Subject: =?UTF-8?B?UmU6IG5naW54INC4IHVybCDRgdC10LrRhtC40Y8g0LIg0LDQtNGA0LXRgdC90L4=?= =?UTF-8?B?0Lkg0YHRgtGA0L7QutC1?= In-Reply-To: <3fd4c6d6f72ba8f39f8eb03981801854.NginxMailingListRussian@forum.nginx.org> References: <3fd4c6d6f72ba8f39f8eb03981801854.NginxMailingListRussian@forum.nginx.org> Message-ID: <4b0303a350ed5678a8371940e1a01c62.NginxMailingListRussian@forum.nginx.org> неужели никто не сталкивался? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,239676,239983#msg-239983 From tetsio.nainn at gmail.com Mon Jun 10 06:28:15 2013 From: tetsio.nainn at gmail.com (=?UTF-8?B?0Jwu0JAuINCc0L7RhdC90LDRh9C10LLRgdC60LjQuQ==?=) Date: Mon, 10 Jun 2013 16:28:15 +1000 Subject: =?UTF-8?B?UmU6IG5naW54INC4IHVybCDRgdC10LrRhtC40Y8g0LIg0LDQtNGA0LXRgdC90L4=?= =?UTF-8?B?0Lkg0YHRgtGA0L7QutC1?= In-Reply-To: <4b0303a350ed5678a8371940e1a01c62.NginxMailingListRussian@forum.nginx.org> References: <3fd4c6d6f72ba8f39f8eb03981801854.NginxMailingListRussian@forum.nginx.org> <4b0303a350ed5678a8371940e1a01c62.NginxMailingListRussian@forum.nginx.org> Message-ID: Посмотрите в сторону директивы *proxy_redirect* 10 июня 2013 г., 16:19 пользователь bono90 написал: > неужели никто не сталкивался? > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,239676,239983#msg-239983 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -- С ув. М.А. Мохначевский Отдел системного администрирования ООО "Компания "СахаИнтернет НТ" к.т. (4112)219711 доб. 927 -------------- next part -------------- An HTML attachment was scrubbed... URL: From eas at etherway.ru Mon Jun 10 08:23:13 2013 From: eas at etherway.ru (Andrey Ermishin) Date: Mon, 10 Jun 2013 12:23:13 +0400 Subject: rewrite rules. help pls. Message-ID: <909149428.20130610122313@etherway.ru> Уважаемые all. Пытаюсь мигрировать в apache на Nginx. nginx установлен вместе с php5-fpm. Возникла проблема с переносом правил для rewrite. На апаче правила выглядят так: RewriteEngine On RewriteCond %{REQUEST_URI} /playlist\.xspf RewriteRule (.*) channels.php [L,QSA] на nginx пробую такую конструкцию: server { ... location /eltex { rewrite /playlist\.xspf /eltex/channels.php break; } ... location ~ \.(php)$ { ... fastcgi_pass php_backends; ... } ... } Собственно говоря в этом случае channels.php не выполняется, а просто отдается содержимое скрипта. Если же в backend добавляю location ~ \.(php|xspf)$ то вообще error ~404 Что делать? как правильно составить конфигурацию для nginx? From denis at webmaster.spb.ru Mon Jun 10 09:47:43 2013 From: denis at webmaster.spb.ru (denis) Date: Mon, 10 Jun 2013 13:47:43 +0400 Subject: =?UTF-8?B?UmU6INCh0LLQvtC4INC/0LXRgNC10LzQtdC90L3Ri9C1INCyIHJld3JpdGU=?= In-Reply-To: <201306100855.09338.vbart@nginx.com> References: <842a9cbe2980c317c61a734bf6ffe6c0.NginxMailingListRussian@forum.nginx.org> <201306100855.09338.vbart@nginx.com> Message-ID: <51B5A0BF.6050500@webmaster.spb.ru> 10.06.2013 8:55, Валентин Бартенев пишет: > > Не нужно так делать: http://nginx.org/en/docs/faq/variables_in_config.html Может пора ввести макросы? Которые "компилируются" в полотно конфигов 1 раз на старте, как вариант в физические файлы, которые подгружаются. Это сильно упростит жизнь всяким хостерам, где много однотипных сайтов. Только тогда нужно будет режим показа итогового конфига сделать еще. Хотя бы модулем такое сделать наверняка можно ведь. Или просто "генератор конфигов из макросов" от авторов.. отдельным пакетом. From mdounin at mdounin.ru Mon Jun 10 10:13:55 2013 From: mdounin at mdounin.ru (Maxim Dounin) Date: Mon, 10 Jun 2013 14:13:55 +0400 Subject: rewrite rules. help pls. In-Reply-To: <909149428.20130610122313@etherway.ru> References: <909149428.20130610122313@etherway.ru> Message-ID: <20130610101355.GQ72282@mdounin.ru> Hello! On Mon, Jun 10, 2013 at 12:23:13PM +0400, Andrey Ermishin wrote: > Уважаемые all. > > Пытаюсь мигрировать в apache на Nginx. > > nginx установлен вместе с php5-fpm. > > Возникла проблема с переносом правил для rewrite. > > На апаче правила выглядят так: > > RewriteEngine On > RewriteCond %{REQUEST_URI} /playlist\.xspf > RewriteRule (.*) channels.php [L,QSA] > > на nginx пробую такую конструкцию: > > server { > ... > location /eltex { > rewrite /playlist\.xspf /eltex/channels.php break; > } > ... > location ~ \.(php)$ { > ... > fastcgi_pass php_backends; > ... > } > ... > } > > > Собственно говоря в этом случае channels.php не выполняется, а просто > отдается содержимое скрипта. Во-первых, rewrite у вас не имеет шанса сработать, т.к. запрос "/playlist.xspf" не имеет шансов попасть в location /eltex. Во-вторых, даже если бы он сработал - запрос после "rewrite ... break" обрабатывается в том же location, где был сделан rewrite. А там у вас, судя по всему, никакого fastcgi_pass нет. Если нужно выбрать другой location - правильнее всего написать "rewrite .. last". Подробная документация есть тут: http://nginx.org/r/location/ru http://nginx.org/r/rewrite/ru > Если же в backend добавляю location ~ \.(php|xspf)$ > то вообще error ~404 Что опять же ожидаемо, ибо файла /playlist.xspf у вас, судя по всему, нет. > Что делать? как правильно составить конфигурацию для nginx? Совсем правильно как-то так: location = /playlist.xspf { fastcgi_pass php_backends; fastcgi_param SCRIPT_FILENAME $document_root/eltex/channels.php; include fastcgi_params; } -- Maxim Dounin http://nginx.org/en/donation.html From pavel2000 at ngs.ru Mon Jun 10 11:57:50 2013 From: pavel2000 at ngs.ru (Pavel V.) Date: Mon, 10 Jun 2013 18:57:50 +0700 Subject: =?UTF-8?B?UmU6IG5naW54INC4IHVybCDRgdC10LrRhtC40Y8g0LIg0LDQtNGA0LXRgdC90L4=?= =?UTF-8?B?0Lkg0YHRgtGA0L7QutC1?= In-Reply-To: <3fd4c6d6f72ba8f39f8eb03981801854.NginxMailingListRussian@forum.nginx.org> References: <3fd4c6d6f72ba8f39f8eb03981801854.NginxMailingListRussian@forum.nginx.org> Message-ID: <242581859.20130610185750@ngs.ru> Здравствуйте, bono90. Вы писали 30 мая 2013 г., 15:02:20: > Добрый день! > Настроил nginx в качестве обратного прокси для доступа к сервису owa > (exchange server). > Когда набираю в браузере адрес домена, настроенный для использования owa, > например: imap.domain.ru - запрос перенаправляется на > https://imap.domain.ru/owa/auth/logon.aspx?replaceCurrent=1&url=https://exchange-server.domain.local/owa/. > Собственно вопрос как добиться того, чтобы секция URL не присутствовала в > адресе (url= https://exchange-server.domain.local/owa/). Перенастройте сервис так, чтобы он именовался не exchange-server.domain.local, а imap.domain.ru. Проброс сделайте так: proxy_pass https://192.168.3.4; proxy_set_header Host 'imap.domain.ru'; -- С уважением, Pavel mailto:pavel2000 at ngs.ru From nefer05 at gmail.com Mon Jun 10 15:41:19 2013 From: nefer05 at gmail.com (=?KOI8-R?B?8s/Nwc4g7c/Ty9fJ1MnO?=) Date: Mon, 10 Jun 2013 19:41:19 +0400 Subject: =?UTF-8?B?UmU6INCh0LLQvtC4INC/0LXRgNC10LzQtdC90L3Ri9C1INCyIHJld3JpdGU=?= In-Reply-To: <51B5A0BF.6050500@webmaster.spb.ru> References: <842a9cbe2980c317c61a734bf6ffe6c0.NginxMailingListRussian@forum.nginx.org> <201306100855.09338.vbart@nginx.com> <51B5A0BF.6050500@webmaster.spb.ru> Message-ID: 2013/6/10 denis > 10.06.2013 8:55, Валентин Бартенев пишет: > > >> Не нужно так делать: http://nginx.org/en/docs/faq/** >> variables_in_config.html >> > Может пора ввести макросы? Которые "компилируются" в полотно конфигов 1 > раз на старте, как вариант в физические файлы, которые подгружаются. > Или просто "генератор конфигов из макросов" от авторов.. отдельным пакетом. Откройте для себя bash и иже с ними. И куча более специализированных шаблонизаторов. unixway как никак. > > > ______________________________**_________________ > 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 onokonem at gmail.com Mon Jun 10 17:05:30 2013 From: onokonem at gmail.com (Daniel Podolsky) Date: Mon, 10 Jun 2013 21:05:30 +0400 Subject: =?UTF-8?B?UmU6INCh0LLQvtC4INC/0LXRgNC10LzQtdC90L3Ri9C1INCyIHJld3JpdGU=?= In-Reply-To: References: <842a9cbe2980c317c61a734bf6ffe6c0.NginxMailingListRussian@forum.nginx.org> <201306100855.09338.vbart@nginx.com> <51B5A0BF.6050500@webmaster.spb.ru> Message-ID: > Откройте для себя bash и иже с ними. И куча более специализированных > шаблонизаторов. unixway как никак. Сообщения об ошибках систаксиса хочется получать со ссылкой на строку в исходнике, а не в скомпилированном конфиге. From denis at webmaster.spb.ru Mon Jun 10 22:57:09 2013 From: denis at webmaster.spb.ru (denis) Date: Tue, 11 Jun 2013 02:57:09 +0400 Subject: =?UTF-8?B?UmU6INCh0LLQvtC4INC/0LXRgNC10LzQtdC90L3Ri9C1INCyIHJld3JpdGU=?= In-Reply-To: References: <842a9cbe2980c317c61a734bf6ffe6c0.NginxMailingListRussian@forum.nginx.org> <201306100855.09338.vbart@nginx.com> <51B5A0BF.6050500@webmaster.spb.ru> Message-ID: <51B659C5.5080801@webmaster.spb.ru> 10.06.2013 19:41, Роман Москвитин пишет: > > > > 2013/6/10 denis > > > 10.06.2013 8:55, Валентин Бартенев пишет: > > > Не нужно так делать: > http://nginx.org/en/docs/faq/variables_in_config.html > > Может пора ввести макросы? Которые "компилируются" в полотно > конфигов 1 раз на старте, как вариант в физические файлы, которые > подгружаются. > Или просто "генератор конфигов из макросов" от авторов.. отдельным > пакетом. > > Откройте для себя bash и иже с ними. И куча более специализированных > шаблонизаторов. unixway как никак. У меня так и делается. Но получается, что каждый, кому нужна хоть какая-то автоматизация, пишет свой велосипед, в результате эта работа делается тысячи раз. Проще 1 раз сделать даже просто отдельный проект, который уже все бы могли юзать. Но речь была именно про встроенные шаблоны, хотя их необходимость действительно под сомнением. -------------- next part -------------- An HTML attachment was scrubbed... URL: From eas at etherway.ru Tue Jun 11 06:50:25 2013 From: eas at etherway.ru (Andrey Ermishin) Date: Tue, 11 Jun 2013 10:50:25 +0400 Subject: rewrite rules. help pls. In-Reply-To: <20130610101355.GQ72282@mdounin.ru> References: <909149428.20130610122313@etherway.ru> <20130610101355.GQ72282@mdounin.ru> Message-ID: <16810052105.20130611105025@etherway.ru> Здравствуйте, Maxim. Вы писали 10 июня 2013 г., 14:13:55: MD> Hello! MD> On Mon, Jun 10, 2013 at 12:23:13PM +0400, Andrey Ermishin wrote: >> Уважаемые all. >> >> Пытаюсь мигрировать в apache на Nginx. >> >> nginx установлен вместе с php5-fpm. >> >> Возникла проблема с переносом правил для rewrite. >> >> На апаче правила выглядят так: >> >> RewriteEngine On >> RewriteCond %{REQUEST_URI} /playlist\.xspf >> RewriteRule (.*) channels.php [L,QSA] >> >> на nginx пробую такую конструкцию: >> >> server { >> ... >> location /eltex { >> rewrite /playlist\.xspf /eltex/channels.php break; >> } >> ... >> location ~ \.(php)$ { >> ... >> fastcgi_pass php_backends; >> ... >> } >> ... >> } >> >> >> Собственно говоря в этом случае channels.php не выполняется, а просто >> отдается содержимое скрипта. MD> Во-первых, rewrite у вас не имеет шанса сработать, т.к. запрос MD> "/playlist.xspf" не имеет шансов попасть в location /eltex. MD> Во-вторых, даже если бы он сработал - запрос после "rewrite ... MD> break" обрабатывается в том же location, где был сделан rewrite. MD> А там у вас, судя по всему, никакого fastcgi_pass нет. Если нужно MD> выбрать другой location - правильнее всего написать "rewrite .. MD> last". MD> Подробная документация есть тут: MD> http://nginx.org/r/location/ru MD> http://nginx.org/r/rewrite/ru >> Если же в backend добавляю location ~ \.(php|xspf)$ >> то вообще error ~404 MD> Что опять же ожидаемо, ибо файла /playlist.xspf у вас, судя по MD> всему, нет. >> Что делать? как правильно составить конфигурацию для nginx? MD> Совсем правильно как-то так: MD> location = /playlist.xspf { MD> fastcgi_pass php_backends; MD> fastcgi_param SCRIPT_FILENAME MD> $document_root/eltex/channels.php; MD> include fastcgi_params; MD> } Спасибо разобрался. Теперь новая засада (что бы не плодить топики). В апаче была такая конфигурация сервера: Alias /dns /srv/http/dns/html Options All DirectoryIndex index.php Переношу ее в nginx location ^~ /dns/ { root /srv/http/dns/html/; access_log /srv/http/dns/logs/access.log; error_log /srv/http/dns/logs/error.log; } в итоге при обращении http://url/dns/ получаю ошибку в еррор лог: 2013/06/11 10:46:23 [error] 11962#0: *5 open() "/srv/http/dns/html/dns/index.php" failed (2: No such file or directory) что не так? -- Ермишин Андрей Руководитель департамента управления сети Оператор связи ООО "Шупашкартранс-К" телефон: (8352) 272008 eas at etherway.ru From nefer05 at gmail.com Tue Jun 11 07:26:55 2013 From: nefer05 at gmail.com (=?UTF-8?B?0KDQvtC80LDQvSDQnNC+0YHQutCy0LjRgtC40L0=?=) Date: Tue, 11 Jun 2013 11:26:55 +0400 Subject: rewrite rules. help pls. In-Reply-To: <16810052105.20130611105025@etherway.ru> References: <909149428.20130610122313@etherway.ru> <20130610101355.GQ72282@mdounin.ru> <16810052105.20130611105025@etherway.ru> Message-ID: В документации же все описано. И ошибка вполне хорошо показывает где проблема. Вместо рута тут надо алиас указать. 2013/6/11 Andrey Ermishin > Здравствуйте, Maxim. > > Вы писали 10 июня 2013 г., 14:13:55: > > MD> Hello! > > MD> On Mon, Jun 10, 2013 at 12:23:13PM +0400, Andrey Ermishin wrote: > > >> Уважаемые all. > >> > >> Пытаюсь мигрировать в apache на Nginx. > >> > >> nginx установлен вместе с php5-fpm. > >> > >> Возникла проблема с переносом правил для rewrite. > >> > >> На апаче правила выглядят так: > >> > >> RewriteEngine On > >> RewriteCond %{REQUEST_URI} /playlist\.xspf > >> RewriteRule (.*) channels.php [L,QSA] > >> > >> на nginx пробую такую конструкцию: > >> > >> server { > >> ... > >> location /eltex { > >> rewrite /playlist\.xspf /eltex/channels.php break; > >> } > >> ... > >> location ~ \.(php)$ { > >> ... > >> fastcgi_pass php_backends; > >> ... > >> } > >> ... > >> } > >> > >> > >> Собственно говоря в этом случае channels.php не выполняется, а просто > >> отдается содержимое скрипта. > > MD> Во-первых, rewrite у вас не имеет шанса сработать, т.к. запрос > MD> "/playlist.xspf" не имеет шансов попасть в location /eltex. > > MD> Во-вторых, даже если бы он сработал - запрос после "rewrite ... > MD> break" обрабатывается в том же location, где был сделан rewrite. > MD> А там у вас, судя по всему, никакого fastcgi_pass нет. Если нужно > MD> выбрать другой location - правильнее всего написать "rewrite .. > MD> last". > > MD> Подробная документация есть тут: > > MD> http://nginx.org/r/location/ru > MD> http://nginx.org/r/rewrite/ru > > >> Если же в backend добавляю location ~ \.(php|xspf)$ > >> то вообще error ~404 > > MD> Что опять же ожидаемо, ибо файла /playlist.xspf у вас, судя по > MD> всему, нет. > > >> Что делать? как правильно составить конфигурацию для nginx? > > MD> Совсем правильно как-то так: > > MD> location = /playlist.xspf { > MD> fastcgi_pass php_backends; > MD> fastcgi_param SCRIPT_FILENAME > MD> $document_root/eltex/channels.php; > MD> include fastcgi_params; > MD> } > > > > Спасибо разобрался. > Теперь новая засада (что бы не плодить топики). > > В апаче была такая конфигурация сервера: > > Alias /dns /srv/http/dns/html > > > Options All > DirectoryIndex index.php > > > > Переношу ее в nginx > > location ^~ /dns/ { > root /srv/http/dns/html/; > access_log /srv/http/dns/logs/access.log; > error_log /srv/http/dns/logs/error.log; > } > > в итоге при обращении http://url/dns/ > получаю ошибку в еррор лог: > 2013/06/11 10:46:23 [error] 11962#0: *5 open() > "/srv/http/dns/html/dns/index.php" failed (2: No such file or directory) > > что не так? > > > > > > -- > Ермишин Андрей > Руководитель департамента > управления сети > Оператор связи > ООО "Шупашкартранс-К" > телефон: (8352) 272008 > > eas at etherway.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 nefer05 at gmail.com Tue Jun 11 07:30:16 2013 From: nefer05 at gmail.com (=?KOI8-R?B?8s/Nwc4g7c/Ty9fJ1MnO?=) Date: Tue, 11 Jun 2013 11:30:16 +0400 Subject: =?UTF-8?B?UmU6INCh0LLQvtC4INC/0LXRgNC10LzQtdC90L3Ri9C1INCyIHJld3JpdGU=?= In-Reply-To: References: <842a9cbe2980c317c61a734bf6ffe6c0.NginxMailingListRussian@forum.nginx.org> <201306100855.09338.vbart@nginx.com> <51B5A0BF.6050500@webmaster.spb.ru> Message-ID: 2013/6/10 Daniel Podolsky > > Откройте для себя bash и иже с ними. И куча более специализированных > > шаблонизаторов. unixway как никак. > Сообщения об ошибках систаксиса хочется получать со ссылкой на строку > в исходнике, а не в скомпилированном конфиге. > Проверка синтаксиса делается элементарно. Конифг нджинкса по синтаксису совсем не сишник какой. Делать из маленького и прозрачного демона ексчендж - моветон. ИМХО, конечно. > _______________________________________________ > 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 anatoly at sonru.com Tue Jun 11 20:33:01 2013 From: anatoly at sonru.com (Anatoly Mikhailov) Date: Tue, 11 Jun 2013 21:33:01 +0100 Subject: =?UTF-8?B?UmU6IFMzIHByZS1zaWduZWQgcHJpdmF0ZSBVUkwg0LDQu9Cz0L7RgNC40YLQvCA=?= =?UTF-8?B?0L3QsCBOZ2lueA==?= In-Reply-To: References: <78DD1705-C605-4CD3-A089-CA70E89D4EB6@sonru.com> <1D8BD53D-69A9-4046-A82F-936CA3AAF782@sonru.com> <144B8DD1A0264A49A87E8D74F58DCB3F@gmail.com> Message-ID: On May 28, 2013, at 10:57 AM, Anatoly Mikhailov wrote: > > On May 28, 2013, at 10:47 AM, Alex Vasilenko wrote: > >> On Tuesday, May 28, 2013 at 12:43 , Anatoly Mikhailov wrote: >>> >>> On May 28, 2013, at 9:57 AM, Anatoly Mikhailov wrote: >>> >>>> AWS S3 предлагает возможность создавать short-lived URL для файлов с приватным доступом, >>>> алгоритм реализован в AWS SDK для разных языков (Ruby, ObjectiveC, .NET, Java, Android, PHP). >>>> >>>> На AWS SDK для Ruby это выглядит так: AWS::S3.new.buckets[s3_bucket].objects[path].url_for(:read, :expires => 7200).request_uri[1..-1] >>>> >>>> Есть ли возможность имплементировать алгоритм в Nginx, или уже есть такой модуль? >>> >>> Если есть вопросы о целесообразности, то здесь смысл один - проксировать приватные файлы с S3 без участия бэкэнда. >>> Про secure_link_md5 знаю хорошо и он используется в продакшне для своих целей. >> >> Пробовали XSendFile? http://wiki.nginx.org/XSendfile Или хотите совсем-совсем без бекенда? > > Пробовал, но задача совершенно другая > нашел такое решение на Lua https://github.com/lovelysystems/nginx-examples/blob/master/s3/nginx/nginx.conf.in Но Lua модуль был замечен в саботаже, в частности, ломал SPDY модуль или это уже не так? >>> >>>> Анатолий >>>> _______________________________________________ >>>> nginx-ru mailing list >>>> nginx-ru at nginx.org >>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >>> >>> _______________________________________________ >>> nginx-ru mailing list >>> nginx-ru at nginx.org >>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru at nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-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 anatoly at sonru.com Tue Jun 11 20:36:02 2013 From: anatoly at sonru.com (Anatoly Mikhailov) Date: Tue, 11 Jun 2013 21:36:02 +0100 Subject: =?UTF-8?B?UmU6IFMzIHByZS1zaWduZWQgcHJpdmF0ZSBVUkwg0LDQu9Cz0L7RgNC40YLQvCA=?= =?UTF-8?B?0L3QsCBOZ2lueA==?= In-Reply-To: References: <78DD1705-C605-4CD3-A089-CA70E89D4EB6@sonru.com> <1D8BD53D-69A9-4046-A82F-936CA3AAF782@sonru.com> <144B8DD1A0264A49A87E8D74F58DCB3F@gmail.com> Message-ID: <9BCE84DB-BDD3-4606-9EDE-2EF104EBFFDC@sonru.com> On Jun 11, 2013, at 9:33 PM, Anatoly Mikhailov wrote: > > On May 28, 2013, at 10:57 AM, Anatoly Mikhailov wrote: > >> >> On May 28, 2013, at 10:47 AM, Alex Vasilenko wrote: >> >>> On Tuesday, May 28, 2013 at 12:43 , Anatoly Mikhailov wrote: >>>> >>>> On May 28, 2013, at 9:57 AM, Anatoly Mikhailov wrote: >>>> >>>>> AWS S3 предлагает возможность создавать short-lived URL для файлов с приватным доступом, >>>>> алгоритм реализован в AWS SDK для разных языков (Ruby, ObjectiveC, .NET, Java, Android, PHP). >>>>> >>>>> На AWS SDK для Ruby это выглядит так: AWS::S3.new.buckets[s3_bucket].objects[path].url_for(:read, :expires => 7200).request_uri[1..-1] >>>>> >>>>> Есть ли возможность имплементировать алгоритм в Nginx, или уже есть такой модуль? >>>> >>>> Если есть вопросы о целесообразности, то здесь смысл один - проксировать приватные файлы с S3 без участия бэкэнда. >>>> Про secure_link_md5 знаю хорошо и он используется в продакшне для своих целей. >>> >>> Пробовали XSendFile? http://wiki.nginx.org/XSendfile Или хотите совсем-совсем без бекенда? >> >> Пробовал, но задача совершенно другая >> > > нашел такое решение на Lua https://github.com/lovelysystems/nginx-examples/blob/master/s3/nginx/nginx.conf.in > Но Lua модуль был замечен в саботаже, в частности, ломал SPDY модуль или это уже не так? модуль на C, но непонятно, насколько он production-ready, кто сталкивался? https://github.com/anomalizer/ngx_aws_auth > >>>> >>>>> Анатолий >>>>> _______________________________________________ >>>>> nginx-ru mailing list >>>>> nginx-ru at nginx.org >>>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >>>> >>>> _______________________________________________ >>>> nginx-ru mailing list >>>> nginx-ru at nginx.org >>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >>> >>> _______________________________________________ >>> nginx-ru mailing list >>> nginx-ru at nginx.org >>> http://mailman.nginx.org/mailman/listinfo/nginx-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 anatoly at sonru.com Tue Jun 11 22:59:59 2013 From: anatoly at sonru.com (Anatoly Mikhailov) Date: Tue, 11 Jun 2013 23:59:59 +0100 Subject: =?UTF-8?B?UmU6IFMzIHByZS1zaWduZWQgcHJpdmF0ZSBVUkwg0LDQu9Cz0L7RgNC40YLQvCA=?= =?UTF-8?B?0L3QsCBOZ2lueA==?= In-Reply-To: <9BCE84DB-BDD3-4606-9EDE-2EF104EBFFDC@sonru.com> References: <78DD1705-C605-4CD3-A089-CA70E89D4EB6@sonru.com> <1D8BD53D-69A9-4046-A82F-936CA3AAF782@sonru.com> <144B8DD1A0264A49A87E8D74F58DCB3F@gmail.com> <9BCE84DB-BDD3-4606-9EDE-2EF104EBFFDC@sonru.com> Message-ID: On Jun 11, 2013, at 9:36 PM, Anatoly Mikhailov wrote: > > On Jun 11, 2013, at 9:33 PM, Anatoly Mikhailov wrote: > >> >> On May 28, 2013, at 10:57 AM, Anatoly Mikhailov wrote: >> >>> >>> On May 28, 2013, at 10:47 AM, Alex Vasilenko wrote: >>> >>>> On Tuesday, May 28, 2013 at 12:43 , Anatoly Mikhailov wrote: >>>>> >>>>> On May 28, 2013, at 9:57 AM, Anatoly Mikhailov wrote: >>>>> >>>>>> AWS S3 предлагает возможность создавать short-lived URL для файлов с приватным доступом, >>>>>> алгоритм реализован в AWS SDK для разных языков (Ruby, ObjectiveC, .NET, Java, Android, PHP). >>>>>> >>>>>> На AWS SDK для Ruby это выглядит так: AWS::S3.new.buckets[s3_bucket].objects[path].url_for(:read, :expires => 7200).request_uri[1..-1] >>>>>> >>>>>> Есть ли возможность имплементировать алгоритм в Nginx, или уже есть такой модуль? >>>>> >>>>> Если есть вопросы о целесообразности, то здесь смысл один - проксировать приватные файлы с S3 без участия бэкэнда. >>>>> Про secure_link_md5 знаю хорошо и он используется в продакшне для своих целей. >>>> >>>> Пробовали XSendFile? http://wiki.nginx.org/XSendfile Или хотите совсем-совсем без бекенда? >>> >>> Пробовал, но задача совершенно другая >>> >> >> нашел такое решение на Lua https://github.com/lovelysystems/nginx-examples/blob/master/s3/nginx/nginx.conf.in >> Но Lua модуль был замечен в саботаже, в частности, ломал SPDY модуль или это уже не так? > > модуль на C, но непонятно, насколько он production-ready, кто сталкивался? > https://github.com/anomalizer/ngx_aws_auth http://forum.nginx.org/read.php?2,31243,31263#msg-31263 >I believe at least someone did, try searching mailing list >archives. You probably need embedded perl to construct correctly >signed URLs though. >Maxim Dounin найден такой обнадеживающий тред, но без продолжения... Анатолий > >> >>>>> >>>>>> Анатолий >>>>>> _______________________________________________ >>>>>> nginx-ru mailing list >>>>>> nginx-ru at nginx.org >>>>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >>>>> >>>>> _______________________________________________ >>>>> nginx-ru mailing list >>>>> nginx-ru at nginx.org >>>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >>>> >>>> _______________________________________________ >>>> nginx-ru mailing list >>>> nginx-ru at nginx.org >>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >>> >>> _______________________________________________ >>> nginx-ru mailing list >>> nginx-ru at nginx.org >>> http://mailman.nginx.org/mailman/listinfo/nginx-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 anatoly at sonru.com Wed Jun 12 00:22:43 2013 From: anatoly at sonru.com (Anatoly Mikhailov) Date: Wed, 12 Jun 2013 01:22:43 +0100 Subject: =?UTF-8?B?0L/QvtC70YPRh9C10L3QuNC1INC/0LXRgNC10LzQtdC90L3Ri9GFINC+0LrRgNGD?= =?UTF-8?B?0LbQtdC90LjQuSDQsiBuZ2lueA==?= Message-ID: Вопрос глупый, но ответа в документации не нашел. Задача в следующем: есть переменная окружения $RAILS_ENV, необходимо ее получить в nginx и использовать как внутреннюю переменную в конфигурации. Эта переменная условная, есть еще ряд переменных, к которым нужен доступ для разных целей. Как пропустить все, что кроме TZ и каким образом назначить их внутренним переменным nginx-а? Анатолий From voron at amhost.net Wed Jun 12 06:19:29 2013 From: voron at amhost.net (Alex Vorona) Date: Wed, 12 Jun 2013 08:19:29 +0200 Subject: =?UTF-8?B?UmU6INC/0L7Qu9GD0YfQtdC90LjQtSDQv9C10YDQtdC80LXQvdC90YvRhSDQvtC6?= =?UTF-8?B?0YDRg9C20LXQvdC40Lkg0LIgbmdpbng=?= In-Reply-To: References: Message-ID: <51B812F1.8000802@amhost.net> 12.06.2013 02:22, Anatoly Mikhailov wrote: > Вопрос глупый, но ответа в документации не нашел. > Задача в следующем: есть переменная окружения $RAILS_ENV, > необходимо ее получить в nginx и использовать как внутреннюю переменную > в конфигурации. Эта переменная условная, есть еще ряд переменных, > к которым нужен доступ для разных целей. > > Как пропустить все, что кроме TZ и каким образом назначить их > внутренним переменным nginx-а? Если список переменных известен, то env + perl_set судя по документации должно хватить http://nginx.org/ru/docs/ngx_core_module.html#env http://nginx.org/ru/docs/http/ngx_http_perl_module.html#perl_set From petr at petrovich.kiev.ua Thu Jun 13 12:28:16 2013 From: petr at petrovich.kiev.ua (Serge Negodyuck) Date: Thu, 13 Jun 2013 15:28:16 +0300 Subject: =?UTF-8?B?0JLQvtC/0YDQvtGBINC/0L4g0LTQstGD0Lwg0L/QvtGB0LvQtdC00L7QstCw0YI=?= =?UTF-8?B?0LXQu9GM0L3Ri9C8IHByb3h5X3Bhc3M=?= Message-ID: Предположим, есть такой конфиг location / { proxy_pass http://fallback; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_intercept_errors on; recursive_error_pages on; error_page 404 500 502 503 504 = @main; } location @main { proxy_pass http://main; proxy_http_version 1.0; } Запрос на обработчик @main придет с оригинальным заголовком Connection? Или очищенным? -------------- next part -------------- An HTML attachment was scrubbed... URL: From mdounin at mdounin.ru Thu Jun 13 13:03:24 2013 From: mdounin at mdounin.ru (Maxim Dounin) Date: Thu, 13 Jun 2013 17:03:24 +0400 Subject: =?UTF-8?B?UmU6INCS0L7Qv9GA0L7RgSDQv9C+INC00LLRg9C8INC/0L7RgdC70LXQtNC+0LI=?= =?UTF-8?B?0LDRgtC10LvRjNC90YvQvCBwcm94eV9wYXNz?= In-Reply-To: References: Message-ID: <20130613130324.GS72282@mdounin.ru> Hello! On Thu, Jun 13, 2013 at 03:28:16PM +0300, Serge Negodyuck wrote: > Предположим, есть такой конфиг > > location / { > proxy_pass http://fallback; > proxy_http_version 1.1; > proxy_set_header Connection ""; > proxy_intercept_errors on; > recursive_error_pages on; > error_page 404 500 502 503 504 = @main; > } > > location @main { > proxy_pass http://main; > proxy_http_version 1.0; > } > > Запрос на обработчик @main придет с оригинальным заголовком Connection? Или > очищенным? Если вы про заголовок Connection, который будет в запросе на бекенд - то он не зависит от того, где исходный запрос обрабатывался раньше. По умолчанию запрос на бекенд формируется с заголовоком "Connection: close", если иное не определено с помощью директивы proxy_set_header (http://nginx.org/r/proxy_set_header/ru). -- Maxim Dounin http://nginx.org/en/donation.html From chipitsine at gmail.com Fri Jun 14 03:54:38 2013 From: chipitsine at gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Fri, 14 Jun 2013 09:54:38 +0600 Subject: =?UTF-8?B?0L3QtSDQvtC/0LXRh9Cw0YLQutCwINC70Lgg0LIg0LTQvtC60YPQvNC10L3RgtCw?= =?UTF-8?B?0YbQuNC4ID8=?= Message-ID: Добрый день! http://nginx.org/ru/docs/http/websocket.html интересует "более сложный пример", получается, что если не Upgrade, то Close ? а почему не '' ? Илья Шипицин From vbart at nginx.com Fri Jun 14 15:58:11 2013 From: vbart at nginx.com (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Fri, 14 Jun 2013 19:58:11 +0400 Subject: =?UTF-8?B?UmU6INC90LUg0L7Qv9C10YfQsNGC0LrQsCDQu9C4INCyINC00L7QutGD0LzQtdC9?= =?UTF-8?B?0YLQsNGG0LjQuCA/?= In-Reply-To: References: Message-ID: <201306141958.11726.vbart@nginx.com> On Friday 14 June 2013 07:54:38 Илья Шипицин wrote: > Добрый день! > > http://nginx.org/ru/docs/http/websocket.html > > интересует "более сложный пример", получается, что если не Upgrade, то > Close ? а почему не '' ? [...] Чтобы проинформировать сервер о том, что соединение будет закрыто после получения ответа. Почему "" ? keepalive в том примере нет. -- Валентин Бартенев From on.ilyin at gmail.com Sat Jun 15 06:15:51 2013 From: on.ilyin at gmail.com (Oleg Ilyin) Date: Sat, 15 Jun 2013 10:15:51 +0400 Subject: =?UTF-8?B?0KHQvtCx0YDQsNGC0YwgUlBNLiBuZ2lueCBycG1idWlsZCwgZXJyb3Igd2l0aCBj?= =?UTF-8?B?bGllbnRfdGVtcA==?= Message-ID: Подскажите пожалуйста, в чём я ошибаюсь. Взял srpm http://nginx.org/packages/centos/6/SRPMS/nginx-1.4.1-1.el6.ngx.src.rpm установил. добавил в SPEC пока только +1 модуль, пытаюсь собрать rpmbuild -bb spec.file ругается xecuting(%prep): /bin/sh -e /var/tmp/rpm-tmp.s9NxWH + umask 022 + cd /root/rpmbuild/BUILD + cd /root/rpmbuild/BUILD + rm -rf nginx-1.4.1 + /bin/tar -xf - + /usr/bin/gzip -dc /root/rpmbuild/SOURCES/nginx-1.4.1.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd nginx-1.4.1 + /bin/chmod -Rf a+rX,u+w,g-w,o-w . + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.4YzFE9 + umask 022 + cd /root/rpmbuild/BUILD + cd nginx-1.4.1 + ./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --add-module=/root/rpmbuild/MODULES/nginx-rtmp-module checking for OS + Linux 2.6.32-358.el6.x86_64 x86_64 checking for C compiler ... found + using GNU C compiler + gcc version: 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) .... тут проверяет зависимости установленные , кроп .. .... Configuration summary + using system PCRE library + using system OpenSSL library + md5: using OpenSSL library + sha1: using OpenSSL library + using system zlib library nginx path prefix: <> nginx binary file: <> nginx configuration prefix: <> nginx configuration file: <> nginx pid file: <> nginx error log file: <> nginx http access log file: <> nginx http client request body temporary files: <> nginx http proxy temporary files: <> nginx http fastcgi temporary files: <> nginx http uwsgi temporary files: <> nginx http scgi temporary files: <> ++ pcre-config --cflags + --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-mail --with-mail_ssl_module --with-file-aio --with-ipv6 --with-debug '--with-cc-opt=-O2 -g ' /var/tmp/rpm-tmp.4YzFE9: line 38: --http-client-body-temp-path=/var/cache/nginx/client_temp: No such file or directory error: Bad exit status from /var/tmp/rpm-tmp.4YzFE9 (%build) RPM build errors: Bad exit status from /var/tmp/rpm-tmp.4YzFE9 (%build) в системе такого каталога не было, добавил такой и файл и каталог, дал права 777, всё равно такая же ошибка, если закоментить этот пункт -http-client-body-temp-path=/var/cache/nginx/client_temp то ругается на следующем : --http-proxy-temp-path=%{_localstatedir}/cache/nginx/proxy_temp \ и так далее. пробовал переопределить _localstatedir через макросы в .rpmmacros , у каталога который используется для rpmbuild. не помогло. Как собрать rpm у nginx? как побороть описанную ошибку? /var/tmp/rpm-tmp.g9Ofz0: line 38: --http-client-body-temp-path=/var/cache/nginx/client_temp: No such file or directory error: Bad exit status -------------- next part -------------- An HTML attachment was scrubbed... URL: From sb at waeme.net Sat Jun 15 07:58:55 2013 From: sb at waeme.net (Sergey Budnevitch) Date: Sat, 15 Jun 2013 11:58:55 +0400 Subject: =?UTF-8?B?UmU6INCh0L7QsdGA0LDRgtGMIFJQTS4gbmdpbnggcnBtYnVpbGQsIGVycm9yIHdp?= =?UTF-8?B?dGggY2xpZW50X3RlbXA=?= In-Reply-To: References: Message-ID: <038D4EC3-5323-47CE-A891-E09755F3001E@waeme.net> On 15 Jun2013, at 10:15 , Oleg Ilyin wrote: > Подскажите пожалуйста, в чём я ошибаюсь. Модуль вы добавили как раз до строчки --http-proxy-temp-path=, и, видимо, ошиблись с экранированием переноса строки, правильно? Проблема в том, что при сборке rpm пытается выполнить "--http-proxy-temp-path=.." как команду и у него это не получается по понятным причинам. > > Взял srpm http://nginx.org/packages/centos/6/SRPMS/nginx-1.4.1-1.el6.ngx.src.rpm > > установил. > > добавил в SPEC пока только +1 модуль, пытаюсь собрать > > rpmbuild -bb spec.file > > ругается > > > xecuting(%prep): /bin/sh -e /var/tmp/rpm-tmp.s9NxWH + umask 022 + cd /root/rpmbuild/BUILD + cd /root/rpmbuild/BUILD + rm -rf nginx-1.4.1 + /bin/tar -xf - + /usr/bin/gzip -dc /root/rpmbuild/SOURCES/nginx-1.4.1.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd nginx-1.4.1 + /bin/chmod -Rf a+rX,u+w,g-w,o-w . + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.4YzFE9 + umask 022 + cd /root/rpmbuild/BUILD + cd nginx-1.4.1 + ./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --add-module=/root/rpmbuild/MODULES/nginx-rtmp-module checking for OS + Linux 2.6.32-358.el6.x86_64 x86_64 checking for C compiler ... found + using GNU C compiler + gcc version: 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) .... тут проверяет зависимости установленные , кроп .. .... Configuration summary + using system PCRE library + using system OpenSSL library + md5: using OpenSSL library + sha1: using OpenSSL library + using system zlib library > > nginx path prefix: ?/etc/nginx? nginx binary file: ?/usr/sbin/nginx? nginx configuration prefix: ?/etc/nginx? nginx configuration file: ?/etc/nginx/nginx.conf? nginx pid file: ?/var/run/nginx.pid? nginx error log file: ?/var/log/nginx/error.log? nginx http access log file: ?/var/log/nginx/access.log? nginx http client request body temporary files: ?client_body_temp? nginx http proxy temporary files: ?proxy_temp? nginx http fastcgi temporary files: ?fastcgi_temp? nginx http uwsgi temporary files: ?uwsgi_temp? nginx http scgi temporary files: ?scgi_temp? > > ++ pcre-config --cflags + --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-mail --with-mail_ssl_module --with-file-aio --with-ipv6 --with-debug '--with-cc-opt=-O2 -g ' /var/tmp/rpm-tmp.4YzFE9: line 38: --http-client-body-temp-path=/var/cache/nginx/client_temp: No such file or directory error: Bad exit status from /var/tmp/rpm-tmp.4YzFE9 (%build) > > RPM build errors: Bad exit status from /var/tmp/rpm-tmp.4YzFE9 (%build) > > > > > в системе такого каталога не было, добавил такой и файл и каталог, дал права 777, всё равно такая же ошибка, если закоментить этот пункт -http-client-body-temp-path=/var/cache/nginx/client_temp то ругается на следующем : --http-proxy-temp-path=%{_localstatedir}/cache/nginx/proxy_temp \ > и так далее. > > > пробовал переопределить _localstatedir через макросы в .rpmmacros , у каталога который используется для rpmbuild. не помогло. > > Как собрать rpm у nginx? как побороть описанную ошибку? > > > /var/tmp/rpm-tmp.g9Ofz0: line 38: --http-client-body-temp-path=/var/cache/nginx/client_temp: No such file or directory error: Bad exit status > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From valintinr at tangramltd.com Sat Jun 15 09:51:05 2013 From: valintinr at tangramltd.com (=?UTF-8?B?0JLQsNC70LXQvdGC0LjQvSDQoNC+0YHQsNCy0LjRhtC60LjQuQ==?=) Date: Sat, 15 Jun 2013 12:51:05 +0300 Subject: =?UTF-8?B?TkdJTlggLSDRgdC+0LHRgNCw0YLRjCDRgdGC0LDRgtC40YHRgtC40LrRgyDQv9C+?= =?UTF-8?B?INC60LDQttC00L7QvNGDINC00L7QvNC10L3Rgy9zZXJ2ZXIteQ==?= Message-ID: <51BC3909.5080208@tangramltd.com> Здравствуйте. Имеется такой себе кластер который фильтрует 'плохой' трафик. Фронтэндом стоит nginx который после всех проверок (кука и iptables-правила) проксирует 'чистый' трафик на бэкенды. Стоит задача как бы его правильно/просто собирать статистику по каждому проксируемому домену, например active connections с stub_status. Он у нас работает в отдельном server {}; проксируемые домены - каждый в своем server {};. Если я правильно понял то stub_status собирает для всего http {}; а нужно для server-ов собирать. Что можете подсказать? P.S Не обязательно через stub_status собирать, можно и другие варианты. У нас просто сейчас так, потом в rrd базу запихиваем и получается почти удобно. -- С уважением, Валентин Росавицкий From auskov at neolabs.kz Sat Jun 15 11:38:18 2013 From: auskov at neolabs.kz (Alexander Uskov) Date: Sat, 15 Jun 2013 17:38:18 +0600 Subject: Development. MariaDB *_start and *_cont in nginx module Message-ID: <20130615173818.039482f0@nlb01lx002.neolabs01.local> Добрый день. Понадобился прямой доступ из модуля в mysql. В libmysqlclient из MariaDB с год назад добавили асинхронные функции mysql_*_start и mysql_*_cont. Они неплохо описаны тут - https://kb.askmonty.org/en/using-the-non-blocking-library/ Но моих познаний в C, а тем более в написании модулей к nginx, хоть немного более сложных, чем "hello, world!" не хватает, чтоб понять, как ими воспользоваться. Может кто-нибудь написать простой пример с чтением данных из базы с этой библиотекой? ~~~ wbr, Alexander Uskov From on.ilyin at gmail.com Sat Jun 15 11:40:01 2013 From: on.ilyin at gmail.com (Oleg Ilyin) Date: Sat, 15 Jun 2013 15:40:01 +0400 Subject: =?UTF-8?B?UmU6INCh0L7QsdGA0LDRgtGMIFJQTS4gbmdpbnggcnBtYnVpbGQsIGVycm9yIHdp?= =?UTF-8?B?dGggY2xpZW50X3RlbXA=?= In-Reply-To: <038D4EC3-5323-47CE-A891-E09755F3001E@waeme.net> References: <038D4EC3-5323-47CE-A891-E09755F3001E@waeme.net> Message-ID: Сергей, спасибо! Именно в этом и была проблема, сам никак не мог найти долго. Приятно услышать человека с телепатическими навыками ) 15 июня 2013 г., 11:58 пользователь Sergey Budnevitch написал: > > On 15 Jun2013, at 10:15 , Oleg Ilyin wrote: > > > Подскажите пожалуйста, в чём я ошибаюсь. > > Модуль вы добавили как раз до строчки --http-proxy-temp-path=, и, видимо, > ошиблись с экранированием переноса строки, правильно? Проблема в том, что > при сборке rpm пытается выполнить "--http-proxy-temp-path=.." как команду > и у него это не получается по понятным причинам. > > > > > Взял srpm > http://nginx.org/packages/centos/6/SRPMS/nginx-1.4.1-1.el6.ngx.src.rpm > > > > установил. > > > > добавил в SPEC пока только +1 модуль, пытаюсь собрать > > > > rpmbuild -bb spec.file > > > > ругается > > > > > > xecuting(%prep): /bin/sh -e /var/tmp/rpm-tmp.s9NxWH + umask 022 + cd > /root/rpmbuild/BUILD + cd /root/rpmbuild/BUILD + rm -rf nginx-1.4.1 + > /bin/tar -xf - + /usr/bin/gzip -dc > /root/rpmbuild/SOURCES/nginx-1.4.1.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd > nginx-1.4.1 + /bin/chmod -Rf a+rX,u+w,g-w,o-w . + exit 0 Executing(%build): > /bin/sh -e /var/tmp/rpm-tmp.4YzFE9 + umask 022 + cd /root/rpmbuild/BUILD + > cd nginx-1.4.1 + ./configure --prefix=/etc/nginx > --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf > --error-log-path=/var/log/nginx/error.log > --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid > --lock-path=/var/run/nginx.lock > --add-module=/root/rpmbuild/MODULES/nginx-rtmp-module checking for OS + > Linux 2.6.32-358.el6.x86_64 x86_64 checking for C compiler ... found + > using GNU C compiler + gcc version: 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) > .... тут проверяет зависимости установленные , кроп .. .... Configuration > summary + using system PCRE library + using system OpenSSL library + md5: > using OpenSSL library + sha1: using OpenSSL library + using system zlib > library > > > > nginx path prefix: <> nginx binary file: <> > nginx configuration prefix: <> nginx configuration file: > <> nginx pid file: <> nginx error > log file: <> nginx http access log file: > <> nginx http client request body temporary files: > <> nginx http proxy temporary files: <> nginx > http fastcgi temporary files: <> nginx http uwsgi temporary > files: <> nginx http scgi temporary files: <> > > > > ++ pcre-config --cflags + > --http-client-body-temp-path=/var/cache/nginx/client_temp > --http-proxy-temp-path=/var/cache/nginx/proxy_temp > --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp > --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp > --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx > --with-http_ssl_module --with-http_realip_module > --with-http_addition_module --with-http_sub_module --with-http_dav_module > --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module > --with-http_gzip_static_module --with-http_random_index_module > --with-http_secure_link_module --with-http_stub_status_module --with-mail > --with-mail_ssl_module --with-file-aio --with-ipv6 --with-debug > '--with-cc-opt=-O2 -g ' /var/tmp/rpm-tmp.4YzFE9: line 38: > --http-client-body-temp-path=/var/cache/nginx/client_temp: No such file or > directory error: Bad exit status from /var/tmp/rpm-tmp.4YzFE9 (%build) > > > > RPM build errors: Bad exit status from /var/tmp/rpm-tmp.4YzFE9 (%build) > > > > > > > > > > в системе такого каталога не было, добавил такой и файл и каталог, дал > права 777, всё равно такая же ошибка, если закоментить этот пункт > -http-client-body-temp-path=/var/cache/nginx/client_temp то ругается на > следующем : --http-proxy-temp-path=%{_localstatedir}/cache/nginx/proxy_temp > \ > > и так далее. > > > > > > пробовал переопределить _localstatedir через макросы в .rpmmacros , у > каталога который используется для rpmbuild. не помогло. > > > > Как собрать rpm у nginx? как побороть описанную ошибку? > > > > > > /var/tmp/rpm-tmp.g9Ofz0: line 38: > --http-client-body-temp-path=/var/cache/nginx/client_temp: No such file or > directory error: Bad exit status > > _______________________________________________ > > nginx-ru mailing list > > nginx-ru at nginx.org > > http://mailman.nginx.org/mailman/listinfo/nginx-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 vbart at nginx.com Sat Jun 15 14:24:37 2013 From: vbart at nginx.com (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Sat, 15 Jun 2013 18:24:37 +0400 Subject: =?UTF-8?B?UmU6IE5HSU5YIC0gINGB0L7QsdGA0LDRgtGMINGB0YLQsNGC0LjRgdGC0LjQutGD?= =?UTF-8?B?INC/0L4g0LrQsNC20LTQvtC80YMg0LTQvtC80LXQvdGDL3NlcnZlci15?= In-Reply-To: <51BC3909.5080208@tangramltd.com> References: <51BC3909.5080208@tangramltd.com> Message-ID: <201306151824.37527.vbart@nginx.com> On Saturday 15 June 2013 13:51:05 Валентин Росавицкий wrote: > Здравствуйте. > Имеется такой себе кластер который фильтрует 'плохой' трафик. > Фронтэндом стоит nginx который после всех проверок (кука и > iptables-правила) проксирует 'чистый' трафик на бэкенды. Стоит задача > как бы его правильно/просто собирать статистику по каждому проксируемому > домену, например active connections с stub_status. Он у нас работает в > отдельном server {}; проксируемые домены - каждый в своем server {};. > Если я правильно понял то stub_status собирает для всего http {}; а > нужно для server-ов собирать. Что можете подсказать? > > P.S Не обязательно через stub_status собирать, можно и другие варианты. > У нас просто сейчас так, потом в rrd базу запихиваем и получается почти > удобно. http://nginx.org/ru/docs/http/ngx_http_log_module.html -- Валентин Бартенев http://nginx.org/en/donation.html From valintinr at tangramltd.com Sat Jun 15 15:18:57 2013 From: valintinr at tangramltd.com (=?KOI8-R?Q?=F7=C1=CC=C5=CE=D4=C9=CE_=F2=CF=D3=C1=D7=C9=C3=CB=C9=CA?=) Date: Sat, 15 Jun 2013 18:18:57 +0300 Subject: =?UTF-8?B?UmU6IE5HSU5YIC0gINGB0L7QsdGA0LDRgtGMINGB0YLQsNGC0LjRgdGC0LjQutGD?= =?UTF-8?B?INC/0L4g0LrQsNC20LTQvtC80YMg0LTQvtC80LXQvdGDL3NlcnZlci15?= In-Reply-To: <201306151824.37527.vbart@nginx.com> References: <51BC3909.5080208@tangramltd.com> <201306151824.37527.vbart@nginx.com> Message-ID: <51BC85E1.4020105@tangramltd.com> 15.06.2013 17:24, Валентин Бартенев пишет: > On Saturday 15 June 2013 13:51:05 Валентин Росавицкий wrote: >> Здравствуйте. >> Имеется такой себе кластер который фильтрует 'плохой' трафик. >> Фронтэндом стоит nginx который после всех проверок (кука и >> iptables-правила) проксирует 'чистый' трафик на бэкенды. Стоит задача >> как бы его правильно/просто собирать статистику по каждому проксируемому >> домену, например active connections с stub_status. Он у нас работает в >> отдельном server {}; проксируемые домены - каждый в своем server {};. >> Если я правильно понял то stub_status собирает для всего http {}; а >> нужно для server-ов собирать. Что можете подсказать? >> >> P.S Не обязательно через stub_status собирать, можно и другие варианты. >> У нас просто сейчас так, потом в rrd базу запихиваем и получается почти >> удобно. > http://nginx.org/ru/docs/http/ngx_http_log_module.html > > -- > Валентин Бартенев > http://nginx.org/en/donation.html > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Хм, можно и так но не идеально. Когда идет флуд то логи только ухудшают ситуацию, обычно все выключаем. -- С уважением, Валентин Росавицкий From norguhtar at gmail.com Sat Jun 15 15:44:10 2013 From: norguhtar at gmail.com (Anatoly Shipitsin) Date: Sat, 15 Jun 2013 21:44:10 +0600 Subject: =?UTF-8?B?UmU6IE5HSU5YIC0g0YHQvtCx0YDQsNGC0Ywg0YHRgtCw0YLQuNGB0YLQuNC60YMg?= =?UTF-8?B?0L/QviDQutCw0LbQtNC+0LzRgyDQtNC+0LzQtdC90YMvc2VydmVyLXk=?= In-Reply-To: <51BC85E1.4020105@tangramltd.com> References: <51BC3909.5080208@tangramltd.com> <201306151824.37527.vbart@nginx.com> <51BC85E1.4020105@tangramltd.com> Message-ID: Отправляйте логи по udp на внешнюю машину. Дальше как вы их обработаете сугубо ваши проблемы. Модули есть в наличии. 2013/6/15 Валентин Росавицкий > 15.06.2013 17:24, Валентин Бартенев пишет: > > On Saturday 15 June 2013 13:51:05 Валентин Росавицкий wrote: >> >>> Здравствуйте. >>> Имеется такой себе кластер который фильтрует 'плохой' трафик. >>> Фронтэндом стоит nginx который после всех проверок (кука и >>> iptables-правила) проксирует 'чистый' трафик на бэкенды. Стоит задача >>> как бы его правильно/просто собирать статистику по каждому проксируемому >>> домену, например active connections с stub_status. Он у нас работает в >>> отдельном server {}; проксируемые домены - каждый в своем server {};. >>> Если я правильно понял то stub_status собирает для всего http {}; а >>> нужно для server-ов собирать. Что можете подсказать? >>> >>> P.S Не обязательно через stub_status собирать, можно и другие варианты. >>> У нас просто сейчас так, потом в rrd базу запихиваем и получается почти >>> удобно. >>> >> http://nginx.org/ru/docs/http/**ngx_http_log_module.html >> >> -- >> Валентин Бартенев >> http://nginx.org/en/donation.**html >> ______________________________**_________________ >> nginx-ru mailing list >> nginx-ru at nginx.org >> http://mailman.nginx.org/**mailman/listinfo/nginx-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 valintinr at tangramltd.com Sat Jun 15 17:08:31 2013 From: valintinr at tangramltd.com (=?KOI8-R?Q?=F7=C1=CC=C5=CE=D4=C9=CE_=F2=CF=D3=C1=D7=C9=C3=CB=C9=CA?=) Date: Sat, 15 Jun 2013 20:08:31 +0300 Subject: =?UTF-8?B?UmU6IE5HSU5YIC0g0YHQvtCx0YDQsNGC0Ywg0YHRgtCw0YLQuNGB0YLQuNC60YMg?= =?UTF-8?B?0L/QviDQutCw0LbQtNC+0LzRgyDQtNC+0LzQtdC90YMvc2VydmVyLXk=?= In-Reply-To: References: <51BC3909.5080208@tangramltd.com> <201306151824.37527.vbart@nginx.com> <51BC85E1.4020105@tangramltd.com> Message-ID: <51BC9F8F.9070508@tangramltd.com> 15.06.2013 18:44, Anatoly Shipitsin пишет: > Отправляйте логи по udp на внешнюю машину. Дальше как вы их > обработаете сугубо ваши проблемы. Модули есть в наличии. > > > 2013/6/15 Валентин Росавицкий > > > 15.06.2013 17:24, Валентин Бартенев пишет: > > On Saturday 15 June 2013 13:51:05 Валентин Росавицкий wrote: > > Здравствуйте. > Имеется такой себе кластер который фильтрует 'плохой' трафик. > Фронтэндом стоит nginx который после всех проверок (кука и > iptables-правила) проксирует 'чистый' трафик на бэкенды. > Стоит задача > как бы его правильно/просто собирать статистику по каждому > проксируемому > домену, например active connections с stub_status. Он у > нас работает в > отдельном server {}; проксируемые домены - каждый в своем > server {};. > Если я правильно понял то stub_status собирает для всего > http {}; а > нужно для server-ов собирать. Что можете подсказать? > > P.S Не обязательно через stub_status собирать, можно и > другие варианты. > У нас просто сейчас так, потом в rrd базу запихиваем и > получается почти > удобно. > > http://nginx.org/ru/docs/http/ngx_http_log_module.html > > -- > Валентин Бартенев > http://nginx.org/en/donation.html > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > Хм, можно и так но не идеально. Когда идет флуд то логи только > ухудшают ситуацию, обычно все выключаем. > > > -- > С уважением, > Валентин Росавицкий > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru На сервера открыто только tcp 80,443, 1100 (ssh), все остальное зарезано на аплинке. Есть ли другие идеи или только логи? -- С уважением, Валентин Росавицкий -------------- next part -------------- An HTML attachment was scrubbed... URL: From motienko at gmail.com Sun Jun 16 02:54:25 2013 From: motienko at gmail.com (Oleg Motienko) Date: Sun, 16 Jun 2013 06:54:25 +0400 Subject: =?UTF-8?B?UmU6INGP0L3QtNC10LrRgS3Qv9GA0L7QutGB0Lg=?= In-Reply-To: References: <133168612.20121116215051@softsearch.ru> <1985791021.20121117010135@mtu-net.ru> Message-ID: Может кому интересно, после включения IPv6 у нас opera turbo и yandex turbo стали приходить по v6, но в X-Forwarded-For стоят адреса v4. 2013/5/10 Oleg Motienko : > у яндекса добавились адреса из подсети > 141.8.189.0/24 > > > 2013/4/11 Oleg Motienko >> >> У нас для этого дела DNAT поднят по списку подсетей на отдельный порт >> и дальше уже конфиг примерно такой >> >> #yandex turbo >> set_real_ip_from 5.45.192.0/24; >> >> # Opera Turbo proxies >> set_real_ip_from 91.203.96.0/24; >> set_real_ip_from 94.246.126.0/23; >> set_real_ip_from 195.189.142.0/23; >> # other turbo >> set_real_ip_from 64.255.180.0/24; >> set_real_ip_from 80.239.242.0/23; >> set_real_ip_from 80.232.117.0/24; >> set_real_ip_from 59.151.106.240/28; >> >> real_ip_header X-Forwarded-For; >> >> >> >> 2012/11/17 Andrey Repin : >> > Здравствуйте, Уважаемый(-ая, -ое) Aleksandr Sytar! >> > >> >>> Похоже, что у яндекса по аналогии с Оперой появились прокси-сервера >> >>> для своего браузера. Никто не знает ip-шки этих проксей и заголовки, >> >>> где реальный ip передаётся? >> > >> > >> > AS> На презенации они рассказывали что используют технологию Opera Turbo - >> > AS> соотвественно и их же сервера >> > >> > Используют технологию =/= используют сервера. >> > Опера как раз зарабатывает на продаже этих сервисов. >> > >> > >> > -- >> > С уважением >> > >> > Andrey Repin (hell-for-yahoo at umail.ru) суббота, 17.11.2012, <01:00> >> > _______________________________________________ >> > nginx-ru mailing list >> > nginx-ru at nginx.org >> > http://mailman.nginx.org/mailman/listinfo/nginx-ru >> >> >> >> -- >> Regards, >> Oleg > > > > > -- > Regards, > Oleg -- Regards, Oleg From motienko at gmail.com Sun Jun 16 04:18:03 2013 From: motienko at gmail.com (Oleg Motienko) Date: Sun, 16 Jun 2013 08:18:03 +0400 Subject: =?UTF-8?Q?Re=3A_Gzip_=D0=B8_ETag?= In-Reply-To: References: <9A4028A1-F7F5-452A-AE20-1F87B217829B@sonru.com> <20130507232304.GR69760@mdounin.ru> <2F125AEF-2B48-4BF2-A05C-2F5FC1D37B59@sonru.com> <20130508093422.GV69760@mdounin.ru> Message-ID: http://nginx.org/en/docs/http/ngx_http_gzip_static_module.html не спасёт ситуацию? 2013/5/8 Daniel Podolsky : > Ну вот у меня файловое хранилище отдает ETag, и это sha1 несжатого > контента. Хотелось бы жать всякие js-css, и при этом оставить себе > возможность отвечать 304. From motienko at gmail.com Sun Jun 16 04:38:01 2013 From: motienko at gmail.com (Oleg Motienko) Date: Sun, 16 Jun 2013 08:38:01 +0400 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0YEgY2hyb290INCyINGB0LLRj9C30LrQtSBO?= =?UTF-8?B?Z2lueCArIFBIUC1GUE0=?= In-Reply-To: References: <51AABD64.9050105@mva.name> Message-ID: Попробуйте LXC, залейте минимальный образ системы, поставьте php и поднимите сеть между хостом и контейнером. И, кстати, в разных контейнерах можно запускать разные дистрибутивы одновременно. 2013/6/4 Sferg : > mva, разобрался я с выводом пустой страницы в phpBB3. Нужно было лишь > создать директорию /home/kursk.dyndns.org/usr/share (в chroot'е - > /usr/share) и скопировать в неё содержимое /usr/share/zoneinfo: > > mkdir -p usr/share > cp -R /usr/share/zoneinfo usr/share > > И всё-таки, как-то всё слишком заморочено с этим chroot... %) Как-то > несерьёзно это. > >> уже давно существует мнение, что PHP'шный chroot это то, как безопасность > НЕ НУЖНО организовывать. > Да, об этом где-то пару раз упоминали, встречал. Но, в таком случае, чем > можно воспользоваться вместо chroot'а в Debian Wheezy? > > С уважением, Геннадий. > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,239746,239824#msg-239824 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Regards, Oleg From motienko at gmail.com Sun Jun 16 06:07:16 2013 From: motienko at gmail.com (Oleg Motienko) Date: Sun, 16 Jun 2013 10:07:16 +0400 Subject: =?UTF-8?B?UmU6IFJFOiDRgNCw0LfQvdGL0LUgcm9ib3RzLnR4dCDQtNC70Y8g0LTQstGD0YUg?= =?UTF-8?B?0LTQvtC80LXQvdC+0LI=?= In-Reply-To: <0da6e9706a026d04c1ab254d2bd6fff7.NginxMailingListRussian@forum.nginx.org> References: <006d01ce418d$558bc2e0$00a348a0$@gmail.com> <0da6e9706a026d04c1ab254d2bd6fff7.NginxMailingListRussian@forum.nginx.org> Message-ID: сделайте map и по нему выставляйте переменную для rewrite. 2013/4/25 shambler81 : > ну тут трудность все саты ходят через default конфиг + к этому конфигов штук > по 5 на каждый сайт поскольку Диниска из 1с-битрикса раскидал в своей > виртуальной машине все по разным файлам, конечно я могу указать server { > и в нем создать даный локейшен но при этом собственно и весь сайт > перестанет работать ;( а отдаваться будет толко файл. > В идиале было бы проще сделать конструкцию из " если урл содержит > site.ru/robots.txt то /var/www/robots/site.txt > site2.ru/robots.txt то /var/www/robots/site2.txt From norguhtar at gmail.com Sun Jun 16 08:55:29 2013 From: norguhtar at gmail.com (Anatoly Shipitsin) Date: Sun, 16 Jun 2013 14:55:29 +0600 Subject: =?UTF-8?B?UmU6IE5HSU5YIC0g0YHQvtCx0YDQsNGC0Ywg0YHRgtCw0YLQuNGB0YLQuNC60YMg?= =?UTF-8?B?0L/QviDQutCw0LbQtNC+0LzRgyDQtNC+0LzQtdC90YMvc2VydmVyLXk=?= In-Reply-To: <51BC9F8F.9070508@tangramltd.com> References: <51BC3909.5080208@tangramltd.com> <201306151824.37527.vbart@nginx.com> <51BC85E1.4020105@tangramltd.com> <51BC9F8F.9070508@tangramltd.com> Message-ID: Что тогда мешает обрабатывать udp локально? 2013/6/15 Валентин Росавицкий > 15.06.2013 18:44, Anatoly Shipitsin пишет: > > Отправляйте логи по udp на внешнюю машину. Дальше как вы их обработаете > сугубо ваши проблемы. Модули есть в наличии. > > > 2013/6/15 Валентин Росавицкий > >> 15.06.2013 17:24, Валентин Бартенев пишет: >> >> On Saturday 15 June 2013 13:51:05 Валентин Росавицкий wrote: >>> >>>> Здравствуйте. >>>> Имеется такой себе кластер который фильтрует 'плохой' трафик. >>>> Фронтэндом стоит nginx который после всех проверок (кука и >>>> iptables-правила) проксирует 'чистый' трафик на бэкенды. Стоит задача >>>> как бы его правильно/просто собирать статистику по каждому проксируемому >>>> домену, например active connections с stub_status. Он у нас работает в >>>> отдельном server {}; проксируемые домены - каждый в своем server {};. >>>> Если я правильно понял то stub_status собирает для всего http {}; а >>>> нужно для server-ов собирать. Что можете подсказать? >>>> >>>> P.S Не обязательно через stub_status собирать, можно и другие варианты. >>>> У нас просто сейчас так, потом в rrd базу запихиваем и получается почти >>>> удобно. >>>> >>> http://nginx.org/ru/docs/http/ngx_http_log_module.html >>> >>> -- >>> Валентин Бартенев >>> http://nginx.org/en/donation.html >>> _______________________________________________ >>> nginx-ru mailing list >>> nginx-ru at nginx.org >>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >>> >> Хм, можно и так но не идеально. Когда идет флуд то логи только ухудшают >> ситуацию, обычно все выключаем. >> >> >> -- >> С уважением, >> Валентин Росавицкий >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru at nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> > > > > _______________________________________________ > nginx-ru mailing listnginx-ru at nginx.orghttp://mailman.nginx.org/mailman/listinfo/nginx-ru > > На сервера открыто только tcp 80,443, 1100 (ssh), все остальное зарезано > на аплинке. Есть ли другие идеи или только логи? > > > -- > С уважением, > Валентин Росавицкий > > > _______________________________________________ > 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 denis.kot at gmail.com Mon Jun 17 12:04:13 2013 From: denis.kot at gmail.com (Denis Kot) Date: Mon, 17 Jun 2013 15:04:13 +0300 Subject: =?UTF-8?B?0KPRgdGC0LDQvdC+0LLQutCwIGNvb2tpZXMg0L3QsCDRgdGC0L7RgNC+0L3QtSBu?= =?UTF-8?B?Z2lueCDQsiDQt9Cw0LLQuNGB0LjQvNC+0YHRgtC4INC+0YIgYmFja2VuZA==?= Message-ID: Добрый день У AWS ELB есть такая фича, когда сам ELB генерит куки в зависимости от того, от которого backend пришел ответ и клиент используя эту куку всегда лезет на один и тот же сервер. Но у ELB так же есть неприятная фича (или баг), когда клиент с одного IP всегда отправляется на тот же самый backend. У нас же задача, когда 1 сервер приложение отправляет REST запросы к ELB и ELB балансирует между 2мя бекендами. Бекенды принадлежат не нам и научить их генерить куки не представляется возможным. Умеет ли nginx то, что умеет ELB, а именно генерить куки? Судя по всему ELB построен на nginx, но я не нашел подобного поведения в nginx. Denis Kot -------------- next part -------------- An HTML attachment was scrubbed... URL: From anuryadov at gmail.com Mon Jun 17 12:09:19 2013 From: anuryadov at gmail.com (=?KOI8-R?B?4c7E0sXKIPXS0cTP1w==?=) Date: Mon, 17 Jun 2013 16:09:19 +0400 Subject: =?UTF-8?B?dXBzdHJlYW0gbWF4X2ZhaWxzINC4INGD0L/QsNCy0YjQuNC1INGB0LXRgNCy0LU=?= =?UTF-8?B?0YDQsA==?= Message-ID: Всем привет. Столкнулся с интересным поведением директивы max_fails в upstream. Версия nginx 1.2.6. Опишу ситуацию. 1. Nginx работает на сервере some_host1. Кусок конфига: upstream fpm { server :9000 weight=6; server:9000 weight=4; } 2. В какой-то момент some_host2 зависает (на уровне ОС), т.е. не отвечает на запросы. 3. В логах появляются строки "connect() failed (110: Connection timed out) while connecting to upstream". Причем, я считал, что т.к. max_fails не указан, он равен 1, и, стало быть, таких строчек не должно быть, т.к. nginx должен перекидывать всех на первый сервер. 4. some_host2 перестартует. На нем запускается fpm. 5. Но почему-то строки из лога не пропадают и клиентам отдаются ошибки. 6. Если перестартовать nginx, то он подцепит оба сервера, и все продолжится в штатном режиме. Вопросы: 1. Почему после первого неудачного раза сервер не отрубается? Ведь max_fails равно 1. 2. Почему после рестарта сервера nginx его не видит? Он же продолжает его дергать, и мог бы понять, что сервер восстановился. Или, может, это нужно реализовывать другими способами? Переменные там другие выставлять или еще что? -------------- next part -------------- An HTML attachment was scrubbed... URL: From chipitsine at gmail.com Mon Jun 17 12:44:30 2013 From: chipitsine at gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Mon, 17 Jun 2013 18:44:30 +0600 Subject: =?UTF-8?B?UmU6IE5HSU5YIC0g0YHQvtCx0YDQsNGC0Ywg0YHRgtCw0YLQuNGB0YLQuNC60YMg?= =?UTF-8?B?0L/QviDQutCw0LbQtNC+0LzRgyDQtNC+0LzQtdC90YMvc2VydmVyLXk=?= In-Reply-To: <51BC3909.5080208@tangramltd.com> References: <51BC3909.5080208@tangramltd.com> Message-ID: можно как-то так делать (держим в разделяемой памяти счетчики, которые увеличиваем при обращении, снимаем счетчики через http) ..... ######################### lua_shared_dict focus 10M; server { listen 1.1.1.1:80; server_name a.b.c; location / { proxy_pass http://cleared.backend; log_by_lua ' local newval, err = ngx.shared.focus:incr(ngx.var.upstream_addr, 1) if not newval and err == "not found" then ngx.shared.focus:add(ngx.var.upstream_addr, 1) end '; } location /status { content_by_lua ' ngx.say("clear: ", ngx.shared.focus:get("192.168.1.1:80") ) '; } } 15 июня 2013 г., 15:51 пользователь Валентин Росавицкий написал: > Здравствуйте. > Имеется такой себе кластер который фильтрует 'плохой' трафик. Фронтэндом > стоит nginx который после всех проверок (кука и iptables-правила) проксирует > 'чистый' трафик на бэкенды. Стоит задача как бы его правильно/просто > собирать статистику по каждому проксируемому домену, например active > connections с stub_status. Он у нас работает в отдельном server {}; > проксируемые домены - каждый в своем server {};. Если я правильно понял то > stub_status собирает для всего http {}; а нужно для server-ов собирать. Что > можете подсказать? > > P.S Не обязательно через stub_status собирать, можно и другие варианты. У > нас просто сейчас так, потом в rrd базу запихиваем и получается почти > удобно. > > -- > С уважением, > Валентин Росавицкий > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From valintinr at tangramltd.com Mon Jun 17 13:00:05 2013 From: valintinr at tangramltd.com (=?KOI8-R?Q?=F7=C1=CC=C5=CE=D4=C9=CE_=F2=CF=D3=C1=D7=C9=C3=CB=C9=CA?=) Date: Mon, 17 Jun 2013 16:00:05 +0300 Subject: =?UTF-8?B?UmU6IE5HSU5YIC0g0YHQvtCx0YDQsNGC0Ywg0YHRgtCw0YLQuNGB0YLQuNC60YMg?= =?UTF-8?B?0L/QviDQutCw0LbQtNC+0LzRgyDQtNC+0LzQtdC90YMvc2VydmVyLXk=?= In-Reply-To: References: <51BC3909.5080208@tangramltd.com> Message-ID: <51BF0855.4090902@tangramltd.com> 17.06.2013 15:44, Илья Шипицин пишет: > можно как-то так делать (держим в разделяемой памяти счетчики, которые > увеличиваем при обращении, снимаем счетчики через http) ..... > > > ######################### > lua_shared_dict focus 10M; > server { > listen 1.1.1.1:80; > server_name a.b.c; > > location / { > proxy_pass http://cleared.backend; > > log_by_lua ' > local newval, err = > ngx.shared.focus:incr(ngx.var.upstream_addr, 1) > if not newval and err == "not found" then > ngx.shared.focus:add(ngx.var.upstream_addr, 1) > end > '; > > } > > location /status { > content_by_lua ' > ngx.say("clear: ", ngx.shared.focus:get("192.168.1.1:80") ) > '; > > } > > > } > > 15 июня 2013 г., 15:51 пользователь Валентин Росавицкий > написал: >> Здравствуйте. >> Имеется такой себе кластер который фильтрует 'плохой' трафик. Фронтэндом >> стоит nginx который после всех проверок (кука и iptables-правила) проксирует >> 'чистый' трафик на бэкенды. Стоит задача как бы его правильно/просто >> собирать статистику по каждому проксируемому домену, например active >> connections с stub_status. Он у нас работает в отдельном server {}; >> проксируемые домены - каждый в своем server {};. Если я правильно понял то >> stub_status собирает для всего http {}; а нужно для server-ов собирать. Что >> можете подсказать? >> >> P.S Не обязательно через stub_status собирать, можно и другие варианты. У >> нас просто сейчас так, потом в rrd базу запихиваем и получается почти >> удобно. >> >> -- >> С уважением, >> Валентин Росавицкий >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru at nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Вот, это уже ближе. Спасибо, завтра проверим. -- С уважением, Валентин Росавицкий From vbart at nginx.com Mon Jun 17 13:06:42 2013 From: vbart at nginx.com (=?utf-8?b?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Mon, 17 Jun 2013 17:06:42 +0400 Subject: =?UTF-8?B?UmU6INCj0YHRgtCw0L3QvtCy0LrQsCBjb29raWVzINC90LAg0YHRgtC+0YDQvtC9?= =?UTF-8?B?0LUgbmdpbngg0LIg0LfQsNCy0LjRgdC40LzQvtGB0YLQuCDQvtGCIGJhY2tl?= =?UTF-8?B?bmQ=?= In-Reply-To: References: Message-ID: <201306171706.42778.vbart@nginx.com> On Monday 17 June 2013 16:04:13 Denis Kot wrote: > Добрый день > > У AWS ELB есть такая фича, когда сам ELB генерит куки в зависимости от > того, от которого backend пришел ответ и клиент используя эту куку всегда > лезет на один и тот же сервер. > Но у ELB так же есть неприятная фича (или баг), когда клиент с одного IP > всегда отправляется на тот же самый backend. > У нас же задача, когда 1 сервер приложение отправляет REST запросы к ELB и > ELB балансирует между 2мя бекендами. Бекенды принадлежат не нам и научить > их генерить куки не представляется возможным. > > Умеет ли nginx то, что умеет ELB, а именно генерить куки? Судя по всему ELB > построен на nginx, но я не нашел подобного поведения в nginx. > Умеет nginx se: http://nginx.com/products.html Есть предложение специально для AWS-а: https://aws.amazon.com/marketplace/pp/B00A04GAG4/ -- Валентин Бартенев http://nginx.org/en/donation.html From denis at webmaster.spb.ru Mon Jun 17 13:44:38 2013 From: denis at webmaster.spb.ru (denis) Date: Mon, 17 Jun 2013 17:44:38 +0400 Subject: =?UTF-8?B?UmU6IE5HSU5YIC0g0YHQvtCx0YDQsNGC0Ywg0YHRgtCw0YLQuNGB0YLQuNC60YMg?= =?UTF-8?B?0L/QviDQutCw0LbQtNC+0LzRgyDQtNC+0LzQtdC90YMvc2VydmVyLXk=?= In-Reply-To: <51BC3909.5080208@tangramltd.com> References: <51BC3909.5080208@tangramltd.com> Message-ID: <51BF12C6.1000604@webmaster.spb.ru> 15.06.2013 13:51, Валентин Росавицкий пишет: > P.S Не обязательно через stub_status собирать, можно и другие > варианты. У нас просто сейчас так, потом в rrd базу запихиваем и > получается почти удобно. > у fastvps на их гитхабе был модифицированный stub, который более подробно по доменам считает. Правда, там под дебиан-версию был патч, то есть 0.7, но можно его тоже допилить до свежей версии. From mdounin at mdounin.ru Mon Jun 17 13:53:59 2013 From: mdounin at mdounin.ru (Maxim Dounin) Date: Mon, 17 Jun 2013 17:53:59 +0400 Subject: =?UTF-8?B?UmU6IHVwc3RyZWFtIG1heF9mYWlscyDQuCDRg9C/0LDQstGI0LjQtSDRgdC10YA=?= =?UTF-8?B?0LLQtdGA0LA=?= In-Reply-To: References: Message-ID: <20130617135359.GD72282@mdounin.ru> Hello! On Mon, Jun 17, 2013 at 04:09:19PM +0400, Андрей Урядов wrote: > Всем привет. > > Столкнулся с интересным поведением директивы max_fails в upstream. > Версия nginx 1.2.6. > Опишу ситуацию. > > 1. Nginx работает на сервере some_host1. Кусок конфига: > upstream fpm { > server :9000 weight=6; > server:9000 weight=4; > } > 2. В какой-то момент some_host2 зависает (на уровне ОС), т.е. не отвечает > на запросы. > 3. В логах появляются строки "connect() failed (110: Connection timed out) > while connecting to upstream". Причем, я считал, что т.к. max_fails не > указан, он равен 1, и, стало быть, таких строчек не должно быть, т.к. nginx > должен перекидывать всех на первый сервер. > 4. some_host2 перестартует. На нем запускается fpm. > 5. Но почему-то строки из лога не пропадают и клиентам отдаются ошибки. > 6. Если перестартовать nginx, то он подцепит оба сервера, и все продолжится > в штатном режиме. > > > Вопросы: > 1. Почему после первого неудачного раза сервер не отрубается? Ведь > max_fails равно 1. После того, как случилась ошибка - nginx будет посылать запросы на "плохой" сервер раз в fail_timeout секунд (нюанс: из каждого рабочего процесса). Если он успешно ответит на запрос - то будет вновь включён в работу. > 2. Почему после рестарта сервера nginx его не видит? Он же продолжает его > дергать, и мог бы понять, что сервер восстановился. Если продолжают происходить ошибки - значит, он как-то странно восстановился. Возможно, у него в процессе поменялся ip-адрес? Это бы объяснило, почему после рестарта nginx его "увидел". -- Maxim Dounin http://nginx.org/en/donation.html From anuryadov at gmail.com Mon Jun 17 13:56:15 2013 From: anuryadov at gmail.com (=?KOI8-R?B?4c7E0sXKIPXS0cTP1w==?=) Date: Mon, 17 Jun 2013 17:56:15 +0400 Subject: =?UTF-8?B?UmU6IHVwc3RyZWFtIG1heF9mYWlscyDQuCDRg9C/0LDQstGI0LjQtSDRgdC10YA=?= =?UTF-8?B?0LLQtdGA0LA=?= In-Reply-To: <20130617135359.GD72282@mdounin.ru> References: <20130617135359.GD72282@mdounin.ru> Message-ID: Да 17 июня 2013 г., 17:53 пользователь Maxim Dounin написал: > Hello! > > On Mon, Jun 17, 2013 at 04:09:19PM +0400, Андрей Урядов wrote: > > > Всем привет. > > > > Столкнулся с интересным поведением директивы max_fails в upstream. > > Версия nginx 1.2.6. > > Опишу ситуацию. > > > > 1. Nginx работает на сервере some_host1. Кусок конфига: > > upstream fpm { > > server :9000 weight=6; > > server:9000 weight=4; > > } > > 2. В какой-то момент some_host2 зависает (на уровне ОС), т.е. не отвечает > > на запросы. > > 3. В логах появляются строки "connect() failed (110: Connection timed > out) > > while connecting to upstream". Причем, я считал, что т.к. max_fails не > > указан, он равен 1, и, стало быть, таких строчек не должно быть, т.к. > nginx > > должен перекидывать всех на первый сервер. > > 4. some_host2 перестартует. На нем запускается fpm. > > 5. Но почему-то строки из лога не пропадают и клиентам отдаются ошибки. > > 6. Если перестартовать nginx, то он подцепит оба сервера, и все > продолжится > > в штатном режиме. > > > > > > Вопросы: > > 1. Почему после первого неудачного раза сервер не отрубается? Ведь > > max_fails равно 1. > > После того, как случилась ошибка - nginx будет посылать запросы на > "плохой" сервер раз в fail_timeout секунд (нюанс: из каждого > рабочего процесса). Если он успешно ответит на запрос - то будет > вновь включён в работу. > > > 2. Почему после рестарта сервера nginx его не видит? Он же продолжает его > > дергать, и мог бы понять, что сервер восстановился. > > Если продолжают происходить ошибки - значит, он как-то странно > восстановился. Возможно, у него в процессе поменялся ip-адрес? > Это бы объяснило, почему после рестарта nginx его "увидел". > > -- > Maxim Dounin > http://nginx.org/en/donation.html > > _______________________________________________ > 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 anuryadov at gmail.com Mon Jun 17 13:59:15 2013 From: anuryadov at gmail.com (=?KOI8-R?B?4c7E0sXKIPXS0cTP1w==?=) Date: Mon, 17 Jun 2013 17:59:15 +0400 Subject: =?UTF-8?B?UmU6IHVwc3RyZWFtIG1heF9mYWlscyDQuCDRg9C/0LDQstGI0LjQtSDRgdC10YA=?= =?UTF-8?B?0LLQtdGA0LA=?= In-Reply-To: References: <20130617135359.GD72282@mdounin.ru> Message-ID: >>Если продолжают происходить ошибки - значит, он как-то странно восстановился. Возможно, у него в процессе поменялся ip-адрес? >>Это бы объяснило, почему после рестарта nginx его "увидел". Дело в том, что эти 2 сервера - aws-инстансы. Внешний ip-адрес у них постоянный, а вот внутренний - может меняться. Т.к. у меня идет привязка к внутренней aws-dns-службе. Так что вариант, что во внутренней сети и них разные ip, вполне имеет почву. А, если это так, можно ли что-то сделать на стороне nginx? Я же их прописываю в конфиге по dns-адресам, а не ip. Или nginx внутри себя все равно хранит представление в ip-адресе? 17 июня 2013 г., 17:56 пользователь Андрей Урядов написал: > Да > > > 17 июня 2013 г., 17:53 пользователь Maxim Dounin написал: > > Hello! >> >> On Mon, Jun 17, 2013 at 04:09:19PM +0400, Андрей Урядов wrote: >> >> > Всем привет. >> > >> > Столкнулся с интересным поведением директивы max_fails в upstream. >> > Версия nginx 1.2.6. >> > Опишу ситуацию. >> > >> > 1. Nginx работает на сервере some_host1. Кусок конфига: >> > upstream fpm { >> > server :9000 weight=6; >> > server:9000 weight=4; >> > } >> > 2. В какой-то момент some_host2 зависает (на уровне ОС), т.е. не >> отвечает >> > на запросы. >> > 3. В логах появляются строки "connect() failed (110: Connection timed >> out) >> > while connecting to upstream". Причем, я считал, что т.к. max_fails не >> > указан, он равен 1, и, стало быть, таких строчек не должно быть, т.к. >> nginx >> > должен перекидывать всех на первый сервер. >> > 4. some_host2 перестартует. На нем запускается fpm. >> > 5. Но почему-то строки из лога не пропадают и клиентам отдаются ошибки. >> > 6. Если перестартовать nginx, то он подцепит оба сервера, и все >> продолжится >> > в штатном режиме. >> > >> > >> > Вопросы: >> > 1. Почему после первого неудачного раза сервер не отрубается? Ведь >> > max_fails равно 1. >> >> После того, как случилась ошибка - nginx будет посылать запросы на >> "плохой" сервер раз в fail_timeout секунд (нюанс: из каждого >> рабочего процесса). Если он успешно ответит на запрос - то будет >> вновь включён в работу. >> >> > 2. Почему после рестарта сервера nginx его не видит? Он же продолжает >> его >> > дергать, и мог бы понять, что сервер восстановился. >> >> Если продолжают происходить ошибки - значит, он как-то странно >> восстановился. Возможно, у него в процессе поменялся ip-адрес? >> Это бы объяснило, почему после рестарта nginx его "увидел". >> >> -- >> Maxim Dounin >> http://nginx.org/en/donation.html >> >> _______________________________________________ >> 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 mdounin at mdounin.ru Mon Jun 17 14:19:45 2013 From: mdounin at mdounin.ru (Maxim Dounin) Date: Mon, 17 Jun 2013 18:19:45 +0400 Subject: =?UTF-8?B?UmU6IHVwc3RyZWFtIG1heF9mYWlscyDQuCDRg9C/0LDQstGI0LjQtSDRgdC10YA=?= =?UTF-8?B?0LLQtdGA0LA=?= In-Reply-To: References: <20130617135359.GD72282@mdounin.ru> Message-ID: <20130617141944.GE72282@mdounin.ru> Hello! On Mon, Jun 17, 2013 at 05:59:15PM +0400, Андрей Урядов wrote: > >>Если продолжают происходить ошибки - значит, он как-то странно > восстановился. Возможно, у него в процессе поменялся ip-адрес? > >>Это бы объяснило, почему после рестарта nginx его "увидел". > Дело в том, что эти 2 сервера - aws-инстансы. Внешний ip-адрес у них > постоянный, а вот внутренний - может меняться. Т.к. у меня идет привязка к > внутренней aws-dns-службе. Так что вариант, что во внутренней сети и них > разные ip, вполне имеет почву. > А, если это так, можно ли что-то сделать на стороне nginx? Я же их > прописываю в конфиге по dns-адресам, а не ip. Или nginx внутри себя все > равно хранит представление в ip-адресе? Имена превращаются в IP-адреса при чтении конфигурации. Если IP-адреса меняются - нужно пнуть nginx, чтобы он перечитал конфигурацию. -- Maxim Dounin http://nginx.org/en/donation.html From anuryadov at gmail.com Mon Jun 17 14:32:29 2013 From: anuryadov at gmail.com (=?KOI8-R?B?4c7E0sXKIPXS0cTP1w==?=) Date: Mon, 17 Jun 2013 18:32:29 +0400 Subject: =?UTF-8?B?UmU6IHVwc3RyZWFtIG1heF9mYWlscyDQuCDRg9C/0LDQstGI0LjQtSDRgdC10YA=?= =?UTF-8?B?0LLQtdGA0LA=?= In-Reply-To: <20130617141944.GE72282@mdounin.ru> References: <20130617135359.GD72282@mdounin.ru> <20130617141944.GE72282@mdounin.ru> Message-ID: Понятно, спасибо. Видимо, самым дешевым вариантом будет прописывание в cron перечитывания конфигурации каждый час + ручное перечитывание каждый раз после сбоя. Тогда, даже если забыть руками перечитать конфигурацию, через час она перечитается. Я так понимаю, это дешевая операция? 17 июня 2013 г., 18:19 пользователь Maxim Dounin написал: > Hello! > > On Mon, Jun 17, 2013 at 05:59:15PM +0400, Андрей Урядов wrote: > > > >>Если продолжают происходить ошибки - значит, он как-то странно > > восстановился. Возможно, у него в процессе поменялся ip-адрес? > > >>Это бы объяснило, почему после рестарта nginx его "увидел". > > Дело в том, что эти 2 сервера - aws-инстансы. Внешний ip-адрес у них > > постоянный, а вот внутренний - может меняться. Т.к. у меня идет привязка > к > > внутренней aws-dns-службе. Так что вариант, что во внутренней сети и них > > разные ip, вполне имеет почву. > > А, если это так, можно ли что-то сделать на стороне nginx? Я же их > > прописываю в конфиге по dns-адресам, а не ip. Или nginx внутри себя все > > равно хранит представление в ip-адресе? > > Имена превращаются в IP-адреса при чтении конфигурации. Если > IP-адреса меняются - нужно пнуть nginx, чтобы он перечитал > конфигурацию. > > -- > Maxim Dounin > http://nginx.org/en/donation.html > > _______________________________________________ > 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 mdounin at mdounin.ru Mon Jun 17 14:46:11 2013 From: mdounin at mdounin.ru (Maxim Dounin) Date: Mon, 17 Jun 2013 18:46:11 +0400 Subject: =?UTF-8?B?UmU6IHVwc3RyZWFtIG1heF9mYWlscyDQuCDRg9C/0LDQstGI0LjQtSDRgdC10YA=?= =?UTF-8?B?0LLQtdGA0LA=?= In-Reply-To: References: <20130617135359.GD72282@mdounin.ru> <20130617141944.GE72282@mdounin.ru> Message-ID: <20130617144611.GF72282@mdounin.ru> Hello! On Mon, Jun 17, 2013 at 06:32:29PM +0400, Андрей Урядов wrote: > Понятно, спасибо. > Видимо, самым дешевым вариантом будет прописывание в cron перечитывания > конфигурации каждый час + ручное перечитывание каждый раз после сбоя. > Тогда, даже если забыть руками перечитать конфигурацию, через час она > перечитается. Я так понимаю, это дешевая операция? Это зависит от структуры нагрузки. Если есть длинные запросы - то старые рабочие процессы могут долго не завершаться. В общем случае - я бы скорее смотрел в сторону init-скриптов на бекендах, уведомляющих фронтенд, что ему надо перечитать конфигурацию. -- Maxim Dounin http://nginx.org/en/donation.html From chipitsine at gmail.com Tue Jun 18 15:02:01 2013 From: chipitsine at gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Tue, 18 Jun 2013 21:02:01 +0600 Subject: =?UTF-8?B?UmU6INCj0YHRgtCw0L3QvtCy0LrQsCBjb29raWVzINC90LAg0YHRgtC+0YDQvtC9?= =?UTF-8?B?0LUgbmdpbngg0LIg0LfQsNCy0LjRgdC40LzQvtGB0YLQuCDQvtGCIGJhY2tl?= =?UTF-8?B?bmQ=?= In-Reply-To: References: Message-ID: можете вот это попробовать http://code.google.com/p/nginx-sticky-module/ в принципе, работает стабильно, неприятный нюанс - при большом количестве бекендов нагружает процессор (в цикле пробегает по бекендам, считает от них хеш и сравнивает с тем, что в куке, бррр....) 17 июня 2013 г., 18:04 пользователь Denis Kot написал: > Добрый день > > У AWS ELB есть такая фича, когда сам ELB генерит куки в зависимости от того, > от которого backend пришел ответ и клиент используя эту куку всегда лезет на > один и тот же сервер. > Но у ELB так же есть неприятная фича (или баг), когда клиент с одного IP > всегда отправляется на тот же самый backend. > У нас же задача, когда 1 сервер приложение отправляет REST запросы к ELB и > ELB балансирует между 2мя бекендами. Бекенды принадлежат не нам и научить их > генерить куки не представляется возможным. > > Умеет ли nginx то, что умеет ELB, а именно генерить куки? Судя по всему ELB > построен на nginx, но я не нашел подобного поведения в nginx. > > Denis Kot > > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From nginx-forum at nginx.us Tue Jun 18 20:43:30 2013 From: nginx-forum at nginx.us (vlastv) Date: Tue, 18 Jun 2013 16:43:30 -0400 Subject: =?UTF-8?B?0JHQsNC70LDQvdGB0LjRgNC+0LLQutCwINC4INC00L7QutCw0YfQutCwINGE0LA=?= =?UTF-8?B?0LnQu9Cw?= Message-ID: <5e4b4c40302085667d1a0a05085df685.NginxMailingListRussian@forum.nginx.org> Возник теоретический вопрос. Есть структура, что nginx выступает в качестве балансировщика, и передает запросы на другие сервера. А теперь процесс: 1 запрос от клиента о начале передачи файла по частам, допустим nginx передал его на server1 2 запрос - продолжение передачи файла, я так понимаю, nginx может его передать на server2 Но server2 не имеет информации о предыдущем запросе, и просто не знает что с ним делать. Какими средствами можно обеспечить гарантированую отправку двух и более запросов от одного клиента на один сервер, допустим с задержкой в минут 10? Т.е. по истечению 10 минут, если от клиента не поступали запросы, то последующие его запросы можно вновь посылать на любой сервер. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,240198,240198#msg-240198 From voron at amhost.net Tue Jun 18 20:55:12 2013 From: voron at amhost.net (Alex Vorona) Date: Tue, 18 Jun 2013 22:55:12 +0200 Subject: =?UTF-8?B?UmU6INCj0YHRgtCw0L3QvtCy0LrQsCBjb29raWVzINC90LAg0YHRgtC+0YDQvtC9?= =?UTF-8?B?0LUgbmdpbngg0LIg0LfQsNCy0LjRgdC40LzQvtGB0YLQuCDQvtGCIGJhY2tl?= =?UTF-8?B?bmQ=?= In-Reply-To: <201306171706.42778.vbart@nginx.com> References: <201306171706.42778.vbart@nginx.com> Message-ID: <51C0C930.4060507@amhost.net> 17.06.2013 15:06, Валентин Бартенев wrote: > Умеет nginx se: http://nginx.com/products.html Где-то можно почитать о enhanced-фичах nginx se, помимо всплывающих окошек по ссылке? From nginx-forum at nginx.us Wed Jun 19 07:12:55 2013 From: nginx-forum at nginx.us (muhas) Date: Wed, 19 Jun 2013 03:12:55 -0400 Subject: =?UTF-8?B?0L7Qs9GA0LDQvdC40YfQtdC90LjQtSDRgdC60L7RgNC+0YHRgtC4?= Message-ID: limit_rate устанавливает ограничения только для конкретного пользователя. Есть ли возможность хоть как то ограничить общую скорость для всех пользователей на уровне location или server? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,240203,240203#msg-240203 From vladget at gmail.com Wed Jun 19 10:39:55 2013 From: vladget at gmail.com (Vladimir Getmanshchuk) Date: Wed, 19 Jun 2013 13:39:55 +0300 Subject: limit request and real ip Message-ID: Добрый день! 1. Допустим дано: http { ... set_real_ip_from 10.0.0.0/8; real_ip_header X-Forwarded-For; limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; ... } значит ли это что у меня в $binary_remote_addr будет реальный ip клиента? или все же ip будет из сети 10.0.0.0/8 ? 2. Если все же второе, то верно ли что мне следует описывать зону как описанно ниже? http { ... limit_req_zone $http_x_forwarded_for zone=one:10m rate=1r/s; ... } Спасибо! -- Yours sincerely, Vladimir Getmanshchuk -------------- next part -------------- An HTML attachment was scrubbed... URL: From mdounin at mdounin.ru Wed Jun 19 10:45:06 2013 From: mdounin at mdounin.ru (Maxim Dounin) Date: Wed, 19 Jun 2013 14:45:06 +0400 Subject: limit request and real ip In-Reply-To: References: Message-ID: <20130619104506.GB49779@mdounin.ru> Hello! On Wed, Jun 19, 2013 at 01:39:55PM +0300, Vladimir Getmanshchuk wrote: > Добрый день! > > 1. Допустим дано: > http { > ... > > set_real_ip_from 10.0.0.0/8; > real_ip_header X-Forwarded-For; > > limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; > ... > } > значит ли это что у меня в $binary_remote_addr будет реальный ip клиента? > или все же ip будет из сети 10.0.0.0/8 ? Реальный ip. -- Maxim Dounin http://nginx.org/en/donation.html From chipitsine at gmail.com Wed Jun 19 10:58:06 2013 From: chipitsine at gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Wed, 19 Jun 2013 16:58:06 +0600 Subject: =?UTF-8?B?UmU6INCR0LDQu9Cw0L3RgdC40YDQvtCy0LrQsCDQuCDQtNC+0LrQsNGH0LrQsCA=?= =?UTF-8?B?0YTQsNC50LvQsA==?= In-Reply-To: <5e4b4c40302085667d1a0a05085df685.NginxMailingListRussian@forum.nginx.org> References: <5e4b4c40302085667d1a0a05085df685.NginxMailingListRussian@forum.nginx.org> Message-ID: расскажите в деталях, как именно у вас работает передача файла по частям ? 19 июня 2013 г., 2:43 пользователь vlastv написал: > Возник теоретический вопрос. > Есть структура, что nginx выступает в качестве балансировщика, и передает > запросы на другие сервера. > А теперь процесс: > 1 запрос от клиента о начале передачи файла по частам, допустим nginx > передал его на server1 > 2 запрос - продолжение передачи файла, я так понимаю, nginx может его > передать на server2 > > Но server2 не имеет информации о предыдущем запросе, и просто не знает что с > ним делать. > > Какими средствами можно обеспечить гарантированую отправку двух и более > запросов от одного клиента на один сервер, допустим с задержкой в минут 10? > Т.е. по истечению 10 минут, если от клиента не поступали запросы, то > последующие его запросы можно вновь посылать на любой сервер. > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,240198,240198#msg-240198 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From nginx-forum at nginx.us Wed Jun 19 14:04:15 2013 From: nginx-forum at nginx.us (vlastv) Date: Wed, 19 Jun 2013 10:04:15 -0400 Subject: =?UTF-8?B?UmU6INCR0LDQu9Cw0L3RgdC40YDQvtCy0LrQsCDQuCDQtNC+0LrQsNGH0LrQsCA=?= =?UTF-8?B?0YTQsNC50LvQsA==?= In-Reply-To: References: Message-ID: <7d34f5101b9d02ddd1a6a42c2763ad81.NginxMailingListRussian@forum.nginx.org> nginx upload module Posted at Nginx Forum: http://forum.nginx.org/read.php?21,240198,240218#msg-240218 From denis at webmaster.spb.ru Wed Jun 19 14:40:48 2013 From: denis at webmaster.spb.ru (denis) Date: Wed, 19 Jun 2013 18:40:48 +0400 Subject: =?UTF-8?B?UmU6INCR0LDQu9Cw0L3RgdC40YDQvtCy0LrQsCDQuCDQtNC+0LrQsNGH0LrQsCA=?= =?UTF-8?B?0YTQsNC50LvQsA==?= In-Reply-To: <5e4b4c40302085667d1a0a05085df685.NginxMailingListRussian@forum.nginx.org> References: <5e4b4c40302085667d1a0a05085df685.NginxMailingListRussian@forum.nginx.org> Message-ID: <51C1C2F0.2040909@webmaster.spb.ru> 19.06.2013 0:43, vlastv пишет: > Но server2 не имеет информации о предыдущем запросе, и просто не знает что с > ним делать. ip_hash? From sergey.avseyev at gmail.com Wed Jun 19 17:15:21 2013 From: sergey.avseyev at gmail.com (Sergey Avseyev) Date: Wed, 19 Jun 2013 20:15:21 +0300 Subject: =?UTF-8?B?0JzQvtC00YPQu9GMINC00LvRjyDQtNC+0YHRgtGD0L/QsCDQuiDQsdCw0LfQtSA=?= =?UTF-8?B?0LTQsNC90L3Ri9GFLCDQvdC+INCx0LXQtyBuZ3hfaHR0cF91cHN0cmVhbV90?= Message-ID: Привет всем, Я написал nginx модуль, для доступа к базе данных Couchbase[1]. Этот модуль получился немного не обычным: 1) используется библиотека libcouchbase, которая сама рулит установкой обработчиков на события, и выполнением собственно IO из них. Так что пришлось написать плагин[3], который подставляет функции nginx в виде, удобном для libcouchbase. 2) частично потому что IO выполняется внутри libcouchbase, как и маршрутизация запроса в кластер (основанная на хешировании ключа), пришлось отказаться от использования ngx_http_upstream_t (хотя тут я могу ошибаться). Кроме того libcouchbase может асинхронно получить по конфигурационному сокету информацию об изменении топологии кластера, и закрыть часть рабочих сокетов, и подготовить к открытию по требованию новые. В ходе тестирование оказалось, что моя реализация неплохо работает как с под-запросами из других модулей, так и обычными прямыми запросами. Но всё же нашёлся случай, когда модуль (к его исходникам у меня нет доступа) делает позапрос в мой, и рассчитывает, что в можно будет получить содержимое результата через r->upstream->buffer или статус через r->upstream->state->status. Собственно вопрос, может ли существовать модуль в экосистеме nginx, который не заполняет r->upstream в обработчике? [1]: https://github.com/couchbaselabs/couchbase-nginx-module [2]: https://github.com/couchbaselabs/couchbase-nginx-module/blob/master/src/ngx_lcb_plugin.c -- Sergey Avseyev From mdounin at mdounin.ru Wed Jun 19 17:39:58 2013 From: mdounin at mdounin.ru (Maxim Dounin) Date: Wed, 19 Jun 2013 21:39:58 +0400 Subject: =?UTF-8?B?UmU6INCc0L7QtNGD0LvRjCDQtNC70Y8g0LTQvtGB0YLRg9C/0LAg0Log0LHQsNC3?= =?UTF-8?B?0LUg0LTQsNC90L3Ri9GFLCDQvdC+INCx0LXQtyBuZ3hfaHR0cF91cHN0cmVh?= =?UTF-8?B?bV90?= In-Reply-To: References: Message-ID: <20130619173958.GI49779@mdounin.ru> Hello! On Wed, Jun 19, 2013 at 08:15:21PM +0300, Sergey Avseyev wrote: > Привет всем, > > Я написал nginx модуль, для доступа к базе данных Couchbase[1]. Этот > модуль получился немного не обычным: > > 1) используется библиотека libcouchbase, которая сама рулит установкой > обработчиков на события, и выполнением собственно IO из них. Так что > пришлось написать плагин[3], который подставляет функции nginx в виде, > удобном для libcouchbase. > > 2) частично потому что IO выполняется внутри libcouchbase, как и > маршрутизация запроса в кластер (основанная на хешировании ключа), > пришлось отказаться от использования ngx_http_upstream_t (хотя тут я > могу ошибаться). Кроме того libcouchbase может асинхронно получить по > конфигурационному сокету информацию об изменении топологии кластера, и > закрыть часть рабочих сокетов, и подготовить к открытию по требованию > новые. > > В ходе тестирование оказалось, что моя реализация неплохо работает как > с под-запросами из других модулей, так и обычными прямыми запросами. > Но всё же нашёлся случай, когда модуль (к его исходникам у меня нет > доступа) делает позапрос в мой, и рассчитывает, что в можно будет > получить содержимое результата через r->upstream->buffer или статус > через r->upstream->state->status. Видимо, речь идёт про функциональность subrequest_in_memory, которая в коробке используется для ssi-команды include с параметром set (http://nginx.org/en/docs/http/ngx_http_ssi_module.html#commands). Оно имеет ограниченную область применимости (читай: работает только с proxy и memcached). > Собственно вопрос, может ли существовать модуль в экосистеме nginx, > который не заполняет r->upstream в обработчике? Да. Более того - большинство модулей даже и не пытаются этого делать, простой пример - модуль static. Если хочется, чтобы упомянутый выше случай правильно отражался в логах - можно подсмотреть соответствующую проверку e.g. в модуле fastcgi. -- Maxim Dounin http://nginx.org/en/donation.html From admin at sysadmins.el.kg Fri Jun 21 10:45:31 2013 From: admin at sysadmins.el.kg (admin at sysadmins.el.kg) Date: Fri, 21 Jun 2013 16:45:31 +0600 Subject: =?UTF-8?B?0J/RgNC+0LrRgdC40YDQvtCy0LDQvdC40LUg0L/QviByZWZlcnJlcg==?= Message-ID: <51C42ECB.9090702@sysadmins.el.kg> Доброго всем дня. Пытаюсь поднять сервер для проксирования некоего узкоспециализированого приложения. Аппликуха у себя формирует ссылки на него, с указанием в качестве реферала ссылку на один из серверов за ним. Т.е. в теории это должно выглядеть сл. образом - посетитель жмет на сайте ссылку ведущую на site.tld, прокси на этом самом site.tld разобрав $http_referrer извлекает из него ссылку к site[1-9].tld дописывает ему в куку адрес нужного из этих самых site[1-9].tld и отправляет на соответствующий сервер. Ну а дальнейшие обращения уже на основе кук. Грабли ?1: - предполагал указать адрес прокси в виде переменной: if ($http_referer ~* "*\.*") { set $backend "извлеченный из реферала домен"; } location / { proxy_pass http://$backend; ... Только как? Грабли ?2: то же что и Грабли1 только с куками. From chipitsine at gmail.com Sun Jun 23 15:42:56 2013 From: chipitsine at gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Sun, 23 Jun 2013 21:42:56 +0600 Subject: =?UTF-8?B?UmU6INCf0YDQvtC60YHQuNGA0L7QstCw0L3QuNC1INC/0L4gcmVmZXJyZXI=?= In-Reply-To: <51C42ECB.9090702@sysadmins.el.kg> References: <51C42ECB.9090702@sysadmins.el.kg> Message-ID: как-то так можно попробовать вытащить map $http_referer $backend { default -; ~*(?[^\;]+)(?:\;|$) $b; } это решит "грабли No.1", но задача в целом выглядит весьма запутанной. 21 июня 2013 г., 16:45 пользователь admin at sysadmins.el.kg написал: > Доброго всем дня. > > Пытаюсь поднять сервер для проксирования некоего узкоспециализированого > приложения. Аппликуха у себя формирует ссылки на него, с указанием в > качестве реферала ссылку на один из серверов за ним. > Т.е. в теории это должно выглядеть сл. образом - посетитель жмет на сайте > ссылку ведущую на site.tld, прокси на этом самом site.tld разобрав > $http_referrer извлекает из него ссылку к site[1-9].tld дописывает ему в > куку адрес нужного из этих самых site[1-9].tld и отправляет на > соответствующий сервер. Ну а дальнейшие обращения уже на основе кук. > > Грабли No.1: - предполагал указать адрес прокси в виде переменной: > > if ($http_referer ~* "*\.*") { > set $backend "извлеченный из реферала домен"; > } > location / { > proxy_pass http://$backend; > ... > Только как? > > Грабли No.2: то же что и Грабли1 только с куками. > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From postmaster at softsearch.ru Sun Jun 23 20:01:10 2013 From: postmaster at softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Mon, 24 Jun 2013 00:01:10 +0400 Subject: =?UTF-8?B?UmU6INC+0LPRgNCw0L3QuNGH0LXQvdC40LUg0YHQutC+0YDQvtGB0YLQuA==?= In-Reply-To: References: Message-ID: <86633013.20130624000110@softsearch.ru> Здравствуйте, muhas. > limit_rate устанавливает ограничения только для конкретного пользователя. > Есть ли возможность хоть как то ограничить общую скорость для всех > пользователей на уровне location или server? http://nginx.org/ru/docs/http/ngx_http_limit_req_module.html -- С уважением, Михаил mailto:postmaster at softsearch.ru From nginx-forum at nginx.us Sun Jun 23 21:06:20 2013 From: nginx-forum at nginx.us (muhas) Date: Sun, 23 Jun 2013 17:06:20 -0400 Subject: =?UTF-8?B?UmU6INC+0LPRgNCw0L3QuNGH0LXQvdC40LUg0YHQutC+0YDQvtGB0YLQuA==?= In-Reply-To: <86633013.20130624000110@softsearch.ru> References: <86633013.20130624000110@softsearch.ru> Message-ID: <88212c4b452b0a86b23c2cb86a293973.NginxMailingListRussian@forum.nginx.org> 503 отдавать? Мне надо скорость ограничить, а не посетителей что не влазят выгонять... Posted at Nginx Forum: http://forum.nginx.org/read.php?21,240203,240290#msg-240290 From vadim.lazovskiy at gmail.com Sun Jun 23 21:27:55 2013 From: vadim.lazovskiy at gmail.com (Vadim Lazovskiy) Date: Mon, 24 Jun 2013 01:27:55 +0400 Subject: =?UTF-8?B?UmU6INC+0LPRgNCw0L3QuNGH0LXQvdC40LUg0YHQutC+0YDQvtGB0YLQuA==?= In-Reply-To: <88212c4b452b0a86b23c2cb86a293973.NginxMailingListRussian@forum.nginx.org> References: <86633013.20130624000110@softsearch.ru> <88212c4b452b0a86b23c2cb86a293973.NginxMailingListRussian@forum.nginx.org> Message-ID: Здравствуйте. Думаю, стоит взглянуть: http://mdounin.ru/hg/ngx_http_ip_tos_filter_module/ Трафик далее зашейпить. 24 июня 2013 г., 1:06 пользователь muhas написал: > 503 отдавать? Мне надо скорость ограничить, а не посетителей что не влазят > выгонять... > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,240203,240290#msg-240290 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -- Best Regards, Vadim Lazovskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at sysadmins.el.kg Mon Jun 24 04:38:48 2013 From: admin at sysadmins.el.kg (admin at sysadmins.el.kg) Date: Mon, 24 Jun 2013 10:38:48 +0600 Subject: =?UTF-8?B?UmU6INCf0YDQvtC60YHQuNGA0L7QstCw0L3QuNC1INC/0L4gcmVmZXJyZXI=?= In-Reply-To: References: <51C42ECB.9090702@sysadmins.el.kg> Message-ID: <51C7CD58.5070407@sysadmins.el.kg> Да, согласен, задача весьма нетривиальная. Оттого и прошу помощи. Предложеный вариант с использованием map не подходит потому, что map работает в блоке http, мне же критично запускать его из server. Вкратце о приложении - веб-страница, хрянящаяся на site[1-9].tld и загружаемая на сторонние сайты посредством . На каждом бэкенде она разная, количество бэкендов растет в геометрической прогресии, а некоторые сайты, внедряющие к себе это приложение (напр. facebook) требуют ssl-шифрование. Чтобы избежать каши с ssl-сертификацией всех бэкендов было сочтено целесообразным использование прокси, шифрующего соединения, и проксирующего на http-бэкенды. > как-то так можно попробовать вытащить > > map $http_referer $backend { > default -; > ~*(?[^\;]+)(?:\;|$) $b; > } > > > это решит "грабли No.1", но задача в целом выглядит весьма запутанной. > > > 21 июня 2013 г., 16:45 пользователь admin at sysadmins.el.kg > написал: >> Доброго всем дня. >> >> Пытаюсь поднять сервер для проксирования некоего узкоспециализированого >> приложения. Аппликуха у себя формирует ссылки на него, с указанием в >> качестве реферала ссылку на один из серверов за ним. >> Т.е. в теории это должно выглядеть сл. образом - посетитель жмет на сайте >> ссылку ведущую на site.tld, прокси на этом самом site.tld разобрав >> $http_referrer извлекает из него ссылку к site[1-9].tld дописывает ему в >> куку адрес нужного из этих самых site[1-9].tld и отправляет на >> соответствующий сервер. Ну а дальнейшие обращения уже на основе кук. >> >> Грабли No.1: - предполагал указать адрес прокси в виде переменной: >> >> if ($http_referer ~* "*\.*") { >> set $backend "извлеченный из реферала домен"; >> } >> location / { >> proxy_pass http://$backend; >> ... >> Только как? >> >> Грабли No.2: то же что и Грабли1 только с куками. >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru at nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From vadim.lazovskiy at gmail.com Mon Jun 24 04:55:07 2013 From: vadim.lazovskiy at gmail.com (Vadim Lazovskiy) Date: Mon, 24 Jun 2013 08:55:07 +0400 Subject: =?UTF-8?B?UmU6INCf0YDQvtC60YHQuNGA0L7QstCw0L3QuNC1INC/0L4gcmVmZXJyZXI=?= In-Reply-To: <51C7CD58.5070407@sysadmins.el.kg> References: <51C42ECB.9090702@sysadmins.el.kg> <51C7CD58.5070407@sysadmins.el.kg> Message-ID: Здравствуйте. Блок map только декларируется на уровне http. Вычисление значения переменной происходит только при обращении к ней. 24 июня 2013 г., 8:38 пользователь admin at sysadmins.el.kg < admin at sysadmins.el.kg> написал: > Да, согласен, задача весьма нетривиальная. Оттого и прошу помощи. > Предложеный вариант с использованием map не подходит потому, что map > работает в блоке http, мне же критично запускать его из server. > > Вкратце о приложении - веб-страница, хрянящаяся на site[1-9].tld и > загружаемая на сторонние сайты посредством . На каждом > бэкенде она разная, количество бэкендов растет в геометрической прогресии, > а некоторые сайты, внедряющие к себе это приложение (напр. facebook) > требуют ssl-шифрование. Чтобы избежать каши с ssl-сертификацией всех > бэкендов было сочтено целесообразным использование прокси, шифрующего > соединения, и проксирующего на http-бэкенды. > > > как-то так можно попробовать вытащить >> >> map $http_referer $backend { >> default -; >> ~*(?[^\;]+)(?:\;|$) $b; >> } >> >> >> это решит "грабли No.1", но задача в целом выглядит весьма запутанной. >> >> >> 21 июня 2013 г., 16:45 пользователь admin at sysadmins.el.kg >> написал: >> >>> Доброго всем дня. >>> >>> Пытаюсь поднять сервер для проксирования некоего узкоспециализированого >>> приложения. Аппликуха у себя формирует ссылки на него, с указанием в >>> качестве реферала ссылку на один из серверов за ним. >>> Т.е. в теории это должно выглядеть сл. образом - посетитель жмет на сайте >>> ссылку ведущую на site.tld, прокси на этом самом site.tld разобрав >>> $http_referrer извлекает из него ссылку к site[1-9].tld дописывает ему в >>> куку адрес нужного из этих самых site[1-9].tld и отправляет на >>> соответствующий сервер. Ну а дальнейшие обращения уже на основе кук. >>> >>> Грабли No.1: - предполагал указать адрес прокси в виде переменной: >>> >>> if ($http_referer ~* "*\.*") { >>> set $backend "извлеченный из реферала домен"; >>> } >>> location / { >>> proxy_pass http://$backend; >>> ... >>> Только как? >>> >>> Грабли No.2: то же что и Грабли1 только с куками. >>> >>> ______________________________**_________________ >>> nginx-ru mailing list >>> nginx-ru at nginx.org >>> http://mailman.nginx.org/**mailman/listinfo/nginx-ru >>> >> ______________________________**_________________ >> nginx-ru mailing list >> nginx-ru at nginx.org >> http://mailman.nginx.org/**mailman/listinfo/nginx-ru >> > > ______________________________**_________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/**mailman/listinfo/nginx-ru > -- Best Regards, Vadim Lazovskiy -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum at nginx.us Mon Jun 24 07:17:07 2013 From: nginx-forum at nginx.us (point212) Date: Mon, 24 Jun 2013 03:17:07 -0400 Subject: =?UTF-8?B?0J/QvtC80L7Qs9C40YLQtTogbS5kb21haW4ucnUgLT4gbS5kb21haW4ucnUvbSwg?= =?UTF-8?B?0L3Qvi4uLg==?= Message-ID: <1acf6bf639643e2cf80add76517784fc.NginxMailingListRussian@forum.nginx.org> Добрый день. Не могу добиться от nginx казалось бы простой вещи. Есть nginx, и есть jetty за ним. Нужно чтобы пользователь заходил на URL m.domain.ru, а jetty думал что пришли по URL m.domain.ru/m. При этом в адресной строке пользователя /m не отображалось. Вот текущий конфиг: nginx.conf ===================== ... server { server_name domain.ru *.domain.ru; set $subdomain ""; if ($host = "m.domain.ru") { set $subdomain "m"; } root /opt/jetty/webapps/root/WEB-INF/application/; location / { proxy_pass http://127.0.0.1:8080/$subdomain; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_cache off; proxy_redirect off; } } ... ======================== Были и другие варианты конфигурации. Например вот такой: ... server { server_name ~^(.*)\.domain\.ru$; set $subdomain $1; root /opt/jetty/webapps/root/WEB-INF/application/; location / { proxy_pass http://127.0.0.1:8080/$subdomain; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; proxy_cache off; proxy_redirect off; } } ... При попытке входа на m.domain.ru выдается ошибка 404, а на domain.ru грузится сайт, но без всей статики (подозреваю что это ошибка бэкэнда). Не понятно как именно переписывается URL, но явно не так, как я ожидаю. Как заставить nginx писать в логи всё, что происходит? Логгирование настроено вот так: ... error_log /var/log/nginx/error.log info; http { ... 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 /var/log/nginx/access.log main; rewrite_log on; .... } ... nginx такой: nginx version: nginx/1.5.1 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) TLS SNI support enabled configure arguments: --prefix=/opt/nginx --user=nginx --group=nginx --with-poll_module --with-file-aio --with-http_ssl_module --with-http_spdy_module --with-http_realip_module --with-http_addition_module --with-http_image_filter_module --with-http_geoip_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gzip_static_module --with-http_stub_status_module --with-pcre Posted at Nginx Forum: http://forum.nginx.org/read.php?21,240295,240295#msg-240295 From tetsio.nainn at gmail.com Mon Jun 24 11:21:24 2013 From: tetsio.nainn at gmail.com (=?UTF-8?B?0Jwu0JAuINCc0L7RhdC90LDRh9C10LLRgdC60LjQuQ==?=) Date: Mon, 24 Jun 2013 21:21:24 +1000 Subject: =?UTF-8?B?UmU6INCf0L7QvNC+0LPQuNGC0LU6IG0uZG9tYWluLnJ1IC0+IG0uZG9tYWluLnJ1?= =?UTF-8?B?L20sINC90L4uLi4=?= In-Reply-To: <1acf6bf639643e2cf80add76517784fc.NginxMailingListRussian@forum.nginx.org> References: <1acf6bf639643e2cf80add76517784fc.NginxMailingListRussian@forum.nginx.org> Message-ID: server { server_name m.domain.ru; root /opt/jetty/webapps/root/WEB-INF/application/; location / { rewrite .* /m/$1 break; proxy_pass http://127.0.0.1:8080; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_cache off; proxy_redirect off; } } server { server_name .domain.ru; root /opt/jetty/webapps/root/WEB-INF/application/; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_cache off; proxy_redirect off; } } Что-то наподобие этого наверное подойдет) 24 июня 2013 г., 17:17 пользователь point212 написал: > Добрый день. > Не могу добиться от nginx казалось бы простой вещи. > Есть nginx, и есть jetty за ним. > Нужно чтобы пользователь заходил на URL m.domain.ru, а jetty думал что > пришли по URL m.domain.ru/m. При этом в адресной строке пользователя /m не > отображалось. > > Вот текущий конфиг: > > nginx.conf > ===================== > > ... > > server { > server_name domain.ru *.domain.ru; > set $subdomain ""; > if ($host = "m.domain.ru") { > set $subdomain "m"; > } > root /opt/jetty/webapps/root/WEB-INF/application/; > location / { > proxy_pass http://127.0.0.1:8080/$subdomain; > proxy_set_header X-Real-IP $remote_addr; > proxy_set_header X-Forwarded-For > $proxy_add_x_forwarded_for; > proxy_set_header Host $http_host; > proxy_cache off; > proxy_redirect off; > } > } > > ... > > ======================== > > Были и другие варианты конфигурации. > Например вот такой: > ... > server { > server_name ~^(.*)\.domain\.ru$; > set $subdomain $1; > root /opt/jetty/webapps/root/WEB-INF/application/; > location / { > proxy_pass http://127.0.0.1:8080/$subdomain; > proxy_set_header X-Real-IP $remote_addr; > proxy_set_header X-Forwarded-For > $proxy_add_x_forwarded_for; > proxy_set_header Host $host; > proxy_cache off; > proxy_redirect off; > } > } > ... > > При попытке входа на m.domain.ru выдается ошибка 404, а на domain.ru > грузится сайт, но без всей статики (подозреваю что это ошибка бэкэнда). Не > понятно как именно переписывается URL, но явно не так, как я ожидаю. > Как заставить nginx писать в логи всё, что происходит? > Логгирование настроено вот так: > > ... > error_log /var/log/nginx/error.log info; > > http { > ... > 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 /var/log/nginx/access.log main; > rewrite_log on; > .... > } > ... > > > > > nginx такой: > nginx version: nginx/1.5.1 > built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) > TLS SNI support enabled > configure arguments: --prefix=/opt/nginx --user=nginx --group=nginx > --with-poll_module --with-file-aio --with-http_ssl_module > --with-http_spdy_module --with-http_realip_module > --with-http_addition_module --with-http_image_filter_module > --with-http_geoip_module --with-http_sub_module --with-http_dav_module > --with-http_flv_module --with-http_mp4_module > --with-http_gzip_static_module > --with-http_stub_status_module --with-pcre > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,240295,240295#msg-240295 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- С ув. М.А. Мохначевский Отдел системного администрирования ООО "Компания "СахаИнтернет НТ" к.т. (4112)219711 доб. 927 -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum at nginx.us Mon Jun 24 18:55:08 2013 From: nginx-forum at nginx.us (maxim88) Date: Mon, 24 Jun 2013 14:55:08 -0400 Subject: =?UTF-8?B?0JIg0LvQvtCz0LDRhSBuZ2lueCDQv9C40YjQtdGCINCy0LzQtdGB0YLQviAiMTI3?= =?UTF-8?B?LjAuMC4xIiAiOjpmZmZmOjEyNy4wLjAuMSI=?= Message-ID: <965bb9f29797e56540196e78b6e26392.NginxMailingListRussian@forum.nginx.org> Добрый день. На сервере Ubuntu 12.04 LTS установлен Wordpress, NGINX, PHP-FPM+APC +Varnish. В конфигах /etc/nginx/nginx.conf прописано set_real_ip_from 127.0.0.1; real_ip_header X-Forwarded-For; В конфигах /etc/varnish/default прописано if (req.http.x-forwarded-for) { set req.http.X-Forwarded-For = req.http.X-Forwarded-For + ", " + client.ip; } else { set req.http.X-Forwarded-For = client.ip; } Есть php скрипт который говорит, что форвард IP работает. ПРОБЛЕМА: В логах nginx пишет вместо "127.0.0.1" "::ffff:127.0.0.1" по этой причине Wordpress в своих логах вместо реального IP пишет "::ffff:127.0.0.1". Подскажите, как решить проблему? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,240309,240309#msg-240309 From mva at mva.name Tue Jun 25 06:48:15 2013 From: mva at mva.name (Vadim A. Misbakh-Soloviov) Date: Tue, 25 Jun 2013 10:48:15 +0400 Subject: =?UTF-8?B?UmU6INCSINC70L7Qs9Cw0YUgbmdpbngg0L/QuNGI0LXRgiDQstC80LXRgdGC0L4g?= =?UTF-8?B?IjEyNy4wLjAuMSIgIjo6ZmZmZjoxMjcuMC4wLjEi?= In-Reply-To: <965bb9f29797e56540196e78b6e26392.NginxMailingListRussian@forum.nginx.org> References: <965bb9f29797e56540196e78b6e26392.NginxMailingListRussian@forum.nginx.org> Message-ID: <51C93D2F.9090008@mva.name> Повесить NginX отдельно на IPv6-сокет и отдельно на IPv4: У меня, например, это: listen [::]:80 default ipv6only=on; listen *:80 default; listen [::]:443 default_server ipv6only=on ssl; listen *:443 default_server ssl; в default-вхосте и listen [::]:80; listen *:80; listen [::]:443 ssl; listen *:443 ssl; в инклуде, который наследуют остальные. И всё ок. Если я где-то не прав ? готов выслушать. А вообще, на самом деле, вам по-правильному 1) нужно обновить ядро и glibc (привет LTS убунтам, лол) 2) нужно пинать разработчиков софта (того же вордпресса и PHP, чтобы они сами реагировали на ::ffff: и откусывали его. Хотя проблема, емнип, решается и первым пунктом. Ну и в качестве совсем уж костыльного метода у меня в конфиге вордпресса как-то жило что-то типа $_SERVER['REMOTE_ADDR']=str_replace("::ffff:","",$_SERVER['REMOTE_ADDR']); 24.06.2013 22:55, maxim88 пишет: > Добрый день. > > На сервере Ubuntu 12.04 LTS установлен Wordpress, NGINX, PHP-FPM+APC > +Varnish. > > В конфигах /etc/nginx/nginx.conf прописано > > set_real_ip_from 127.0.0.1; > real_ip_header X-Forwarded-For; > > В конфигах /etc/varnish/default прописано > > if (req.http.x-forwarded-for) { > set req.http.X-Forwarded-For = > req.http.X-Forwarded-For + ", " + client.ip; > } else { > set req.http.X-Forwarded-For = client.ip; > } > > Есть php скрипт > > > > echo $_SERVER["REMOTE_ADDR"] ; > echo " > ".time()." > "; > echo $_SERVER["HTTP_X_FORWARDED_FOR"] ; > > ?> > > который говорит, что форвард IP работает. > > ПРОБЛЕМА: В логах nginx пишет вместо "127.0.0.1" "::ffff:127.0.0.1" > по этой причине Wordpress в своих логах вместо реального IP пишет > "::ffff:127.0.0.1". > > Подскажите, как решить проблему? > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,240309,240309#msg-240309 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 901 bytes Desc: OpenPGP digital signature URL: From nginx-forum at nginx.us Tue Jun 25 06:51:44 2013 From: nginx-forum at nginx.us (PbIXTOP) Date: Tue, 25 Jun 2013 02:51:44 -0400 Subject: =?UTF-8?B?UmU6INCf0L7QvNC+0LPQuNGC0LU6IG0uZG9tYWluLnJ1IC0+IG0uZG9tYWluLnJ1?= =?UTF-8?B?L20sINC90L4uLi4=?= In-Reply-To: <1acf6bf639643e2cf80add76517784fc.NginxMailingListRussian@forum.nginx.org> References: <1acf6bf639643e2cf80add76517784fc.NginxMailingListRussian@forum.nginx.org> Message-ID: <7678319872a8254d7bf2b5526a0596da.NginxMailingListRussian@forum.nginx.org> Мне кажется, что надо писать всетаки так как в первом варианте, только надо учесть что все запросы будут отдаваться в jetty и деректива root теряет смысл я бы попробовал изменить > if ($host = "m.domain.ru") { > set $subdomain "m"; > } на if ($host = "m.domain.ru") { set $subdomain "/m"; } и > location / { > proxy_pass http://127.0.0.1:8080/$subdomain; > proxy_set_header X-Real-IP $remote_addr; > proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; > proxy_set_header Host $http_host; > proxy_cache off; > proxy_redirect off; > } на location / { proxy_pass http://127.0.0.1:8080$subdomain; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_cache off; proxy_redirect off; } также надо не забывать, что указание в proxy_pass $uri, на jetty не будет передаваться оригинальный $uri point212 Wrote: ------------------------------------------------------- > Добрый день. > Не могу добиться от nginx казалось бы простой вещи. > Есть nginx, и есть jetty за ним. > Нужно чтобы пользователь заходил на URL m.domain.ru, а jetty думал что > пришли по URL m.domain.ru/m. При этом в адресной строке пользователя > /m не отображалось. > > Вот текущий конфиг: > > nginx.conf > ===================== > > ... > > server { > server_name domain.ru *.domain.ru; > set $subdomain ""; > if ($host = "m.domain.ru") { > set $subdomain "m"; > } > root /opt/jetty/webapps/root/WEB-INF/application/; > location / { > proxy_pass > http://127.0.0.1:8080/$subdomain; > proxy_set_header X-Real-IP $remote_addr; > proxy_set_header X-Forwarded-For > $proxy_add_x_forwarded_for; > proxy_set_header Host $http_host; > proxy_cache off; > proxy_redirect off; > } > } > > ... > > ======================== > > Были и другие варианты конфигурации. > Например вот такой: > ... > server { > server_name ~^(.*)\.domain\.ru$; > set $subdomain $1; > root /opt/jetty/webapps/root/WEB-INF/application/; > location / { > proxy_pass http://127.0.0.1:8080/$subdomain; > proxy_set_header X-Real-IP $remote_addr; > proxy_set_header X-Forwarded-For > $proxy_add_x_forwarded_for; > proxy_set_header Host $host; > proxy_cache off; > proxy_redirect off; > } > } > ... > > При попытке входа на m.domain.ru выдается ошибка 404, а на domain.ru > грузится сайт, но без всей статики (подозреваю что это ошибка > бэкэнда). Не понятно как именно переписывается URL, но явно не так, > как я ожидаю. > Как заставить nginx писать в логи всё, что происходит? > Логгирование настроено вот так: > > ... > error_log /var/log/nginx/error.log info; > > http { > ... > 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 /var/log/nginx/access.log main; > rewrite_log on; > .... > } > ... > > > > > nginx такой: > nginx version: nginx/1.5.1 > built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) > TLS SNI support enabled > configure arguments: --prefix=/opt/nginx --user=nginx --group=nginx > --with-poll_module --with-file-aio --with-http_ssl_module > --with-http_spdy_module --with-http_realip_module > --with-http_addition_module --with-http_image_filter_module > --with-http_geoip_module --with-http_sub_module --with-http_dav_module > --with-http_flv_module --with-http_mp4_module > --with-http_gzip_static_module --with-http_stub_status_module > --with-pcre Posted at Nginx Forum: http://forum.nginx.org/read.php?21,240295,240321#msg-240321 From admin at sysadmins.el.kg Tue Jun 25 07:30:39 2013 From: admin at sysadmins.el.kg (admin at sysadmins.el.kg) Date: Tue, 25 Jun 2013 13:30:39 +0600 Subject: =?UTF-8?B?0KDQtdCz0YPQu9GP0YDQutC4INC00LvRjyBtYXA=?= In-Reply-To: References: <51C42ECB.9090702@sysadmins.el.kg> Message-ID: <51C9471F.1030408@sysadmins.el.kg> Доброго всем! Помогите плз с регулярками для map'ов. Имеется строка типа: https://www.facebook.com/pages/Test/123456789123456?sk=app_987654321987654 которая приходит как реферал. Нужно получить из нее первый блок цифр - "123456789123456". Также имеется строка http(s)://test.local/(site([1-9])) которую мне нужно разбить на 3 части - протокол, домен, uri. То есть получить отдельно "http(s)://", "test.local" и "/(site([1-9]))". Только что-то я не совсем понимаю как их составлять... :-[ From nginx-forum at nginx.us Tue Jun 25 08:19:20 2013 From: nginx-forum at nginx.us (maxim88) Date: Tue, 25 Jun 2013 04:19:20 -0400 Subject: =?UTF-8?B?UmU6INCSINC70L7Qs9Cw0YUgbmdpbngg0L/QuNGI0LXRgiDQstC80LXRgdGC0L4g?= =?UTF-8?B?IjEyNy4wLjAuMSIgIjo6ZmZmZjoxMjcuMC4wLjEi?= In-Reply-To: <51C93D2F.9090008@mva.name> References: <51C93D2F.9090008@mva.name> Message-ID: Все заработало. Спасибо! Вот конфиг: ####### server { # Default server block blacklisting all unconfigured access listen [::]:8080 default_server ipv6only=on; listen *:8080 default_server; server_name _; return 444; } server { # Configure the domain that will run WordPress server_name www.server.com server.com; # listen [::]:8080 deferred; listen *:8080 deferred; port_in_redirect off; server_tokens off; autoindex off; ####### А, что именно там не так с ядром и glibc? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,240309,240326#msg-240326 From nginx-forum at nginx.us Tue Jun 25 10:22:48 2013 From: nginx-forum at nginx.us (wilful) Date: Tue, 25 Jun 2013 06:22:48 -0400 Subject: =?UTF-8?B?Tmdpbngg0YDQtdC00LjRgNC10LrRgtC40YIgKDMwMSkg0YEg0LTQvtCx0LDQstC7?= =?UTF-8?B?0LXQvdC40LXQvCDRgdC70Y3RiNCw?= Message-ID: <497730dba1c2e2336a1815081c589cfd.NginxMailingListRussian@forum.nginx.org> Доброго дня. Не могу понять откуда берётся внутренний редирект такого вида: $ wget -O/dev/null http://site.local/folder --2013-06-25 16:01:59-- http://site.local/folder --- HTTP-запрос отправлен. Ожидание ответа... 301 Moved Permanently Адрес: http://site.local/folder/ [переход] --2013-06-25 16:01:59-- http://site.local/folder/ Повторное использование соединения с site.local:80. --- Если использовать простой location: location / { include /etc/nginx/conf-available/backend-httpd; } То редиректа не происходит. Если конфигурацию немного усложнить, то он появляется: location @fetch { include /etc/nginx/conf-available/backend-httpd; } location / { try_files $uri $uri/ @fetch; location ~ \.(php|php5)$ { include /etc/nginx/conf-available/backend-httpd; try_files $uri $uri/ @fetch; } } Возникает только, если папка folder существует. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,240329,240329#msg-240329 From nginx-forum at nginx.us Tue Jun 25 10:50:23 2013 From: nginx-forum at nginx.us (point212) Date: Tue, 25 Jun 2013 06:50:23 -0400 Subject: =?UTF-8?B?UmU6INCf0L7QvNC+0LPQuNGC0LU6IG0uZG9tYWluLnJ1IC0+IG0uZG9tYWluLnJ1?= =?UTF-8?B?L20sINC90L4uLi4=?= In-Reply-To: References: Message-ID: Да. Спасибо огромное! Всё получилось. Видимо нужно было копать в эту сторону... Я сначала попробовал с rewrite вариант, но по глупости вставил его не в location а прямо в server. Естественно ничего не заработало, и я сразу пошел перебирать другие варианты. Оказывается зря... Финальный конфиг ... server { server_name _; root /opt/jetty/webapps/root/WEB-INF/application/; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; proxy_cache off; proxy_redirect off; } } server { server_name m.domain.ru; root /opt/jetty/webapps/root/WEB-INF/application/; location / { rewrite (.*) /m$1 break; proxy_pass http://localhost:8080; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_cache off; proxy_redirect off; } location ~* /exclude1|/exclude2\.|/exclude3 { proxy_pass http://localhost:8080; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_cache off; proxy_redirect off; } } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,240295,240320#msg-240320 From undying-m at yandex.ru Tue Jun 25 11:53:15 2013 From: undying-m at yandex.ru (Kron) Date: Tue, 25 Jun 2013 15:53:15 +0400 Subject: =?UTF-8?B?UmU6INCg0LXQs9GD0LvRj9GA0LrQuCDQtNC70Y8gbWFw?= In-Reply-To: <51C9471F.1030408@sysadmins.el.kg> References: <51C42ECB.9090702@sysadmins.el.kg> <51C9471F.1030408@sysadmins.el.kg> Message-ID: <309251372161195@web7g.yandex.ru> 1. map $request_uri $num { "~*/pages/Test/(?\d+)" $n; } 2. http://nginx.org/ru/docs/http/ngx_http_core_module.html читать про "встроенные переменные" 25.06.2013, 11:31, "admin at sysadmins.el.kg" : >  Доброго всем! > >  Помогите плз с регулярками для map'ов. > >  Имеется строка типа: >    https://www.facebook.com/pages/Test/123456789123456?sk=app_987654321987654 >  которая приходит как реферал. Нужно получить из нее первый блок цифр - >  "123456789123456". > >  Также имеется строка http(s)://test.local/(site([1-9])) которую мне >  нужно разбить на 3 части - протокол, домен, uri. То есть получить >  отдельно "http(s)://", "test.local" и "/(site([1-9]))". > >  Только что-то я не совсем понимаю как их составлять... :-[ > >  _______________________________________________ >  nginx-ru mailing list >  nginx-ru at nginx.org >  http://mailman.nginx.org/mailman/listinfo/nginx-ru From nginx-forum at nginx.us Tue Jun 25 13:31:02 2013 From: nginx-forum at nginx.us (Nikolay) Date: Tue, 25 Jun 2013 09:31:02 -0400 Subject: =?UTF-8?B?0L/QtdGA0LXQutC70Y7Rh9C10L3QuNC1INC80LXQttC00YMg0LLQtdGA0YHQuNGP?= =?UTF-8?B?0LzQuCDRgdCw0LnRgtCw?= Message-ID: <02ae2c24edc89011a6e7356c16ef5219.NginxMailingListRussian@forum.nginx.org> Есть обычная и моюильная версии сайта, необходимо сделать так, чтобы мобильные клиенты автоматически заворачивались на мобильную версию, но имели возможность нажать кнопку "Полная версия" (https://domain.tld/?full) и перейти на полную версию. Так же необходимо чтобы они могли нажать кнопку "Мобильная версия" (https://domain.tld/?mobile) и перейти на мобильную. Делаю так: server { listen *:80; server_name domain.tld; access_log /var/log/nginx/http-domain.tld-access main ; location / { if ($scheme = "http"){ rewrite ^(.*) https://$host$1 permanent; } } } server { ... ... ... #mobile redirect if ($http_user_agent ~* "(Chrome|acer\ s100|android|archos5|blackberry9500|blackberry9530|blackberry9550|blackberry\ 9800|cupcake|docomo\ ht\-03a|dream|htc\ hero|htc\ magic|htc_dream|htc_magic|incognito|ipad|iphone|ipod|kindle|lg\-gw620|liquid\ build|maemo|mot\-mb200|mot\-mb300|nexus\ one|nokia|opera\ mini|samsung\-s8000|series60.*webkit|series60/5\.0|sonyericssone10|sonyericssonu20|sonyericssonx10|t\-mobile\ mytouch\ 3g|t\-mobile\ opal|tattoo|webmate|webos)" ) { set $mobile 1; } set $mobile_cookie ""; if ($query_string ~ "full") { set $mobile_cookie "mobile=off;path=/"; set $mobile 0; } if ($query_string ~ "mobile") { set $mobile_cookie "mobile=on;path=/"; set $mobile 1; } add_header Set-Cookie $mobile_cookie; if ($cookie_mobile = 'off') {set $mobile 0;} if ($cookie_mobile = 'on') {set $mobile 1;} if ($mobile = '1') { rewrite ^(.*) http://m.domain.tld$1 permanent; } #end of mobile redirect location / { proxy_pass http://1.1.1.1:80; 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; } } Но в этом варианте такой переход работает только после того как я нажимаю кнопку с выбором версии (https://domain.tld/?mobile или https://domain.tld/?full) два раза. В чем моя ошибка? Как правильно организовать такие переходы? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,240333,240333#msg-240333 From alex.barut at gmail.com Tue Jun 25 14:52:54 2013 From: alex.barut at gmail.com (Alex Belyansky) Date: Tue, 25 Jun 2013 18:52:54 +0400 Subject: =?UTF-8?B?UmU6IE5naW54INGA0LXQtNC40YDQtdC60YLQuNGCICgzMDEpINGBINC00L7QsdCw?= =?UTF-8?B?0LLQu9C10L3QuNC10Lwg0YHQu9GN0YjQsA==?= In-Reply-To: <497730dba1c2e2336a1815081c589cfd.NginxMailingListRussian@forum.nginx.org> References: <497730dba1c2e2336a1815081c589cfd.NginxMailingListRussian@forum.nginx.org> Message-ID: <51C9AEC6.1050704@gmail.com> Доброго времени суток. Обратие внимание на вашу директиву: try_files $uri $uri/ @fetch; On 25.06.2013 14:22, wilful wrote: > Доброго дня. > > Не могу понять откуда берётся внутренний редирект такого вида: > $ wget -O/dev/null http://site.local/folder > > > --2013-06-25 16:01:59-- http://site.local/folder > > > --- > HTTP-запрос отправлен. Ожидание ответа... 301 Moved Permanently > > > Адрес: http://site.local/folder/ [переход] > > > --2013-06-25 16:01:59-- http://site.local/folder/ > > > Повторное использование соединения с site.local:80. > > > --- > > Если использовать простой location: > location / { > include /etc/nginx/conf-available/backend-httpd; > } > То редиректа не происходит. > > Если конфигурацию немного усложнить, то он появляется: > location @fetch { > include /etc/nginx/conf-available/backend-httpd; > } > location / { > try_files $uri $uri/ @fetch; > location ~ \.(php|php5)$ { > include /etc/nginx/conf-available/backend-httpd; > try_files $uri $uri/ @fetch; > } > } > > Возникает только, если папка folder существует. > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,240329,240329#msg-240329 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From nginx-forum at nginx.us Tue Jun 25 15:30:46 2013 From: nginx-forum at nginx.us (wilful) Date: Tue, 25 Jun 2013 11:30:46 -0400 Subject: =?UTF-8?B?UmU6IE5naW54INGA0LXQtNC40YDQtdC60YLQuNGCICgzMDEpINGBINC00L7QsdCw?= =?UTF-8?B?0LLQu9C10L3QuNC10Lwg0YHQu9GN0YjQsA==?= In-Reply-To: <51C9AEC6.1050704@gmail.com> References: <51C9AEC6.1050704@gmail.com> Message-ID: <2a56514ba2f55bb3ce8591a9da0cb6f4.NginxMailingListRussian@forum.nginx.org> http://nginx.org/ru/docs/http/ngx_http_core_module.html#try_files Я не нашел в описании директивы указание на 301-й редирект. Не могли бы вы более подробно написать откуда он? Я только вижу что исходя из $uri/ сервер находит папку, т.е. как я понимаю слэш тут используется для обозначения того, что ищется папка, а не файл. Спасибо. barut Wrote: ------------------------------------------------------- > Доброго времени суток. > > Обратие внимание на вашу директиву: > > try_files $uri $uri/ @fetch; > > > On 25.06.2013 14:22, wilful wrote: > > Доброго дня. > > > > Не могу понять откуда берётся внутренний редирект такого вида: > > $ wget -O/dev/null http://site.local/folder > > > > > > > --2013-06-25 16:01:59-- http://site.local/folder > > > > > > > --- > > HTTP-запрос отправлен. Ожидание ответа... 301 Moved Permanently > > > > > > > Адрес: http://site.local/folder/ [переход] > > > > > > > --2013-06-25 16:01:59-- http://site.local/folder/ > > > > > > > Повторное использование соединения с site.local:80. > > > > > > > --- > > > > Если использовать простой location: > > location / { > > include /etc/nginx/conf-available/backend-httpd; > > } > > То редиректа не происходит. > > > > Если конфигурацию немного усложнить, то он появляется: > > location @fetch { > > include /etc/nginx/conf-available/backend-httpd; > > } > > location / { > > try_files $uri $uri/ @fetch; > > location ~ \.(php|php5)$ { > > include /etc/nginx/conf-available/backend-httpd; > > try_files $uri $uri/ @fetch; > > } > > } > > > > Возникает только, если папка folder существует. > > > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,240329,240329#msg-240329 > > > > _______________________________________________ > > nginx-ru mailing list > > nginx-ru at nginx.org > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > _______________________________________________ > 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,240329,240336#msg-240336 From vbart at nginx.com Tue Jun 25 16:04:13 2013 From: vbart at nginx.com (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Tue, 25 Jun 2013 20:04:13 +0400 Subject: =?UTF-8?B?UmU6IE5naW54INGA0LXQtNC40YDQtdC60YLQuNGCICgzMDEpICDRgSDQtNC+0LE=?= =?UTF-8?B?0LDQstC70LXQvdC40LXQvCDRgdC70Y3RiNCw?= In-Reply-To: <2a56514ba2f55bb3ce8591a9da0cb6f4.NginxMailingListRussian@forum.nginx.org> References: <51C9AEC6.1050704@gmail.com> <2a56514ba2f55bb3ce8591a9da0cb6f4.NginxMailingListRussian@forum.nginx.org> Message-ID: <201306252004.13156.vbart@nginx.com> On Tuesday 25 June 2013 19:30:46 wilful wrote: > http://nginx.org/ru/docs/http/ngx_http_core_module.html#try_files > Я не нашел в описании директивы указание на 301-й редирект. > Не могли бы вы более подробно написать откуда он? > Я только вижу что исходя из $uri/ сервер находит папку, т.е. как я понимаю > слэш тут используется для обозначения того, что ищется папка, а не файл. > > Спасибо. > [...] По тому куску конфигурации, который вы привели, сказать откуда он появляется - действительно невозможно. Но вариантов немного: 1. Редирект прописан где-то за пределами показанного фрагмента конфигурации; 2. Вы проксируте запрос на бэкенд, и редирект возвращает ваш бэкенд. Что также весьма вероятно, учитывая, что в двух продемонстрированных вами конфигурациях на бекенды в итоге могут уйти разные запросы, а какой именно - будет зависеть от наличия/отсутствия файла или папки. Телепатические способности мне подсказывают, у вас где-то уровнем выше указана также директива: index index.php; -- Валентин Бартенев http://nginx.org/en/donation.html From mdounin at mdounin.ru Tue Jun 25 18:56:11 2013 From: mdounin at mdounin.ru (Maxim Dounin) Date: Tue, 25 Jun 2013 22:56:11 +0400 Subject: =?UTF-8?B?UmU6IE5naW54INGA0LXQtNC40YDQtdC60YLQuNGCICgzMDEpINGBINC00L7QsdCw?= =?UTF-8?B?0LLQu9C10L3QuNC10Lwg0YHQu9GN0YjQsA==?= In-Reply-To: <2a56514ba2f55bb3ce8591a9da0cb6f4.NginxMailingListRussian@forum.nginx.org> References: <51C9AEC6.1050704@gmail.com> <2a56514ba2f55bb3ce8591a9da0cb6f4.NginxMailingListRussian@forum.nginx.org> Message-ID: <20130625185611.GO20717@mdounin.ru> Hello! On Tue, Jun 25, 2013 at 11:30:46AM -0400, wilful wrote: > http://nginx.org/ru/docs/http/ngx_http_core_module.html#try_files > Я не нашел в описании директивы указание на 301-й редирект. > Не могли бы вы более подробно написать откуда он? > Я только вижу что исходя из $uri/ сервер находит папку, т.е. как я понимаю > слэш тут используется для обозначения того, что ищется папка, а не файл. Если для обработки запрошеного ресурса используется модуль отдачи статики, и запрошенный ресурс оказывается каталогом - то nginx возвращает 301 с добавлением "/". -- Maxim Dounin http://nginx.org/en/donation.html From mva at mva.name Tue Jun 25 20:42:58 2013 From: mva at mva.name (Vadim A. Misbakh-Soloviov) Date: Wed, 26 Jun 2013 00:42:58 +0400 Subject: =?UTF-8?B?UmU6INCSINC70L7Qs9Cw0YUgbmdpbngg0L/QuNGI0LXRgiDQstC80LXRgdGC0L4g?= =?UTF-8?B?IjEyNy4wLjAuMSIgIjo6ZmZmZjoxMjcuMC4wLjEi?= In-Reply-To: References: <51C93D2F.9090008@mva.name> Message-ID: <51CA00D2.4090902@mva.name> > А, что именно там не так с ядром и glibc? Ну, это надо спрашивать что они там мутят в Canonical, ибо у меня Hardened ядро (vanilla + grsecurity + PaX) уже очень давно (много релизов назад) само переделывает IPv6-mapped IPv4-адреса (в смысле, те, которые пришли на IPv6-сокет) в "обычные", например. А у Вас, вот, в убунте, почему-то не хочет. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 901 bytes Desc: OpenPGP digital signature URL: From admin at sysadmins.el.kg Wed Jun 26 04:20:30 2013 From: admin at sysadmins.el.kg (admin at sysadmins.el.kg) Date: Wed, 26 Jun 2013 10:20:30 +0600 Subject: =?UTF-8?B?UmU6INCg0LXQs9GD0LvRj9GA0LrQuCDQtNC70Y8gbWFw?= In-Reply-To: <309251372161195@web7g.yandex.ru> References: <51C42ECB.9090702@sysadmins.el.kg> <51C9471F.1030408@sysadmins.el.kg> <309251372161195@web7g.yandex.ru> Message-ID: <51CA6C0E.4090509@sysadmins.el.kg> Благодарю за помощь с первой регуляркой - это как раз то, что доктор прописал. А вот во втором случае встроенными переменными не обойтись, поскольку указанный мной url http(s)://test.local/(site([1-9])) не является переданным от клиента (иначе проблемы ?2 не было бы вообще). Данная строка изымается nginx'ом из бд посредством модуля ngx_postgres исходя из того, что вернет как раз-таки та самая первая регулярка. Далее ее нужно раздробить на 3 части и если $протокол = http://, то спроксировать на $домен, если конечный сайт в подпапке - добавить $путь к $request_uri, если же $протокол = https:// - тогда просто сделать редирект. Вот как-то так у меня задача поставлена. 25.06.2013 17:53, Kron пишет: > 1. > > map $request_uri $num { > "~*/pages/Test/(?\d+)" $n; > } > > 2. > > http://nginx.org/ru/docs/http/ngx_http_core_module.html > читать про "встроенные переменные" > > 25.06.2013, 11:31, "admin at sysadmins.el.kg" : > >> Доброго всем! >> >> Помогите плз с регулярками для map'ов. >> >> Имеется строка типа: >> https://www.facebook.com/pages/Test/123456789123456?sk=app_987654321987654 >> которая приходит как реферал. Нужно получить из нее первый блок цифр - >> "123456789123456". >> >> Также имеется строка http(s)://test.local/(site([1-9])) которую мне >> нужно разбить на 3 части - протокол, домен, uri. То есть получить >> отдельно "http(s)://", "test.local" и "/(site([1-9]))". >> >> Только что-то я не совсем понимаю как их составлять... :-[ >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru at nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From nginx-forum at nginx.us Wed Jun 26 07:33:19 2013 From: nginx-forum at nginx.us (wilful) Date: Wed, 26 Jun 2013 03:33:19 -0400 Subject: =?UTF-8?B?UmU6IE5naW54INGA0LXQtNC40YDQtdC60YLQuNGCICgzMDEpINGBINC00L7QsdCw?= =?UTF-8?B?0LLQu9C10L3QuNC10Lwg0YHQu9GN0YjQsA==?= In-Reply-To: <20130625185611.GO20717@mdounin.ru> References: <20130625185611.GO20717@mdounin.ru> Message-ID: Спасибо за ответы. Привожу пример всего конфига. Бакэнд в данном случа я отключил вообще (в первом сообщении 404 это ошибка о том, что не найден индекс заглушки, но редирект происходит раньше) server { listen 192.168.7.116:80; server_name site.local www.site.local; set $docroot "/var/www/site.local/htdocs"; set $pool "backend"; set $poolerr "127.0.0.1:8088"; set $app_env "production"; index index.php; charset windows-1251; root $docroot; access_log /var/log/nginx/site.local-access.log; error_log /var/log/nginx/site.local-error.log warn; include /etc/nginx/conf-available/static; location @fetch { include /etc/nginx/conf-available/backend-httpd; } location / { include /etc/nginx/conf-available/backend-httpd; } # location / { # try_files $uri $uri/ @fetch; # location ~ \.(php|php5)$ { # include /etc/nginx/conf-available/backend-httpd; # try_files $uri $uri/ @fetch; # } # } } Данный конфиг используется для обработки сайта на bitrix. Статика отдаётся так (/etc/nginx/conf-available/static): location ~* \.(ico|jpg|gif|png|htm|html|jpeg|swf|txt|avi|wmv|7z|tmp|xml|svg)$ { root $docroot; access_log off; } Вроде в конфигурации ничего лишнего, вложенные локейшены использовал чтобы была общая точка входа и статика которая не подходит под шаблон выше не попадала к бакэнду. В апач есть директива отключения таких редиректов, как можно поступить в случае nginx, чтобы обработка папки передавалась на бакэнд? Если использовать error_page 404 @fetch; вместо try_files, то всё равно происходит редирект. Maxim Dounin Wrote: ------------------------------------------------------- > Hello! > > On Tue, Jun 25, 2013 at 11:30:46AM -0400, wilful wrote: > > > http://nginx.org/ru/docs/http/ngx_http_core_module.html#try_files > > Я не нашел в описании директивы указание на 301-й редирект. > > Не могли бы вы более подробно написать откуда он? > > Я только вижу что исходя из $uri/ сервер находит папку, т.е. как я > понимаю > > слэш тут используется для обозначения того, что ищется папка, а не > файл. > > Если для обработки запрошеного ресурса используется модуль отдачи > статики, и запрошенный ресурс оказывается каталогом - то nginx > возвращает 301 с добавлением "/". > > -- > Maxim Dounin > http://nginx.org/en/donation.html > > _______________________________________________ > 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,240329,240354#msg-240354 From mdounin at mdounin.ru Wed Jun 26 07:35:17 2013 From: mdounin at mdounin.ru (Maxim Dounin) Date: Wed, 26 Jun 2013 11:35:17 +0400 Subject: =?UTF-8?B?UmU6INCSINC70L7Qs9Cw0YUgbmdpbngg0L/QuNGI0LXRgiDQstC80LXRgdGC0L4g?= =?UTF-8?B?IjEyNy4wLjAuMSIgIjo6ZmZmZjoxMjcuMC4wLjEi?= In-Reply-To: <51CA00D2.4090902@mva.name> References: <51C93D2F.9090008@mva.name> <51CA00D2.4090902@mva.name> Message-ID: <20130626073516.GT20717@mdounin.ru> Hello! On Wed, Jun 26, 2013 at 12:42:58AM +0400, Vadim A. Misbakh-Soloviov wrote: > > А, что именно там не так с ядром и glibc? > > Ну, это надо спрашивать что они там мутят в Canonical, ибо у меня > Hardened ядро (vanilla + grsecurity + PaX) уже очень давно (много > релизов назад) само переделывает IPv6-mapped IPv4-адреса (в смысле, те, > которые пришли на IPv6-сокет) в "обычные", например. А у Вас, вот, в > убунте, почему-то не хочет. С чего бы ядру "переделывать" ipv6-адреса в ipv4, на ipv6-то сокете? Правильное решение - использовать ipv4-сокет для приёма ipv4-соединений. Тогда там, где надо - будет ipv4. -- Maxim Dounin http://nginx.org/en/donation.html From nginx-forum at nginx.us Wed Jun 26 07:47:23 2013 From: nginx-forum at nginx.us (imanenkov) Date: Wed, 26 Jun 2013 03:47:23 -0400 Subject: =?UTF-8?B?0J3QtSDQv9C+0LvRg9GH0LDQtdGC0YHRjyDQv9C+0LvQvdC+0YHRgtGM0Y4g0L4=?= =?UTF-8?B?0YLQutC70Y7Rh9C40YLRjCDQutGN0YjQuNGA0L7QstCw0L3QuNC1?= Message-ID: Доброго времени суток! Настраиваю на виртуалке веб сервер под тяжелое приложение, для отработки горизонтального масштабирования. Столкнулся с тем, что nginx после первого запроса кэширует ответ, после чего начиает отдавать ответ без фактического обращения к php-fpm. Конфигурация: nginx + php5-fpm. В nginx сделаны два шаблона - default и php: default: index index.html index.php; location /status { stub_status on; } location / { try_files $uri $uri/ /index.php?q=$uri&$args; } # Закрываем доступ к файлами .htaccess и .htpassword location ~ /\.ht { deny all; } location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } php (первоначальная конфигурация): location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } настройки хоста в sites-enabled: server{ listen 80; access_log /var/log/nginx/site.access_log; error_log /var/log/nginx/site.error_log; root /var/www/site; include /etc/nginx/templates/default; include /etc/nginx/templates/php; } Тесты запускаю с другой виртуалки через httperf (упрощенный вариант для 1 обращения): httperf --server site.local --num-conns 1 --verbose >perf.log При такой конфигурации первый запуск занимает определенное время (т.к. страница собирается через php машину), при последующих же запусках (на глаз - в пределах 1-2 минут после первого запуска) тесты проходят за несколько миллисекунд на обращение, веб сервер контент с такой скоростью не сможет отдать. Пробовал отключить кэширование директивами: location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_cache off; fastcgi_no_cache 1; fastcgi_cache_bypass 1; expires off; } +перезапуск nginx и php-fpm, поведение не меняется. (кэширование сейчас нужно отключить чтобы поиграть с настройками самого сервера в плане производительности, на первом этапе). Просьба помочь. С уважением. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,240356,240356#msg-240356 From mdounin at mdounin.ru Wed Jun 26 07:50:45 2013 From: mdounin at mdounin.ru (Maxim Dounin) Date: Wed, 26 Jun 2013 11:50:45 +0400 Subject: =?UTF-8?B?UmU6IE5naW54INGA0LXQtNC40YDQtdC60YLQuNGCICgzMDEpINGBINC00L7QsdCw?= =?UTF-8?B?0LLQu9C10L3QuNC10Lwg0YHQu9GN0YjQsA==?= In-Reply-To: References: <20130625185611.GO20717@mdounin.ru> Message-ID: <20130626075045.GU20717@mdounin.ru> Hello! On Wed, Jun 26, 2013 at 03:33:19AM -0400, wilful wrote: > Спасибо за ответы. Привожу пример всего конфига. Бакэнд в данном случа я > отключил вообще (в первом сообщении 404 это ошибка о том, что не найден > индекс заглушки, но редирект происходит раньше) [...] > В апач есть директива отключения таких редиректов, как можно поступить в > случае nginx, чтобы обработка папки передавалась на бакэнд? Нужно явно обрабатывать запросы к каталогам без "/" на конце. Например как-то так можно передать обработку всех каталогов на бекенд: location / { # only _files_ are handled here, directories and # non-existent uris will go to @directory location try_files $uri @directory; } location @directory { try_files $uri/ =404; proxy_pass http://backend; } А если к вышеприведённому конфигу ещё добавить что-нибудь вроде location ~ /$ { # if an uri ends with "/", handle it here } то на бекенд уйдут только запросы к каталогам без "/" на конце. Алтернативные варианты конфигураций можно поискать в архивах рассылки, ключевые слова - trailing slash redirect. > Если использовать error_page 404 @fetch; вместо try_files, то всё равно > происходит редирект. Директива try_files не имеет отношения к редиректу. В вашем исходном конфиге директива try_files лишь обеспечивала обработку существующих каталогов модулем static nginx'а. -- Maxim Dounin http://nginx.org/en/donation.html From tetsio.nainn at gmail.com Wed Jun 26 07:57:03 2013 From: tetsio.nainn at gmail.com (=?UTF-8?B?0Jwu0JAuINCc0L7RhdC90LDRh9C10LLRgdC60LjQuQ==?=) Date: Wed, 26 Jun 2013 17:57:03 +1000 Subject: =?UTF-8?B?UmU6INCd0LUg0L/QvtC70YPRh9Cw0LXRgtGB0Y8g0L/QvtC70L3QvtGB0YLRjNGO?= =?UTF-8?B?INC+0YLQutC70Y7Rh9C40YLRjCDQutGN0YjQuNGA0L7QstCw0L3QuNC1?= In-Reply-To: References: Message-ID: А точно ли nginx не обращается к php-fpm? Может это он кэширует? н-р через оптимайзеры 26 июня 2013 г., 17:47 пользователь imanenkov написал: > Доброго времени суток! > Настраиваю на виртуалке веб сервер под тяжелое приложение, для отработки > горизонтального масштабирования. Столкнулся с тем, что nginx после первого > запроса кэширует ответ, после чего начиает отдавать ответ без фактического > обращения к php-fpm. > Конфигурация: nginx + php5-fpm. В nginx сделаны два шаблона - default и > php: > > default: > index index.html index.php; > > location /status { > stub_status on; > } > > location / { > try_files $uri $uri/ /index.php?q=$uri&$args; > } > > # Закрываем доступ к файлами .htaccess и .htpassword > location ~ /\.ht { > deny all; > } > > location = /favicon.ico { > log_not_found off; > access_log off; > } > > location = /robots.txt { > allow all; > log_not_found off; > access_log off; > } > > > php (первоначальная конфигурация): > > location ~ \.php$ { > try_files $uri =404; > fastcgi_pass 127.0.0.1:9000; > fastcgi_index index.php; > include fastcgi_params; > fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; > } > > настройки хоста в sites-enabled: > server{ > listen 80; > access_log /var/log/nginx/site.access_log; > error_log /var/log/nginx/site.error_log; > > root /var/www/site; > > include /etc/nginx/templates/default; > include /etc/nginx/templates/php; > } > > Тесты запускаю с другой виртуалки через httperf (упрощенный вариант для 1 > обращения): > httperf --server site.local --num-conns 1 --verbose >perf.log > > > При такой конфигурации первый запуск занимает определенное время (т.к. > страница собирается через php машину), при последующих же запусках (на глаз > - в пределах 1-2 минут после первого запуска) тесты проходят за несколько > миллисекунд на обращение, веб сервер контент с такой скоростью не сможет > отдать. > > Пробовал отключить кэширование директивами: > > location ~ \.php$ { > try_files $uri =404; > fastcgi_pass 127.0.0.1:9000; > fastcgi_index index.php; > include fastcgi_params; > fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; > > fastcgi_cache off; > fastcgi_no_cache 1; > fastcgi_cache_bypass 1; > expires off; > } > > +перезапуск nginx и php-fpm, поведение не меняется. > > (кэширование сейчас нужно отключить чтобы поиграть с настройками самого > сервера в плане производительности, на первом этапе). > > Просьба помочь. > > С уважением. > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,240356,240356#msg-240356 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- С ув. М.А. Мохначевский Отдел системного администрирования ООО "Компания "СахаИнтернет НТ" к.т. (4112)219711 доб. 927 -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum at nginx.us Wed Jun 26 08:09:12 2013 From: nginx-forum at nginx.us (wilful) Date: Wed, 26 Jun 2013 04:09:12 -0400 Subject: =?UTF-8?B?UmU6IE5naW54INGA0LXQtNC40YDQtdC60YLQuNGCICgzMDEpINGBINC00L7QsdCw?= =?UTF-8?B?0LLQu9C10L3QuNC10Lwg0YHQu9GN0YjQsA==?= In-Reply-To: <20130626075045.GU20717@mdounin.ru> References: <20130626075045.GU20717@mdounin.ru> Message-ID: > Нужно явно обрабатывать запросы к каталогам без "/" на конце. > Например как-то так можно передать обработку всех каталогов на > бекенд: > > location / { > # only _files_ are handled here, directories and > # non-existent uris will go to @directory location > > try_files $uri @directory; > } Ну и это видимо верно, если убрать из проверки папки, то они будут попадать на бакэнд. Так вроде и правильно, если подводных камней нету. Спасибо. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,240329,240359#msg-240359 From nginx-forum at nginx.us Wed Jun 26 08:09:35 2013 From: nginx-forum at nginx.us (imanenkov) Date: Wed, 26 Jun 2013 04:09:35 -0400 Subject: =?UTF-8?B?UmU6INCd0LUg0L/QvtC70YPRh9Cw0LXRgtGB0Y8g0L/QvtC70L3QvtGB0YLRjNGO?= =?UTF-8?B?INC+0YLQutC70Y7Rh9C40YLRjCDQutGN0YjQuNGA0L7QstCw0L3QuNC1?= In-Reply-To: References: Message-ID: <69c0541c8aaa13a6e0f9c125be400b30.NginxMailingListRussian@forum.nginx.org> М.А. Мохначевский Wrote: ------------------------------------------------------- > А точно ли nginx не обращается к php-fpm? Может это он кэширует? н-р > через > оптимайзеры > Насколько я понял, кэш php-fpm настраивается как раз через factcgi_xxx параметры (fastcgi_cache off; fastcgi_no_cache 1; fastcgi_cache_bypass 1;), а по ним вроде как кэширование выключено. Оптимизаторы кэшируют не ответ сервера вроде как, а сам исполняемый код php, что дает прирост производительности в разы, но не на 2 порядка (20 секунд "настроящего ответа" против 50-100 мс "быстрого" ответа). Конечно могу и ошибаться. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,240356,240360#msg-240360 From undying-m at yandex.ru Wed Jun 26 10:09:45 2013 From: undying-m at yandex.ru (Kron) Date: Wed, 26 Jun 2013 14:09:45 +0400 Subject: =?UTF-8?B?UmU6INCg0LXQs9GD0LvRj9GA0LrQuCDQtNC70Y8gbWFw?= In-Reply-To: <51CA6C0E.4090509@sysadmins.el.kg> References: <51C42ECB.9090702@sysadmins.el.kg> <51C9471F.1030408@sysadmins.el.kg> <309251372161195@web7g.yandex.ru> <51CA6C0E.4090509@sysadmins.el.kg> Message-ID: <1359951372241385@web17g.yandex.ru> >  Данная строка изымается nginx'ом из бд посредством модуля ngx_postgres >  исходя из того, что вернет как раз-таки та самая первая регулярка. Далее >  ее нужно раздробить на 3 части и если $протокол = http://, то >  спроксировать на $домен, если конечный сайт в подпапке - добавить $путь >  к $request_uri, если же $протокол = https:// - тогда просто сделать >  редирект. Если я ничего не путаю, то после того как вы сделали запрос к базе, nginx возвращает результат и сам с ним уже никак не взаимодействует. Здесь я вижу несколько вариантов решения: 1. каким то чудом после обращения к базе, что бы плагин выставлял дополнительные заголовки, например X-Query-Url: http(s)://test.local/(site([1-9])), и второй X-Accel-Redirect: ( а здесь указание на location nginx который будет парсить заголовок X-Query-Url и делать нужные действия) 2. использовать perl модуль и работу с БД вести внутри него. 3. наиболее адекватный, на мой взгляд, это написать легкий backend скрипт который будет делать всю работу. 26.06.2013, 08:21, "admin at sysadmins.el.kg" : >  Благодарю за помощь с первой регуляркой - это как раз то, что доктор >  прописал. А вот во втором случае встроенными переменными не обойтись, >  поскольку указанный мной url > >  http(s)://test.local/(site([1-9])) > >  не является переданным от клиента (иначе проблемы ?2 не было бы вообще). >  Данная строка изымается nginx'ом из бд посредством модуля ngx_postgres >  исходя из того, что вернет как раз-таки та самая первая регулярка. Далее >  ее нужно раздробить на 3 части и если $протокол = http://, то >  спроксировать на $домен, если конечный сайт в подпапке - добавить $путь >  к $request_uri, если же $протокол = https:// - тогда просто сделать >  редирект. Вот как-то так у меня задача поставлена. > >  25.06.2013 17:53, Kron пишет: >>   1. >> >>   map $request_uri $num { >>   "~*/pages/Test/(?\d+)" $n; >>   } >> >>   2. >> >>   http://nginx.org/ru/docs/http/ngx_http_core_module.html >>   читать про "встроенные переменные" >> >>   25.06.2013, 11:31, "admin at sysadmins.el.kg" : >>>     Доброго всем! >>> >>>     Помогите плз с регулярками для map'ов. >>> >>>     Имеется строка типа: >>>       https://www.facebook.com/pages/Test/123456789123456?sk=app_987654321987654 >>>     которая приходит как реферал. Нужно получить из нее первый блок цифр - >>>     "123456789123456". >>> >>>     Также имеется строка http(s)://test.local/(site([1-9])) которую мне >>>     нужно разбить на 3 части - протокол, домен, uri. То есть получить >>>     отдельно "http(s)://", "test.local" и "/(site([1-9]))". >>> >>>     Только что-то я не совсем понимаю как их составлять... :-[ >>> >>>     _______________________________________________ >>>     nginx-ru mailing list >>>     nginx-ru at nginx.org >>>     http://mailman.nginx.org/mailman/listinfo/nginx-ru >>   _______________________________________________ >>   nginx-ru mailing list >>   nginx-ru at nginx.org >>   http://mailman.nginx.org/mailman/listinfo/nginx-ru >  _______________________________________________ >  nginx-ru mailing list >  nginx-ru at nginx.org >  http://mailman.nginx.org/mailman/listinfo/nginx-ru From vbart at nginx.com Wed Jun 26 15:18:22 2013 From: vbart at nginx.com (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Wed, 26 Jun 2013 19:18:22 +0400 Subject: =?UTF-8?B?UmU6ICDQndC1INC/0L7Qu9GD0YfQsNC10YLRgdGPINC/0L7Qu9C90L7RgdGC0Yw=?= =?UTF-8?B?0Y4g0L7RgtC60LvRjtGH0LjRgtGMINC60Y3RiNC40YDQvtCy0LDQvdC40LU=?= In-Reply-To: <69c0541c8aaa13a6e0f9c125be400b30.NginxMailingListRussian@forum.nginx.org> References: <69c0541c8aaa13a6e0f9c125be400b30.NginxMailingListRussian@forum.nginx.org> Message-ID: <201306261918.22647.vbart@nginx.com> On Wednesday 26 June 2013 12:09:35 imanenkov wrote: > М.А. Мохначевский Wrote: > ------------------------------------------------------- > > > А точно ли nginx не обращается к php-fpm? Может это он кэширует? н-р > > через > > оптимайзеры > > Насколько я понял, кэш php-fpm настраивается как раз через factcgi_xxx > параметры (fastcgi_cache off; fastcgi_no_cache 1; fastcgi_cache_bypass 1;), > а по ним вроде как кэширование выключено. fastcgi_* не имеет никакого отношения к php-fpm, и про него ничего не знает. Nginx не умеет ничего кэшировать, если его специально об этом не попросить, а для этого нужно указать более одной директивы fastcgi_cache_*, которых у вас не наблюдается, в частности fastcgi_cache_path. > Оптимизаторы кэшируют не ответ сервера вроде как, а сам исполняемый код > php, что дает прирост производительности в разы, но не на 2 порядка (20 > секунд "настроящего ответа" против 50-100 мс "быстрого" ответа). > Конечно могу и ошибаться. А виртуалка у вас virtualbox видимо, и файлы кладете через Shared Folders? -- Валентин Бартенев http://nginx.org/en/donation.html From nginx-forum at nginx.us Thu Jun 27 05:26:05 2013 From: nginx-forum at nginx.us (imanenkov) Date: Thu, 27 Jun 2013 01:26:05 -0400 Subject: =?UTF-8?B?UmU6INCd0LUg0L/QvtC70YPRh9Cw0LXRgtGB0Y8g0L/QvtC70L3QvtGB0YLRjNGO?= =?UTF-8?B?INC+0YLQutC70Y7Rh9C40YLRjCDQutGN0YjQuNGA0L7QstCw0L3QuNC1?= In-Reply-To: <201306261918.22647.vbart@nginx.com> References: <201306261918.22647.vbart@nginx.com> Message-ID: <7929981072e65df5e0a53cbb32f4bf6b.NginxMailingListRussian@forum.nginx.org> > А виртуалка у вас virtualbox видимо, и файлы кладете через Shared > Folders? Proxmox, ssh Posted at Nginx Forum: http://forum.nginx.org/read.php?21,240356,240377#msg-240377