From mdounin на mdounin.ru Mon Jan 2 16:17:27 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 2 Jan 2012 20:17:27 +0400 Subject: half-closed socket In-Reply-To: References: <20111229135533.GA78522@nginx.com> Message-ID: <20120102161726.GA67687@mdounin.ru> Hello! On Fri, Dec 30, 2011 at 10:37:25AM +0300, SerP wrote: > User-Agent совершенно различный. Но здесь же не понятно, был это нормальный > close или таки shutdown, на стороне сервера нет различий, судя по strace, > nginx шлет файл, потом получает от epoll (система linux) EPOLLIN, делает > recvfrom - получает 0 и закрывает сокет, здесь таки корректней было > дождаться EPIPE при записи, тогда уже четно понятно что клиенту не нужны > наши данные, разве нет? Начнём с простого: почему вы решили, что у вас проблемы от half-closed соединений? Maxim Dounin > > 2011/12/29 Igor Sysoev > > > On Thu, Dec 29, 2011 at 11:49:05AM +0300, SerP wrote: > > > Столкнулись с проблемой при использовании nginx. Отдаем статические > > файлы, > > > и после жалоб пользвателей, нашли в логах странные строчки, когда размер > > > файла не совпадает с $body_bytes_sent, причем статус ответа 200. После > > > анализа пришли к выводу, что клиенты иногда посылают запрос и вызывают > > > команду shutdown send на сокете, nginx это расценивает как закрытие > > сокета > > > и не досылает файл до конца. > > > > Какой у них User-Agent ? > > > > > Другие сервера себя так не ведут, apache, lighttpd. В документации не > > нашел > > > ничего что могло бы исправить такое поведение nginx. Может быть есть > > > средство? > > > > На данный момент - нет. > > > > > > -- > > Igor Sysoev > > > > _______________________________________________ > > nginx-ru mailing list > > nginx-ru на nginx.org > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From anton.zajtsev на gmail.com Tue Jan 3 15:44:52 2012 From: anton.zajtsev на gmail.com (Anton Zaytsev) Date: Tue, 3 Jan 2012 17:44:52 +0200 Subject: =?UTF-8?B?0J7Qv9GG0LjQuCDQutC+0YTQuNCz0YPRgNC40YDQvtCy0LDQvdC40Y8g0LTQu9GP?= =?UTF-8?B?IERlYmlhbg==?= Message-ID: Добрый день. Раньше на wiki была страинца с примерами для скрипта ./configure. В частности для различных диструбутивов, Debian, CentOS. Сейчас только мануал по подключению репозиториев nginx. Не подскажите, где бы найти эту информацию? Спасибо. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From a.vasilishin на kpi.ua Tue Jan 3 15:48:59 2012 From: a.vasilishin на kpi.ua (=?KOI8-R?Q?=E1=CE=C4=D2=C5=CA_=F7=C1=D3=C9=CC=C9=DB=C9=CE?=) Date: Tue, 03 Jan 2012 17:48:59 +0200 Subject: =?UTF-8?B?UmU6INCe0L/RhtC40Lgg0LrQvtGE0LjQs9GD0YDQuNGA0L7QstCw0L3QuNGPINC0?= =?UTF-8?B?0LvRjyBEZWJpYW4=?= In-Reply-To: References: Message-ID: <4F03236B.6010509@kpi.ua> 03.01.2012 17:44, Anton Zaytsev пишет: > Добрый день. > > Раньше на wiki была страинца с примерами для скрипта ./configure. В > частности для различных диструбутивов, Debian, CentOS. Сейчас только > мануал по подключению репозиториев nginx. > Не подскажите, где бы найти эту информацию? > > Спасибо. А что Вам надо? делаете apt-get source nginx и потом в rules дописываете/удаляете что Вам надо. -- WBR, Andrey Vasilishin CDIG1-UANIC, CDIG1-RIPE From anton.zajtsev на gmail.com Tue Jan 3 15:55:58 2012 From: anton.zajtsev на gmail.com (Anton Zaytsev) Date: Tue, 3 Jan 2012 17:55:58 +0200 Subject: =?UTF-8?B?UmU6INCe0L/RhtC40Lgg0LrQvtGE0LjQs9GD0YDQuNGA0L7QstCw0L3QuNGPINC0?= =?UTF-8?B?0LvRjyBEZWJpYW4=?= In-Reply-To: <4F03236B.6010509@kpi.ua> References: <4F03236B.6010509@kpi.ua> Message-ID: 2012/1/3 Андрей Василишин > 03.01.2012 17:44, Anton Zaytsev пишет: > > Добрый день. >> >> Раньше на wiki была страинца с примерами для скрипта ./configure. В >> частности для различных диструбутивов, Debian, CentOS. Сейчас только >> мануал по подключению репозиториев nginx. >> Не подскажите, где бы найти эту информацию? >> >> Спасибо. >> > > А что Вам надо? > делаете apt-get source nginx > и потом в rules дописываете/удаляете что Вам надо. > > -- > WBR, Andrey Vasilishin CDIG1-UANIC, CDIG1-RIPE > > ______________________________**_________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/**mailman/listinfo/nginx-ru Да, спасибо, это то, что мне было надо:) До этого устанавливал не через apt-get source. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From yarosla на gmail.com Tue Jan 3 20:49:55 2012 From: yarosla на gmail.com (Yaroslav) Date: Wed, 4 Jan 2012 00:49:55 +0400 Subject: Upstream keepalive (http backend) Message-ID: С Новым годом всем! Подскажите, пожалуйста, как заставить работать соединение с http-бекендом в режиме keep-alive? Вычитал в changelog'е, что такая возможность вроде бы появилась, хотя тут ( http://wiki.nginx.org/HttpUpstreamKeepaliveModule) все еще написано, что модуль вместе с сервером не поставляется и с http пока не работает. Скачал последний (1.1.12) nginx, вижу, что в папке modules соответствующий модуль есть, собрал с настройками configure по умолчанию. Написал в nginx.conf: upstream backweb { server localhost:8777; keepalive 512; } server { ... location /test { ssi off; proxy_cache off; proxy_pass http://backweb; } } Конфигурацию принимает, проксирование работает, но к бекенду приходят запросы без keep-alive (GET /test HTTP/1.0). Чего тут не хватает? Ярослав ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mdounin на mdounin.ru Tue Jan 3 22:15:58 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Wed, 4 Jan 2012 02:15:58 +0400 Subject: Upstream keepalive (http backend) In-Reply-To: References: Message-ID: <20120103221558.GL67687@mdounin.ru> Hello! On Wed, Jan 04, 2012 at 12:49:55AM +0400, Yaroslav wrote: > С Новым годом всем! > > Подскажите, пожалуйста, как заставить работать соединение с http-бекендом в > режиме keep-alive? > > Вычитал в changelog'е, что такая возможность вроде бы появилась, хотя тут ( > http://wiki.nginx.org/HttpUpstreamKeepaliveModule) все еще написано, что > модуль вместе с сервером не поставляется и с http пока не работает. > > Скачал последний (1.1.12) nginx, вижу, что в папке modules соответствующий > модуль есть, собрал с настройками configure по умолчанию. > > Написал в nginx.conf: > > upstream backweb { > server localhost:8777; > keepalive 512; Just a side note: а у вас бекенд столько сможет? > } > > server { > ... > location /test { > ssi off; > proxy_cache off; > proxy_pass http://backweb; proxy_http_version 1.1; proxy_set_header Connection ""; > } > } > > Конфигурацию принимает, проксирование работает, но к бекенду приходят > запросы без keep-alive (GET /test HTTP/1.0). Чего тут не хватает? См. выше. Maxim Dounin From yarosla на gmail.com Tue Jan 3 22:51:52 2012 From: yarosla на gmail.com (Yaroslav) Date: Wed, 4 Jan 2012 02:51:52 +0400 Subject: Upstream keepalive (http backend) In-Reply-To: <20120103221558.GL67687@mdounin.ru> References: <20120103221558.GL67687@mdounin.ru> Message-ID: 2012/1/4 Maxim Dounin > Hello! > > On Wed, Jan 04, 2012 at 12:49:55AM +0400, Yaroslav wrote: > > > С Новым годом всем! > > > > Подскажите, пожалуйста, как заставить работать соединение с > http-бекендом в > > режиме keep-alive? > > > > Вычитал в changelog'е, что такая возможность вроде бы появилась, хотя > тут ( > > http://wiki.nginx.org/HttpUpstreamKeepaliveModule) все еще написано, что > > модуль вместе с сервером не поставляется и с http пока не работает. > > > > Скачал последний (1.1.12) nginx, вижу, что в папке modules > соответствующий > > модуль есть, собрал с настройками configure по умолчанию. > > > > Написал в nginx.conf: > > > > upstream backweb { > > server localhost:8777; > > keepalive 512; > > Just a side note: а у вас бекенд столько сможет? > Сможет и раз в пять больше. Это nxweb. Экспериментирую. > > > } > > > > server { > > ... > > location /test { > > ssi off; > > proxy_cache off; > > proxy_pass http://backweb; > > proxy_http_version 1.1; > proxy_set_header Connection ""; > > > } > > } > > > > Конфигурацию принимает, проксирование работает, но к бекенду приходят > > запросы без keep-alive (GET /test HTTP/1.0). Чего тут не хватает? > > См. выше. > > Спасибо! Заработало. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From swood на fotofor.biz Wed Jan 4 10:55:22 2012 From: swood на fotofor.biz (Anton Kiryushkin) Date: Wed, 4 Jan 2012 14:55:22 +0400 Subject: proxy_cache_key $http_user_agent In-Reply-To: References: Message-ID: В продолжении этой темы возник следующий вопрос. Возможно ли только при кэшировании исключать определенные заголовки. Таким образом, чтобы кэш оставался универсальным, вне зависимости от кук и сессий. Вопрос возник в связи с тем, что на текущий момент кэш хоть и работает, но при нескольких подряд нажатиях на ctrl + f5 в браузере появляется ошибка 502, хотя страница 100% сидит в кэше. 22 декабря 2011 г. 18:34 пользователь Anton Kiryushkin написал: > Не найдя других решений сделал lua-вставку. Работает на УРА :) > > > 21 декабря 2011 г. 19:33 пользователь Anton Kiryushkin > написал: >> Да, так и получилось, спасибо! >> >> Теперь вторая часть. Допустим в URL есть сессия, то есть урл выглядит >> примерно так: >> http://site.com/page.html;session=29387492387492837 >> Можно ли как-то при кэшировании этот параметр сессии отбрасывать, а >> потом при доставании из кэша игнорировать? >> >> 21 декабря 2011 г. 0:03 пользователь Oleksandr V. Typlyns'kyi >> написал: >>> Today Dec 20, 2011 at 23:45 Anton Kiryushkin wrote: >>> >>>> Ну как задавать в общем-то на вкус и цвет...А вот насчет >>>> proxy_cache_key, может ли кто-нибудь подсказать с примером такого >>>> использования. К сожалению пока что мои эксперименты результата не >>>> дали.. >>> >>>  Просто добавить вместе с другими переменными: >>>  http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_cache_key >>>  proxy_cache_key $scheme$proxy_host$request_uri$agent; >>> >>> -- >>> WNGS-RIPE >>> >>> _______________________________________________ >>> nginx-ru mailing list >>> nginx-ru на nginx.org >>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> >> >> >> -- >> Best regards, >> Anton Kiryushkin, > > > > -- > Best regards, > Anton Kiryushkin, -- Best regards, Anton Kiryushkin, From nginx-forum на nginx.us Wed Jan 4 12:50:10 2012 From: nginx-forum на nginx.us (snikers) Date: Wed, 04 Jan 2012 07:50:10 -0500 Subject: =?UTF-8?B?UmU6INGH0YLQtdC90LjQtSDRh9GD0LbQuNGFINGE0LDQudC70L7Qsi4=?= In-Reply-To: <4ED11D72.4000107@csdoc.com> References: <4ED11D72.4000107@csdoc.com> Message-ID: Доброго времени суток Для freebsd систем понятно что можно использовать nosymfollow, а что делать в centos и debian? Как себя обезопасить? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,218970,220791#msg-220791 From sergey.kobzar на itcraft.org Wed Jan 4 17:26:48 2012 From: sergey.kobzar на itcraft.org (Sergey Kobzar) Date: Wed, 04 Jan 2012 19:26:48 +0200 Subject: =?UTF-8?B?0YDQsNC30LvQuNGH0L3Ri9C1INC60L7QtNGLINC90LAg0YTRgNC+0L3RgtC10L0=?= =?UTF-8?B?0LTQtS/QsdGN0LrQtdC90LTQtQ==?= Message-ID: <4F048BD8.7090709@itcraft.org> - бэкенд: 66.249.71.181 - - [04/Jan/2012:14:42:38 +0000] "GET /Companies/col%C3%A9gio-estadual-padre-sigismundo/0070004005628 HTTP/1.0" 499 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" "-" - тоже на фроонтэнде: 66.249.71.245 - - [04/Jan/2012:14:42:38 +0000] "GET /Companies/col%C3%A9gio-estadual-osvaldo-aranha/0070003999068 HTTP/1.1" 504 9700 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" "-" 10.17.92.2:80 504 10.17.92.2:80 504 - $upstream_addr $upstream_status На бэкенде 499, а на фронтэнде это уже 504. Ничего военного в конфига бэкенда/фронтенда по поводу обработки 499 ошибки нет: - бэкенд error_page 404 /index.php?page=404; error_page 500 502 503 504 = /errors/500.html; - фронтэнд location / { proxy_pass http://backend; proxy_next_upstream error timeout http_502 http_504; ... } error_page 500 502 504 /errors/500.html; location ^~ /errors/ { root /home/www/localhost/htdocs; expires max; } Any ideas? From sergey.kobzar на itcraft.org Wed Jan 4 17:27:41 2012 From: sergey.kobzar на itcraft.org (Sergey Kobzar) Date: Wed, 04 Jan 2012 19:27:41 +0200 Subject: =?UTF-8?B?UmU6INGA0LDQt9C70LjRh9C90YvQtSDQutC+0LTRiyDQvdCwINGE0YDQvtC90YI=?= =?UTF-8?B?0LXQvdC00LUv0LHRjdC60LXQvdC00LU=?= In-Reply-To: <4F048BD8.7090709@itcraft.org> References: <4F048BD8.7090709@itcraft.org> Message-ID: <4F048C0D.1040104@itcraft.org> On 01/04/12 19:26, Sergey Kobzar wrote: > - бэкенд: > > 66.249.71.181 - - [04/Jan/2012:14:42:38 +0000] "GET > /Companies/col%C3%A9gio-estadual-padre-sigismundo/0070004005628 > HTTP/1.0" 499 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; > +http://www.google.com/bot.html)" "-" > > > - тоже на фроонтэнде: > > 66.249.71.245 - - [04/Jan/2012:14:42:38 +0000] "GET > /Companies/col%C3%A9gio-estadual-osvaldo-aranha/0070003999068 HTTP/1.1" > 504 9700 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; > +http://www.google.com/bot.html)" "-" 10.17.92.2:80 504 > > 10.17.92.2:80 504 - $upstream_addr $upstream_status > > На бэкенде 499, а на фронтэнде это уже 504. > > > Ничего военного в конфига бэкенда/фронтенда по поводу обработки 499 > ошибки нет: > > - бэкенд > error_page 404 /index.php?page=404; > error_page 500 502 503 504 = /errors/500.html; > > - фронтэнд > location / { > proxy_pass http://backend; > proxy_next_upstream error timeout http_502 http_504; > > ... > } > > error_page 500 502 504 /errors/500.html; > > location ^~ /errors/ { > root /home/www/localhost/htdocs; > expires max; > } > > Any ideas? Забыл сказать - nginx/1.0.6 From wangsamp на gmail.com Wed Jan 4 18:26:07 2012 From: wangsamp на gmail.com (Oleksandr V. Typlyns'kyi) Date: Wed, 4 Jan 2012 20:26:07 +0200 (EET) Subject: =?UTF-8?B?UmU6INGA0LDQt9C70LjRh9C90YvQtSDQutC+0LTRiyDQvdCwINGE0YDQvtC90YI=?= =?UTF-8?B?0LXQvdC00LUv0LHRjdC60LXQvdC00LU=?= In-Reply-To: <4F048BD8.7090709@itcraft.org> References: <4F048BD8.7090709@itcraft.org> Message-ID: Today Jan 4, 2012 at 19:26 Sergey Kobzar wrote: > - бэкенд: > 66.249.71.181 - - [04/Jan/2012:14:42:38 +0000] "GET /Companies/col%C3%A9gio-estadual-padre-sigismundo/0070004005628 HTTP/1.0" 499 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" "-" > - тоже на фроонтэнде: > 66.249.71.245 - - [04/Jan/2012:14:42:38 +0000] "GET /Companies/col%C3%A9gio-estadual-osvaldo-aranha/0070003999068 HTTP/1.1" 504 9700 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" "-" 10.17.92.2:80 504 Смотрим на адреса - совсем не то же. > 10.17.92.2:80 504 - $upstream_addr $upstream_status > > На бэкенде 499, а на фронтэнде это уже 504. > > Any ideas? Один не дождался ответа(504) и закрыл соединение, а второй отразил в логе этот факт(499). -- WNGS-RIPE From sergey.kobzar на itcraft.org Wed Jan 4 19:13:26 2012 From: sergey.kobzar на itcraft.org (Sergey Kobzar) Date: Wed, 04 Jan 2012 21:13:26 +0200 Subject: =?UTF-8?B?UmU6INGA0LDQt9C70LjRh9C90YvQtSDQutC+0LTRiyDQvdCwINGE0YDQvtC90YI=?= =?UTF-8?B?0LXQvdC00LUv0LHRjdC60LXQvdC00LU=?= In-Reply-To: References: <4F048BD8.7090709@itcraft.org> Message-ID: <4F04A4D6.9050400@itcraft.org> On 01/04/12 20:26, Oleksandr V. Typlyns'kyi wrote: > Смотрим на адреса - совсем не то же. Сорри - промахнулся. - бэкенд: 66.249.71.181 - - [04/Jan/2012:14:42:38 +0000] "GET /Companies/col%C3%A9gio-estadual-padre-sigismundo/0070004005628 HTTP/1.0" 499 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" "-" - фронтэнд: 66.249.71.181 - - [04/Jan/2012:14:42:38 +0000] "GET /Companies/col%C3%A9gio-estadual-padre-sigismundo/0070004005628 HTTP/1.1" 504 9700 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" "-" 10.17.92.2:80 504 >> 10.17.92.2:80 504 - $upstream_addr $upstream_status >> >> На бэкенде 499, а на фронтэнде это уже 504. >> >> Any ideas? > > Один не дождался ответа(504) и закрыл соединение, а второй отразил в логе этот факт(499). > Т.е. фронтэнд закрыл соединение раньше не дождавшись ответа от бэкенда? В error log оч. много сообщений вида: 2012/01/04 13:09:05 [info] 22729#0: *100519124 client closed prematurely connection while reading client request line, client: 190.196.25.221, server: localhost 2012/01/04 13:09:05 [info] 22729#0: *100519081 client closed prematurely connection while reading client request line, client: 190.196.25.221, server: localhost 2012/01/04 13:09:08 [info] 22726#0: *100520277 client closed prematurely connection, so upstream connection is closed too while reading upstream, client: 66.249.71.181, server: localhost, request: "GET /Companies/comercial-papelyna/0070003951019 HTTP/1.0", upstream: "fastcgi://127.0.0.1:9001", host: "www.domain.com" Это нормально? From public-mail на alekciy.ru Thu Jan 5 07:45:10 2012 From: public-mail на alekciy.ru (=?UTF-8?B?0JDQu9C10LrRgdC10Lkg0KHRg9C90LTRg9C60L7Qsg==?=) Date: Thu, 5 Jan 2012 11:45:10 +0400 Subject: nginx REST Message-ID: Хочу спросить у общественности, кто-либо использует nginx для создание REST сервисов? Если более конкретизировать, то для поддержки PUT и DELETE методов нужно собирать с ngx_http_dav_module? ____ Алексей From postmaster на softsearch.ru Thu Jan 5 10:49:32 2012 From: postmaster на softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Thu, 5 Jan 2012 14:49:32 +0400 Subject: nginx REST In-Reply-To: References: Message-ID: <1574839309.20120105144932@softsearch.ru> Здравствуйте, Алексей. > Если более конкретизировать, то для поддержки PUT и DELETE методов > нужно собирать с ngx_http_dav_module? Да. -- С уважением, Михаил mailto:postmaster на softsearch.ru From snar на snar.spb.ru Thu Jan 5 11:21:32 2012 From: snar на snar.spb.ru (Alexandre Snarskii) Date: Thu, 5 Jan 2012 15:21:32 +0400 Subject: nginx REST In-Reply-To: References: Message-ID: <20120105112132.GA55913@snar.spb.ru> On Thu, Jan 05, 2012 at 11:45:10AM +0400, Алексей Сундуков wrote: > Хочу спросить у общественности, кто-либо использует nginx для создание > REST сервисов? > Если более конкретизировать, то для поддержки PUT и DELETE методов > нужно собирать с ngx_http_dav_module? Для поддержки PUT и DELETE методов _чем_ ? Если это ваш бэкенд будет их обрабатывать - ничего пересобирать не нужно, метод до бэкенда дойдет вполне прозрачно и как он их будет обрабатывать - проблемы бэкенда. А вот если вы хотите возложить поддержку данных методов на nginx - да, нужно пересобирать с dav'ом, но это уже не REST а DAV получается ;) -- In theory, there is no difference between theory and practice. But, in practice, there is. From public-mail на alekciy.ru Thu Jan 5 20:02:14 2012 From: public-mail на alekciy.ru (=?UTF-8?B?0JDQu9C10LrRgdC10Lkg0KHRg9C90LTRg9C60L7Qsg==?=) Date: Fri, 6 Jan 2012 00:02:14 +0400 Subject: nginx REST In-Reply-To: <20120105112132.GA55913@snar.spb.ru> References: <20120105112132.GA55913@snar.spb.ru> Message-ID: Да, обрабатывать будет бэкэнд. Прозрачный вариант это отлично. Значит REST вполне реализуем. 5 января 2012 г. 15:21 пользователь Alexandre Snarskii написал: > On Thu, Jan 05, 2012 at 11:45:10AM +0400, Алексей Сундуков wrote: >> Хочу спросить у общественности, кто-либо использует nginx для создание >> REST сервисов? >> Если более конкретизировать, то для поддержки PUT и DELETE методов >> нужно собирать с ngx_http_dav_module? > > Для поддержки PUT и DELETE методов _чем_ ? > Если это ваш бэкенд будет их обрабатывать - ничего пересобирать не нужно, > метод до бэкенда дойдет вполне прозрачно и как он их будет обрабатывать - > проблемы бэкенда. > А вот если вы хотите возложить поддержку данных методов на nginx - да, > нужно пересобирать с dav'ом, но это уже не REST а DAV получается ;) > > -- > In theory, there is no difference between theory and practice. > But, in practice, there is. > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From hell-for-yahoo на umail.ru Thu Jan 5 21:33:01 2012 From: hell-for-yahoo на umail.ru (Andrey Repin) Date: Fri, 6 Jan 2012 01:33:01 +0400 Subject: proxy_cache_key $http_user_agent In-Reply-To: References: Message-ID: <753381611.20120106013301@mtu-net.ru> Здравствуйте, Уважаемый(-ая, -ое) Anton Kiryushkin! AK> В продолжении этой темы возник следующий вопрос. Возможно ли только AK> при кэшировании исключать определенные заголовки. Таким образом, чтобы AK> кэш оставался универсальным, вне зависимости от кук и сессий. AK> Вопрос возник в связи с тем, что на текущий момент кэш хоть и AK> работает, но при нескольких подряд нажатиях на ctrl + f5 в браузере AK> появляется ошибка 502, хотя страница 100% сидит в кэше. А вы заголовки запроса, отправляемого браузером, посмотрите... -- С уважением Andrey Repin (hell-for-yahoo на umail.ru) пятница, 06.01.2012, <01:30> From hell-for-yahoo на umail.ru Thu Jan 5 21:37:30 2012 From: hell-for-yahoo на umail.ru (Andrey Repin) Date: Fri, 6 Jan 2012 01:37:30 +0400 Subject: различные коды на фронтенде/бэкенде In-Reply-To: <4F04A4D6.9050400@itcraft.org> References: <4F048BD8.7090709@itcraft.org> <4F04A4D6.9050400@itcraft.org> Message-ID: <747122781.20120106013730@mtu-net.ru> Здравствуйте, Уважаемый(-ая, -ое) Sergey Kobzar! SK> client closed prematurely connection while reading client request line Извините, что вмешиваюсь, но - это на каком языке он ругается? На сколько я знаю английский, это должно быть либо client prematurely closed connection while reading client request line либо client closed connection prematurely while reading client request line (до артиклей придираться не буду, я сам в них плаваю) -- С уважением Andrey Repin (hell-for-yahoo на umail.ru) пятница, 06.01.2012, <01:35> From public-mail на alekciy.ru Fri Jan 6 06:39:47 2012 From: public-mail на alekciy.ru (=?UTF-8?B?0JDQu9C10LrRgdC10Lkg0KHRg9C90LTRg9C60L7Qsg==?=) Date: Fri, 6 Jan 2012 10:39:47 +0400 Subject: =?UTF-8?B?UmU6INGA0LDQt9C70LjRh9C90YvQtSDQutC+0LTRiyDQvdCwINGE0YDQvtC90YI=?= =?UTF-8?B?0LXQvdC00LUv0LHRjdC60LXQvdC00LU=?= In-Reply-To: <4F04A4D6.9050400@itcraft.org> References: <4F048BD8.7090709@itcraft.org> <4F04A4D6.9050400@itcraft.org> Message-ID: 4 января 2012 г. 23:13 пользователь Sergey Kobzar написал: > On 01/04/12 20:26, Oleksandr V. Typlyns'kyi wrote: > >>   Смотрим на адреса - совсем не то же. > > > Сорри - промахнулся. > > > - бэкенд: > 66.249.71.181 - - [04/Jan/2012:14:42:38 +0000] "GET > /Companies/col%C3%A9gio-estadual-padre-sigismundo/0070004005628 HTTP/1.0" > 499 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; > +http://www.google.com/bot.html)" "-" > > - фронтэнд: > 66.249.71.181 - - [04/Jan/2012:14:42:38 +0000] "GET > /Companies/col%C3%A9gio-estadual-padre-sigismundo/0070004005628 HTTP/1.1" > 504 9700 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; > +http://www.google.com/bot.html)" "-" 10.17.92.2:80 504 А точно не промахнулся так же и с определениями бэкэнда/фротенда? Может все же 499 генерит фрон в лице nginx? Потому как 499 это HTTP код который добавлен nginx-ом, его нет в спецификации, это нестандартный ответ. Поэтому лично мне видится, что клиент, возможно это бот гугла, обращается к nginx, не дождавшись ответа разрывает соединение, nginx фиксирует 499, бэкэнд фиксирует 504 видимо потому что nginx уже не дожидается от него ответа. Лично я наблюдаю 499 в логах в двух случаях: проблемы с промежуточными узлами до клиента (разные кривые прокси и входные шлюзы), и при атаках когда устанавливают соединение и быстро его рвут дабы выбрать все ресурсы сервера. From sergey.kobzar на itcraft.org Fri Jan 6 11:28:40 2012 From: sergey.kobzar на itcraft.org (Sergey Kobzar) Date: Fri, 06 Jan 2012 13:28:40 +0200 Subject: =?UTF-8?B?UmU6INGA0LDQt9C70LjRh9C90YvQtSDQutC+0LTRiyDQvdCwINGE0YDQvtC90YI=?= =?UTF-8?B?0LXQvdC00LUv0LHRjdC60LXQvdC00LU=?= In-Reply-To: References: <4F048BD8.7090709@itcraft.org> <4F04A4D6.9050400@itcraft.org> Message-ID: <4F06DAE8.8090400@itcraft.org> On 01/06/12 08:39, Алексей Сундуков wrote: >> Сорри - промахнулся. >> >> >> - бэкенд: >> 66.249.71.181 - - [04/Jan/2012:14:42:38 +0000] "GET >> /Companies/col%C3%A9gio-estadual-padre-sigismundo/0070004005628 HTTP/1.0" >> 499 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; >> +http://www.google.com/bot.html)" "-" >> >> - фронтэнд: >> 66.249.71.181 - - [04/Jan/2012:14:42:38 +0000] "GET >> /Companies/col%C3%A9gio-estadual-padre-sigismundo/0070004005628 HTTP/1.1" >> 504 9700 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; >> +http://www.google.com/bot.html)" "-" 10.17.92.2:80 504 > > А точно не промахнулся так же и с определениями бэкэнда/фротенда? > Может все же 499 генерит фрон в лице nginx? Потому как 499 это HTTP > код который добавлен nginx-ом, его нет в спецификации, это > нестандартный ответ. Поэтому лично мне видится, что клиент, возможно > это бот гугла, обращается к nginx, не дождавшись ответа разрывает > соединение, nginx фиксирует 499, бэкэнд фиксирует 504 видимо потому > что nginx уже не дожидается от него ответа. Не - см логи: 1. HTTP/1.0 / HTTP/1.1 - фронтенд с бэкендом работает по HTTP/1.0. Бот пришел по HTTP/1.1. 2. 10.17.92.2:80 504 - $upstream_addr $upstream_status могут быть только на фронтенде. > Лично я наблюдаю 499 в логах в двух случаях: проблемы с промежуточными > узлами до клиента (разные кривые прокси и входные шлюзы), и при атаках > когда устанавливают соединение и быстро его рвут дабы выбрать все > ресурсы сервера. 99.99% это был Google (user agent + rdns). From swood на fotofor.biz Fri Jan 6 12:48:59 2012 From: swood на fotofor.biz (Anton Kiryushkin) Date: Fri, 6 Jan 2012 16:48:59 +0400 Subject: =?UTF-8?B?0LLQvtC/0YDQvtGBINC/0YDQviDQutGN0Yg=?= Message-ID: Как можно объяснить поведение nginx, при котором страница есть в кэше, бэкенд остановлен, а при ctrl + f5 ловится 502-я ошибка, хотя при возникновении этой ошибки ответ должен браться из кэша. Вот пример локейшена: location / { proxy_ignore_headers Cache-Control Expires Set-Cookie; proxy_hide_header "Set-Cookie"; proxy_cache cache_page; proxy_cache_key $scheme$host; proxy_cache_valid 1m; proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504 http_404; proxy_pass http://backend; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; proxy_redirect default; proxy_buffering on; } При этом если страница полностью прогрузилась, 502-я не ловится, а если догрузилась не доконца - то каждое второе срабатывание. -- Best regards, Anton Kiryushkin, From mdounin на mdounin.ru Sat Jan 7 02:46:03 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Sat, 7 Jan 2012 06:46:03 +0400 Subject: =?UTF-8?B?UmU6INGA0LDQt9C70LjRh9C90YvQtSDQutC+0LTRiyDQvdCwINGE0YDQvtC90YI=?= =?UTF-8?B?0LXQvdC00LUv0LHRjdC60LXQvdC00LU=?= In-Reply-To: <747122781.20120106013730@mtu-net.ru> References: <4F048BD8.7090709@itcraft.org> <4F04A4D6.9050400@itcraft.org> <747122781.20120106013730@mtu-net.ru> Message-ID: <20120107024602.GP67687@mdounin.ru> Hello! On Fri, Jan 06, 2012 at 01:37:30AM +0400, Andrey Repin wrote: > Здравствуйте, Уважаемый(-ая, -ое) Sergey Kobzar! > > SK> client closed prematurely connection while reading client request line > > Извините, что вмешиваюсь, но - это на каком языке он ругается? > На сколько я знаю английский, это должно быть либо > > client prematurely closed connection while reading client request line > > либо > > client closed connection prematurely while reading client request line http://trac.nginx.org/nginx/changeset/4183/nginx > (до артиклей придираться не буду, я сам в них плаваю) "Артикль часто опускается, для краткости, в газетных и журнальных заголовках, объявлениях, телеграммах, географических картах и т.п." Maxim Dounin From postmaster на softsearch.ru Sat Jan 7 16:36:00 2012 From: postmaster на softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Sat, 7 Jan 2012 20:36:00 +0400 Subject: =?UTF-8?B?0J/RgNC+INCz0LXQvi3QsdCw0LfRgyB3aXBtYW5pYS5jb20=?= Message-ID: <949793524.20120107203600@softsearch.ru> Здравствуйте. Как я понимаю, проект wipmania.com заброшен и существует в автономном режиме. Новая гео-база не выкладывается, но доступна через запросы к api сайта. Кто-то уже вытаскивал всю геобазу через это api, или мне первому такая идея пришла? -- С уважением, Михаил mailto:postmaster на softsearch.ru From mdounin на mdounin.ru Sun Jan 8 12:52:56 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Sun, 8 Jan 2012 16:52:56 +0400 Subject: =?UTF-8?B?UmU6INCy0L7Qv9GA0L7RgSDQv9GA0L4g0LrRjdGI?= In-Reply-To: References: Message-ID: <20120108125256.GY67687@mdounin.ru> Hello! On Fri, Jan 06, 2012 at 04:48:59PM +0400, Anton Kiryushkin wrote: > Как можно объяснить поведение nginx, при котором страница есть в кэше, > бэкенд остановлен, а при ctrl + f5 ловится 502-я ошибка, хотя при > возникновении этой ошибки ответ должен браться из кэша. Вот пример > локейшена: > > location / { > proxy_ignore_headers Cache-Control Expires Set-Cookie; > proxy_hide_header "Set-Cookie"; > > proxy_cache cache_page; > proxy_cache_key $scheme$host; > proxy_cache_valid 1m; > > proxy_cache_use_stale error timeout invalid_header > updating http_500 http_502 http_503 http_504 http_404; > > proxy_pass http://backend; > proxy_set_header X-Real-IP $remote_addr; > proxy_set_header Host $http_host; > proxy_redirect default; > proxy_buffering on; > } > > При этом если страница полностью прогрузилась, 502-я не ловится, а > если догрузилась не доконца - то каждое второе срабатывание. А в логах при этом что? Maxim Dounin From kaa на berloga.ru Sun Jan 8 14:08:36 2012 From: kaa на berloga.ru (=?UTF-8?B?0JDQvdC00YDQtdC5INCR0L7QudC60L4=?=) Date: Sun, 08 Jan 2012 18:08:36 +0400 Subject: Slow Read DoS attack Message-ID: <4F09A364.6030407@berloga.ru> Добрый день. Прочитал топик на хабре http://habrahabr.ru/blogs/infosecurity/135817/, проверил - все ложится на раз. Есть мысли, как это забороть? Или это не проблема nginx? -- Андрей Бойко. From public-mail на alekciy.ru Sun Jan 8 15:02:43 2012 From: public-mail на alekciy.ru (=?UTF-8?B?0JDQu9C10LrRgdC10Lkg0KHRg9C90LTRg9C60L7Qsg==?=) Date: Sun, 8 Jan 2012 19:02:43 +0400 Subject: =?UTF-8?B?UmU6INCf0YDQviDQs9C10L4t0LHQsNC30YMgd2lwbWFuaWEuY29t?= In-Reply-To: <949793524.20120107203600@softsearch.ru> References: <949793524.20120107203600@softsearch.ru> Message-ID: Может немного не в тему, но чем MaxMind не угодил? P.S. Может стоит обратиться к авторам базы (в рассылке засвечивался Alex Aster который видимо имеет отношение к проекту)? 2012/1/7 Михаил Монашёв : > Здравствуйте. > > Как  я понимаю, проект wipmania.com заброшен и существует в автономном > режиме.  Новая  гео-база не выкладывается, но доступна через запросы к > api  сайта.  Кто-то  уже вытаскивал всю геобазу через это api, или мне > первому такая идея пришла? > > -- > С уважением, >  Михаил                          mailto:postmaster на softsearch.ru > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From swood на fotofor.biz Sun Jan 8 17:24:58 2012 From: swood на fotofor.biz (Anton Kiryushkin) Date: Sun, 8 Jan 2012 21:24:58 +0400 Subject: =?UTF-8?B?UmU6INCy0L7Qv9GA0L7RgSDQv9GA0L4g0LrRjdGI?= In-Reply-To: <20120108125256.GY67687@mdounin.ru> References: <20120108125256.GY67687@mdounin.ru> Message-ID: Честно сказать дебаг я еще не делал. В обычном access стандартный ответ 502. 8 января 2012 г. 16:52 пользователь Maxim Dounin написал: > Hello! > > On Fri, Jan 06, 2012 at 04:48:59PM +0400, Anton Kiryushkin wrote: > >> Как можно объяснить поведение nginx, при котором страница есть в кэше, >> бэкенд остановлен, а при ctrl + f5 ловится 502-я ошибка, хотя при >> возникновении этой ошибки ответ должен браться из кэша. Вот пример >> локейшена: >> >> location / { >>             proxy_ignore_headers Cache-Control Expires Set-Cookie; >>             proxy_hide_header "Set-Cookie"; >> >>             proxy_cache cache_page; >>             proxy_cache_key $scheme$host; >>             proxy_cache_valid 1m; >> >>             proxy_cache_use_stale error timeout invalid_header >> updating http_500 http_502 http_503 http_504 http_404; >> >>             proxy_pass  http://backend; >>             proxy_set_header X-Real-IP $remote_addr; >>             proxy_set_header Host $http_host; >>             proxy_redirect default; >>             proxy_buffering on; >> } >> >> При этом если страница полностью прогрузилась, 502-я не ловится, а >> если догрузилась не доконца - то каждое второе срабатывание. > > А в логах при этом что? > > Maxim Dounin > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Best regards, Anton Kiryushkin, From nginx-ru на sadok.spb.ru Sun Jan 8 20:10:47 2012 From: nginx-ru на sadok.spb.ru (Dmitry Ivanov) Date: Mon, 9 Jan 2012 00:10:47 +0400 Subject: Slow Read DoS attack In-Reply-To: <4F09A364.6030407@berloga.ru> References: <4F09A364.6030407@berloga.ru> Message-ID: <32771185.20120109001047@sadok.spb.ru> Здравствуйте, Андрей. Вы писали 8 января 2012 г., 18:08:36: > Добрый день. > Прочитал топик на хабре > http://habrahabr.ru/blogs/infosecurity/135817/, > проверил - все ложится на раз. > Есть мысли, как это забороть? Или это не проблема nginx? С какими параметрами запускали? Пробовал дефолтные - ноль эмоций. Потыкал в 3 сервера. Везде Фря 7.х -- С уважением, Dmitry mailto:nginx-ru на sadok.spb.ru From mdounin на mdounin.ru Mon Jan 9 01:10:46 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 9 Jan 2012 05:10:46 +0400 Subject: =?UTF-8?B?UmU6INCy0L7Qv9GA0L7RgSDQv9GA0L4g0LrRjdGI?= In-Reply-To: References: <20120108125256.GY67687@mdounin.ru> Message-ID: <20120109011046.GB67687@mdounin.ru> Hello! On Sun, Jan 08, 2012 at 09:24:58PM +0400, Anton Kiryushkin wrote: > Честно сказать дебаг я еще не делал. В обычном access стандартный ответ 502. Для начала - что в error_log'е, и что в переменных $upstream_addr, $upstream_status, $upstream_cache_status (писать в access_log). Maxim Dounin > > 8 января 2012 г. 16:52 пользователь Maxim Dounin написал: > > Hello! > > > > On Fri, Jan 06, 2012 at 04:48:59PM +0400, Anton Kiryushkin wrote: > > > >> Как можно объяснить поведение nginx, при котором страница есть в кэше, > >> бэкенд остановлен, а при ctrl + f5 ловится 502-я ошибка, хотя при > >> возникновении этой ошибки ответ должен браться из кэша. Вот пример > >> локейшена: > >> > >> location / { > >>             proxy_ignore_headers Cache-Control Expires Set-Cookie; > >>             proxy_hide_header "Set-Cookie"; > >> > >>             proxy_cache cache_page; > >>             proxy_cache_key $scheme$host; > >>             proxy_cache_valid 1m; > >> > >>             proxy_cache_use_stale error timeout invalid_header > >> updating http_500 http_502 http_503 http_504 http_404; > >> > >>             proxy_pass  http://backend; > >>             proxy_set_header X-Real-IP $remote_addr; > >>             proxy_set_header Host $http_host; > >>             proxy_redirect default; > >>             proxy_buffering on; > >> } > >> > >> При этом если страница полностью прогрузилась, 502-я не ловится, а > >> если догрузилась не доконца - то каждое второе срабатывание. > > > > А в логах при этом что? > > > > Maxim Dounin > > > > _______________________________________________ > > nginx-ru mailing list > > nginx-ru на nginx.org > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > -- > Best regards, > Anton Kiryushkin, > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From kaa на berloga.ru Mon Jan 9 01:23:21 2012 From: kaa на berloga.ru (=?KOI8-R?Q?=E1=CE=C4=D2=C5=CA_=E2=CF=CA=CB=CF?=) Date: Mon, 09 Jan 2012 05:23:21 +0400 Subject: Slow Read DoS attack In-Reply-To: <32771185.20120109001047@sadok.spb.ru> References: <4F09A364.6030407@berloga.ru> <32771185.20120109001047@sadok.spb.ru> Message-ID: <4F0A4189.8080402@berloga.ru> slowhttptest -c 1000 -X -g -o slow_read_stats -r 200 -w 1 -y 2 -n 5 -z 32 -k 3 -u http://localhost/target_file -p 3 Не забываем,, что дергать надо файл, который не помещается целиком в сендбуфер. 09.01.2012 00:10, Dmitry Ivanov пишет: > Здравствуйте, Андрей. > > Вы писали 8 января 2012 г., 18:08:36: > >> Добрый день. >> Прочитал топик на хабре >> http://habrahabr.ru/blogs/infosecurity/135817/, >> проверил - все ложится на раз. >> Есть мысли, как это забороть? Или это не проблема nginx? > С какими параметрами запускали? Пробовал дефолтные - ноль эмоций. > Потыкал в 3 сервера. Везде Фря 7.х > > -- Андрей Бойко. тел. +7 (903) 144-11-65 тел. +7 (495) 755-71-27 skype boykoav icq 472-82-39 From mdounin на mdounin.ru Mon Jan 9 02:48:29 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 9 Jan 2012 06:48:29 +0400 Subject: Slow Read DoS attack In-Reply-To: <4F09A364.6030407@berloga.ru> References: <4F09A364.6030407@berloga.ru> Message-ID: <20120109024829.GC67687@mdounin.ru> Hello! On Sun, Jan 08, 2012 at 06:08:36PM +0400, Андрей Бойко wrote: > Добрый день. > > Прочитал топик на хабре > http://habrahabr.ru/blogs/infosecurity/135817/, проверил - все > ложится на раз. > Есть мысли, как это забороть? Или это не проблема nginx? Это скорее проблема настроек, чем nginx'а. Данная "атака" имитирует большое количество медленно читающих ответ клиентов, и вполне логично, что если клиентов больше, чем разрешено держать соединений nginx'у, то будет проблема. На уровне nginx'а можно бороться двумя способами: 1) Разрешить nginx'у держать больше соединений, увеличив worker_connections, благо это дёшево. Главное - не забыть соответственно настроить операционную систему. 2) Ограничить количество соединений с одного ip-адреса через limit_conn. Maxim Dounin From postmaster на softsearch.ru Mon Jan 9 09:05:26 2012 From: postmaster на softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Mon, 9 Jan 2012 13:05:26 +0400 Subject: =?UTF-8?B?UmVbMl06INCf0YDQviDQs9C10L4t0LHQsNC30YMgd2lwbWFuaWEuY29t?= In-Reply-To: References: <949793524.20120107203600@softsearch.ru> Message-ID: <84188990.20120109130526@softsearch.ru> Здравствуйте, Алексей. > Может немного не в тему, но чем MaxMind не угодил? Она кривая. У wipmania в разы реже юзеры жаловались на то, что страна определилась неправильно. > P.S. Может стоит обратиться к авторам базы (в рассылке засвечивался > Alex Aster который видимо имеет отношение к проекту)? Он как-то не шибко отвечает на письма. >> Как  я понимаю, проект wipmania.com заброшен и существует в автономном >> режиме.  Новая  гео-база не выкладывается, но доступна через запросы к >> api  сайта.  Кто-то  уже вытаскивал всю геобазу через это api, или мне >> первому такая идея пришла? -- С уважением, Михаил mailto:postmaster на softsearch.ru From rusnginx на gmail.com Mon Jan 9 09:37:42 2012 From: rusnginx на gmail.com (Alex Aster) Date: Mon, 9 Jan 2012 10:37:42 +0100 Subject: =?UTF-8?B?UmU6IFJlWzJdOiDQn9GA0L4g0LPQtdC+LdCx0LDQt9GDIHdpcG1hbmlhLmNvbQ==?= In-Reply-To: <84188990.20120109130526@softsearch.ru> References: <949793524.20120107203600@softsearch.ru> <84188990.20120109130526@softsearch.ru> Message-ID: привет, это правда, база не актуализируется уже давно, с лета я активно был занят над другим проектом, но очень планирую уже в этом месяце возобновить работу над випманией. --------------- Alex Aster http://www.WIPmania.com - база IP геолокации 2012/1/9 Михаил Монашёв > Здравствуйте, Алексей. > > > Может немного не в тему, но чем MaxMind не угодил? > > Она кривая. У wipmania в разы реже юзеры жаловались на то, что страна > определилась неправильно. > > > P.S. Может стоит обратиться к авторам базы (в рассылке засвечивался > > Alex Aster который видимо имеет отношение к проекту)? > > Он как-то не шибко отвечает на письма. > > >> Как я понимаю, проект wipmania.com заброшен и существует в автономном > >> режиме. Новая гео-база не выкладывается, но доступна через запросы к > >> api сайта. Кто-то уже вытаскивал всю геобазу через это api, или мне > >> первому такая идея пришла? > > > -- > С уважением, > Михаил mailto:postmaster на softsearch.ru > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -------------- next part -------------- An HTML attachment was scrubbed... URL: From kaa на berloga.ru Mon Jan 9 10:10:08 2012 From: kaa на berloga.ru (=?KOI8-R?Q?=E1=CE=C4=D2=C5=CA_=E2=CF=CA=CB=CF?=) Date: Mon, 09 Jan 2012 14:10:08 +0400 Subject: Slow Read DoS attack In-Reply-To: <20120109024829.GC67687@mdounin.ru> References: <4F09A364.6030407@berloga.ru> <20120109024829.GC67687@mdounin.ru> Message-ID: <4F0ABD00.8010806@berloga.ru> Добрый день. 09.01.2012 06:48, Maxim Dounin пишет: > Hello! > > On Sun, Jan 08, 2012 at 06:08:36PM +0400, Андрей Бойко wrote: > >> Добрый день. >> >> Прочитал топик на хабре >> http://habrahabr.ru/blogs/infosecurity/135817/, проверил - все >> ложится на раз. >> Есть мысли, как это забороть? Или это не проблема nginx? > Это скорее проблема настроек, чем nginx'а. Данная "атака" > имитирует большое количество медленно читающих ответ клиентов, и > вполне логично, что если клиентов больше, чем разрешено держать > соединений nginx'у, то будет проблема. > > На уровне nginx'а можно бороться двумя способами: > > 1) Разрешить nginx'у держать больше соединений, увеличив > worker_connections, благо это дёшево. Главное - не забыть > соответственно настроить операционную систему. > > 2) Ограничить количество соединений с одного ip-адреса через > limit_conn. > > Maxim Dounin > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Максим, вариант 1 вряд ли подходит, у меня worker_connections 100000 и система настроена соответственно. Вариант 2 вроде как работает, при ограничении в 500r/s ложиться перестало. Надо еще попробовать на более объемном файле. Спасибо за ответ. -- Андрей Бойко. тел. +7 (903) 144-11-65 тел. +7 (495) 755-71-27 skype boykoav icq 472-82-39 From mdounin на mdounin.ru Mon Jan 9 13:12:50 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 9 Jan 2012 17:12:50 +0400 Subject: Slow Read DoS attack In-Reply-To: <4F0ABD00.8010806@berloga.ru> References: <4F09A364.6030407@berloga.ru> <20120109024829.GC67687@mdounin.ru> <4F0ABD00.8010806@berloga.ru> Message-ID: <20120109131250.GD67687@mdounin.ru> Hello! On Mon, Jan 09, 2012 at 02:10:08PM +0400, Андрей Бойко wrote: > Добрый день. > > 09.01.2012 06:48, Maxim Dounin пишет: > >Hello! > > > >On Sun, Jan 08, 2012 at 06:08:36PM +0400, Андрей Бойко wrote: > > > >>Добрый день. > >> > >>Прочитал топик на хабре > >>http://habrahabr.ru/blogs/infosecurity/135817/, проверил - все > >>ложится на раз. > >>Есть мысли, как это забороть? Или это не проблема nginx? > >Это скорее проблема настроек, чем nginx'а. Данная "атака" > >имитирует большое количество медленно читающих ответ клиентов, и > >вполне логично, что если клиентов больше, чем разрешено держать > >соединений nginx'у, то будет проблема. > > > >На уровне nginx'а можно бороться двумя способами: > > > >1) Разрешить nginx'у держать больше соединений, увеличив > >worker_connections, благо это дёшево. Главное - не забыть > >соответственно настроить операционную систему. > > > >2) Ограничить количество соединений с одного ip-адреса через > >limit_conn. > > Максим, вариант 1 вряд ли подходит, у меня worker_connections > 100000 и система настроена соответственно. И при этом ложится от "slowhttptest -c 1000 -X ..."? Значит, система не настроена. С учётом того, что slowhttptest использует select() и больше FD_SETSIZE (обычно 1024) соединений открыть не может, для того чтобы положить настроенную систему с worker_connections 100000 (и одним рабочим процессом) - понадобится сотня экземпляров slowhttptest'а. А с учётом того, портов всего 64k, эти экземпляры должны быть как минимум на двух разных ip-адресах. > Вариант 2 вроде как работает, при ограничении в 500r/s ложиться > перестало. Надо еще попробовать на более объемном файле. > Спасибо за ответ. От атаки с одной машины (aka развлекающихся пионеров) должно вполне хватать (1). Ищите, что у вас недонастроено. Maxim Dounin From kaa на berloga.ru Mon Jan 9 13:14:37 2012 From: kaa на berloga.ru (=?KOI8-R?Q?=E1=CE=C4=D2=C5=CA_=E2=CF=CA=CB=CF?=) Date: Mon, 09 Jan 2012 17:14:37 +0400 Subject: Slow Read DoS attack In-Reply-To: <20120109131250.GD67687@mdounin.ru> References: <4F09A364.6030407@berloga.ru> <20120109024829.GC67687@mdounin.ru> <4F0ABD00.8010806@berloga.ru> <20120109131250.GD67687@mdounin.ru> Message-ID: <4F0AE83D.5060600@berloga.ru> 09.01.2012 17:12, Maxim Dounin пишет: > Hello! > > On Mon, Jan 09, 2012 at 02:10:08PM +0400, Андрей Бойко wrote: > >> Добрый день. >> >> 09.01.2012 06:48, Maxim Dounin пишет: >>> Hello! >>> >>> On Sun, Jan 08, 2012 at 06:08:36PM +0400, Андрей Бойко wrote: >>> >>>> Добрый день. >>>> >>>> Прочитал топик на хабре >>>> http://habrahabr.ru/blogs/infosecurity/135817/, проверил - все >>>> ложится на раз. >>>> Есть мысли, как это забороть? Или это не проблема nginx? >>> Это скорее проблема настроек, чем nginx'а. Данная "атака" >>> имитирует большое количество медленно читающих ответ клиентов, и >>> вполне логично, что если клиентов больше, чем разрешено держать >>> соединений nginx'у, то будет проблема. >>> >>> На уровне nginx'а можно бороться двумя способами: >>> >>> 1) Разрешить nginx'у держать больше соединений, увеличив >>> worker_connections, благо это дёшево. Главное - не забыть >>> соответственно настроить операционную систему. >>> >>> 2) Ограничить количество соединений с одного ip-адреса через >>> limit_conn. >> Максим, вариант 1 вряд ли подходит, у меня worker_connections >> 100000 и система настроена соответственно. > И при этом ложится от "slowhttptest -c 1000 -X ..."? Значит, > система не настроена. > > С учётом того, что slowhttptest использует select() и больше > FD_SETSIZE (обычно 1024) соединений открыть не может, для того > чтобы положить настроенную систему с worker_connections 100000 (и > одним рабочим процессом) - понадобится сотня экземпляров > slowhttptest'а. А с учётом того, портов всего 64k, эти экземпляры > должны быть как минимум на двух разных ip-адресах. > >> Вариант 2 вроде как работает, при ограничении в 500r/s ложиться >> перестало. Надо еще попробовать на более объемном файле. >> Спасибо за ответ. > От атаки с одной машины (aka развлекающихся пионеров) должно > вполне хватать (1). Ищите, что у вас недонастроено. > > Maxim Dounin > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Спасибо, поищу. В общем-то логично. -- Андрей Бойко. тел. +7 (903) 144-11-65 тел. +7 (495) 755-71-27 skype boykoav icq 472-82-39 From nginx-ru на sadok.spb.ru Mon Jan 9 16:19:45 2012 From: nginx-ru на sadok.spb.ru (Dmitry Ivanov) Date: Mon, 9 Jan 2012 20:19:45 +0400 Subject: Slow Read DoS attack In-Reply-To: <4F0A4189.8080402@berloga.ru> References: <4F09A364.6030407@berloga.ru> <32771185.20120109001047@sadok.spb.ru> <4F0A4189.8080402@berloga.ru> Message-ID: <813266985.20120109201945@sadok.spb.ru> Здравствуйте, Андрей. Вы писали 9 января 2012 г., 5:23:21: > slowhttptest -c 1000 -X -g -o slow_read_stats -r 200 -w 1 -y 2 -n 5 -z > 32 -k 3 -u http://localhost/target_file -p 3 > Не забываем,, что дергать надо файл, который не помещается целиком в > сендбуфер. Нет, не падает... Правда, дергал всего с одной машины FreeBSD 8.2-RELEASE net.inet.tcp.sendbuf_max: 262144 net.inet.tcp.sendbuf_inc: 8192 net.inet.tcp.sendbuf_auto: 1 файл дергал мегабайтный. -- С уважением, Dmitry mailto:nginx-ru на sadok.spb.ru From n.g.i.n.x.e.r на gmail.com Tue Jan 10 08:34:55 2012 From: n.g.i.n.x.e.r на gmail.com (=?UTF-8?B?0KDQvtC80LDQvQ==?=) Date: Tue, 10 Jan 2012 12:34:55 +0400 Subject: nginx REST In-Reply-To: References: <20120105112132.GA55913@snar.spb.ru> Message-ID: для реста ничего не нужно копать в nginx это если с fpm с апачем не работаю, не знаю как с ним 6 января 2012 г. 0:02 пользователь Алексей Сундуков написал: > Да, обрабатывать будет бэкэнд. Прозрачный вариант это отлично. Значит > REST вполне реализуем. > > 5 января 2012 г. 15:21 пользователь Alexandre Snarskii > написал: >> On Thu, Jan 05, 2012 at 11:45:10AM +0400, Алексей Сундуков wrote: >>> Хочу спросить у общественности, кто-либо использует nginx для создание >>> REST сервисов? >>> Если более конкретизировать, то для поддержки PUT и DELETE методов >>> нужно собирать с ngx_http_dav_module? >> >> Для поддержки PUT и DELETE методов _чем_ ? >> Если это ваш бэкенд будет их обрабатывать - ничего пересобирать не нужно, >> метод до бэкенда дойдет вполне прозрачно и как он их будет обрабатывать - >> проблемы бэкенда. >> А вот если вы хотите возложить поддержку данных методов на nginx - да, >> нужно пересобирать с dav'ом, но это уже не REST а DAV получается ;) >> >> -- >> In theory, there is no difference between theory and practice. >> But, in practice, there is. >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From tvword на gmail.com Tue Jan 10 09:56:12 2012 From: tvword на gmail.com (Vladislav Vladimirovich) Date: Tue, 10 Jan 2012 11:56:12 +0200 Subject: =?UTF-8?B?TkdJTlggUEVSTCDQuCDQr9C90LTQtdC60YEgT0F1dGggMi4w?= Message-ID: Сори, что немного не в тему, но спросить больше негде. Есть простенький ngnix perl-сайт. Нужно сделать авторизацию пользователей. Можно через auth_basic и auth_basic_user_file, но хотелось бы не мучить пользователей на предмет ввода паролей каждый раз после закрытия браузера. Возникла идея - подключить Яндекс OAuth 2.0 - http://api.yandex.ru/oauth/doc/dg/concepts/authorization-scheme.xml. Описание протокола - http://habrahabr.ru/company/mailru/blog/115163 . И входить вобще без пароля - http://habrahabr.ru/blogs/webdev/122012/ Есть специальный модуль perl - Net::OAuth, есть пояснение - http://www.perlmonks.org/?node_id=892179 Но как прикруть этот модуль, и как вобще происходит проверка - тот пользователь или не тот - вобще не понимаю, т.к. с авторизацией никогда не разбирался. Подскажите, с чего копать? From mdounin на mdounin.ru Tue Jan 10 10:13:57 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 10 Jan 2012 14:13:57 +0400 Subject: =?UTF-8?B?UmU6IE5HSU5YIFBFUkwg0Lgg0K/QvdC00LXQutGBIE9BdXRoIDIuMA==?= In-Reply-To: References: Message-ID: <20120110101356.GJ67687@mdounin.ru> Hello! On Tue, Jan 10, 2012 at 11:56:12AM +0200, Vladislav Vladimirovich wrote: > Сори, что немного не в тему, но спросить больше негде. > > Есть простенький ngnix perl-сайт. Нужно сделать авторизацию > пользователей. Можно через auth_basic и auth_basic_user_file, но > хотелось бы не мучить пользователей на предмет ввода паролей каждый > раз после закрытия браузера. > > Возникла идея - подключить Яндекс OAuth 2.0 - > http://api.yandex.ru/oauth/doc/dg/concepts/authorization-scheme.xml. > Описание протокола - http://habrahabr.ru/company/mailru/blog/115163 . > И входить вобще без пароля - http://habrahabr.ru/blogs/webdev/122012/ > > Есть специальный модуль perl - Net::OAuth, есть пояснение - > http://www.perlmonks.org/?node_id=892179 > > Но как прикруть этот модуль, и как вобще происходит проверка - тот > пользователь или не тот - вобще не понимаю, т.к. с авторизацией > никогда не разбирался. > > Подскажите, с чего копать? Я бы рекомендовал начать с определений аутентификации и авторизации: http://ru.wikipedia.org/wiki/Аутентификация http://ru.wikipedia.org/wiki/Авторизация После чего желательно перечитать приведённые вами выше ссылки про OAuth. Это позволит понять, что OAuth - протокол авторизации, и не предназначен для аутентификации. Т.е. той самой проверки "тот пользователь или не тот" - там просто нет. Maxim Dounin From nginx-forum на nginx.us Wed Jan 11 06:17:00 2012 From: nginx-forum на nginx.us (softshape) Date: Wed, 11 Jan 2012 01:17:00 -0500 Subject: =?UTF-8?B?0J/RgNC+0LrRgdC40YDQvtCy0LDQvdC40LUgSWNlQ2FzdA==?= Message-ID: <96cb1e6b18ff23f1b17277a75b0ad95b.NginxMailingListRussian@forum.nginx.org> Всем привет, у нас работает IceCast на 8000 порту, и я пытаюсь его заставить работать на отдельном поддомене. Для этого в nginx я написал следующее правило - server { listen 80; server_name radio.irk.fm; access_log off; location / { proxy_pass http://127.0.0.1:8000; proxy_buffering off; } } Оно даже работает, примерно секунды 2-3. После этого вещание отваливается. Что именно нужно добавить из директив, чтобы nginx делал прозрачный proxy_pass на 8000 порт? Либо, возможно, есть лучшее решение, чем proxy_pass? Спасибо, Юрий. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221022,221022#msg-221022 From igor на sysoev.ru Wed Jan 11 06:48:18 2012 From: igor на sysoev.ru (Igor Sysoev) Date: Wed, 11 Jan 2012 10:48:18 +0400 Subject: =?UTF-8?B?UmU6INCf0YDQvtC60YHQuNGA0L7QstCw0L3QuNC1IEljZUNhc3Q=?= In-Reply-To: <96cb1e6b18ff23f1b17277a75b0ad95b.NginxMailingListRussian@forum.nginx.org> References: <96cb1e6b18ff23f1b17277a75b0ad95b.NginxMailingListRussian@forum.nginx.org> Message-ID: <20120111064818.GQ44941@nginx.com> On Wed, Jan 11, 2012 at 01:17:00AM -0500, softshape wrote: > Всем привет, > > у нас работает IceCast на 8000 порту, и я > пытаюсь его заставить работать на > отдельном поддомене. Для этого в nginx я > написал следующее правило - > > server { > listen 80; > server_name radio.irk.fm; > access_log off; > > location / { > proxy_pass http://127.0.0.1:8000; > proxy_buffering off; > } > } > > Оно даже работает, примерно секунды 2-3. > После этого вещание отваливается. Что > именно нужно добавить из директив, > чтобы nginx делал прозрачный proxy_pass на 8000 > порт? Либо, возможно, есть лучшее > решение, чем proxy_pass? Какая версия nginx'а ? Если старая, то, возможно, поможет: location / { proxy_pass http://127.0.0.1:8000; proxy_buffering off; chunked_transfer_encoding off; } http://nginx.org/en/docs/http/ngx_http_core_module.html#chunked_transfer_encoding -- Igor Sysoev From nginx-forum на nginx.us Wed Jan 11 08:54:40 2012 From: nginx-forum на nginx.us (softshape) Date: Wed, 11 Jan 2012 03:54:40 -0500 Subject: =?UTF-8?B?UmU6INCf0YDQvtC60YHQuNGA0L7QstCw0L3QuNC1IEljZUNhc3Q=?= In-Reply-To: <96cb1e6b18ff23f1b17277a75b0ad95b.NginxMailingListRussian@forum.nginx.org> References: <96cb1e6b18ff23f1b17277a75b0ad95b.NginxMailingListRussian@forum.nginx.org> Message-ID: Да, это сработало, спасибо! Сервер у нас стоит nginx/0.8.53, на 1.0.11 планируем обновляться на днях. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221022,221025#msg-221025 From chipitsine на gmail.com Wed Jan 11 10:18:40 2012 From: chipitsine на gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Wed, 11 Jan 2012 15:18:40 +0500 Subject: Slow Read DoS attack In-Reply-To: <4F0ABD00.8010806@berloga.ru> References: <4F09A364.6030407@berloga.ru> <20120109024829.GC67687@mdounin.ru> <4F0ABD00.8010806@berloga.ru> Message-ID: 500r/s с одного IP-адреса ???? это ограничивается силами http://wiki.nginx.org/HttpLimitReqModule делаете ключ (сообразно вашему приложению), скажем ip + uri + кука с сессией + user-agent и вешаете на него ограничение "1 запрос в секунду" 9 января 2012 г. 16:10 пользователь Андрей Бойко написал: > Добрый день. > > 09.01.2012 06:48, Maxim Dounin пишет: > >> Hello! >> >> On Sun, Jan 08, 2012 at 06:08:36PM +0400, Андрей Бойко wrote: >> >>> Добрый день. >>> >>> Прочитал топик на хабре >>> http://habrahabr.ru/blogs/infosecurity/135817/, проверил - все >>> ложится на раз. >>> Есть мысли, как это забороть? Или это не проблема nginx? >> >> Это скорее проблема настроек, чем nginx'а.  Данная "атака" >> имитирует большое количество медленно читающих ответ клиентов, и >> вполне логично, что если клиентов больше, чем разрешено держать >> соединений nginx'у, то будет проблема. >> >> На уровне nginx'а можно бороться двумя способами: >> >> 1) Разрешить nginx'у держать больше соединений, увеличив >> worker_connections, благо это дёшево.  Главное - не забыть >> соответственно настроить операционную систему. >> >> 2) Ограничить количество соединений с одного ip-адреса через >> limit_conn. >> >> Maxim Dounin >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > > Максим, вариант 1 вряд ли подходит, у меня worker_connections  100000 и > система настроена соответственно. > Вариант 2 вроде как работает, при ограничении в 500r/s ложиться перестало. > Надо еще попробовать на более объемном файле. > Спасибо за ответ. > > > -- > Андрей Бойко. > тел. +7 (903) 144-11-65 > тел. +7 (495) 755-71-27 > skype boykoav > icq 472-82-39 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From nginx-forum на nginx.us Wed Jan 11 12:30:36 2012 From: nginx-forum на nginx.us (=?UTF-8?Q? =D0=91=D0=BE=D0=BD=D1=8F ?=) Date: Wed, 11 Jan 2012 07:30:36 -0500 Subject: =?UTF-8?B?0LXRgdC70Lggd29ya2VyIHByb2Nlc3NlcyA+IDEgbmdpbngg0L/QtdGA0LXRgdGC?= =?UTF-8?B?0LDRkdGCINC/0YDQuNC90LjQvNCw0YLRjCDQt9Cw0L/RgNC+0YHRiw==?= Message-ID: <3b923e71df9f9fd74de1ac04a382b6d6.NginxMailingListRussian@forum.nginx.org> Всем доброго времени сутак. У меня сервер: Процессор(core i5, т.е. 4 ядра), стоит windows x64. Если я ставлю worker_processes 2 или 3, то запросы перестают приниматься примерно через 10 - 20 минут. Если я ставлю worker_processes 1, то вот уже около 18 часов идёт безпрерывная проверка(Opera каждые 5 секунд обнавляет страничку), всё нормально. Если кто знает в чём проблема, подскажите пожалуйста. ПРИМЕР МОЕГО nginx.conf: worker_processes 1; events { worker_connections 1024; } error_log logs/error.log; http { include mime.types; default_type application/octet-stream; client_header_timeout 2m; client_body_timeout 2m; send_timeout 2m; keepalive_timeout 75s; directio 7m; sendfile on; upstream backend { server 127.0.0.1:88; } server { listen 80; server_name www.mysite.ru mysite.ru; client_max_body_size 101M; location ~* \.(jpg|jpeg|gif|png|bmp|ico|html|css|zip|tgz|gz|rar|bz2|pdf|txt|tar|js|swf|mp3)$ { root C:/apach/htdocs; } location ~ /\.ht { deny all; } location / { proxy_pass http://backend/; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_connect_timeout 120; proxy_send_timeout 120; proxy_read_timeout 180; source_charset koi8-r; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221031,221031#msg-221031 From nginx-forum на nginx.us Wed Jan 11 12:33:56 2012 From: nginx-forum на nginx.us (=?UTF-8?Q? =D0=91=D0=BE=D0=BD=D1=8F ?=) Date: Wed, 11 Jan 2012 07:33:56 -0500 Subject: =?UTF-8?B?UmU6INC10YHQu9C4IHdvcmtlciBwcm9jZXNzZXMgPiAxIG5naW54INC/0LXRgNC1?= =?UTF-8?B?0YHRgtCw0ZHRgiDQv9GA0LjQvdC40LzQsNGC0Ywg0LfQsNC/0YDQvtGB0Ys=?= In-Reply-To: <3b923e71df9f9fd74de1ac04a382b6d6.NginxMailingListRussian@forum.nginx.org> References: <3b923e71df9f9fd74de1ac04a382b6d6.NginxMailingListRussian@forum.nginx.org> Message-ID: <5b9cbcddd768ddcb55f0a20ebc82bd6c.NginxMailingListRussian@forum.nginx.org> windows 7 x64 Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221031,221032#msg-221032 From agsmorodin на gmail.com Wed Jan 11 12:36:27 2012 From: agsmorodin на gmail.com (Alex Smorodin) Date: Wed, 11 Jan 2012 14:36:27 +0200 Subject: =?UTF-8?B?UmU6INC10YHQu9C4IHdvcmtlciBwcm9jZXNzZXMgPiAxIG5naW54INC/0LXRgNC1?= =?UTF-8?B?0YHRgtCw0ZHRgiDQv9GA0LjQvdC40LzQsNGC0Ywg0LfQsNC/0YDQvtGB0Ys=?= In-Reply-To: <5b9cbcddd768ddcb55f0a20ebc82bd6c.NginxMailingListRussian@forum.nginx.org> References: <3b923e71df9f9fd74de1ac04a382b6d6.NginxMailingListRussian@forum.nginx.org> <5b9cbcddd768ddcb55f0a20ebc82bd6c.NginxMailingListRussian@forum.nginx.org> Message-ID: 2012/1/11 "Боня" > windows 7 x64 > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,221031,221032#msg-221032 > > под win должен быть один воркер. в рассылке этот вопрос уже поднимался, и не раз. -- С уважением, Смородин Александр mailto: agsmorodin на gmail.com ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на nginx.us Wed Jan 11 12:51:28 2012 From: nginx-forum на nginx.us (=?UTF-8?Q? =D0=91=D0=BE=D0=BD=D1=8F ?=) Date: Wed, 11 Jan 2012 07:51:28 -0500 Subject: =?UTF-8?B?UmU6INC10YHQu9C4IHdvcmtlciBwcm9jZXNzZXMgPiAxIG5naW54INC/0LXRgNC1?= =?UTF-8?B?0YHRgtCw0ZHRgiDQv9GA0LjQvdC40LzQsNGC0Ywg0LfQsNC/0YDQvtGB0Ys=?= In-Reply-To: References: Message-ID: <281b5e1f292c229004ce8b26c9dd6495.NginxMailingListRussian@forum.nginx.org> Спасибо большое за ответ, буду внимательней. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221033,221034#msg-221034 From maxim на nginx.com Wed Jan 11 12:54:53 2012 From: maxim на nginx.com (Maxim Konovalov) Date: Wed, 11 Jan 2012 16:54:53 +0400 Subject: =?UTF-8?B?UmU6INC10YHQu9C4IHdvcmtlciBwcm9jZXNzZXMgPiAxIG5naW54INC/0LXRgNC1?= =?UTF-8?B?0YHRgtCw0ZHRgiDQv9GA0LjQvdC40LzQsNGC0Ywg0LfQsNC/0YDQvtGB0Ys=?= In-Reply-To: <281b5e1f292c229004ce8b26c9dd6495.NginxMailingListRussian@forum.nginx.org> References: <281b5e1f292c229004ce8b26c9dd6495.NginxMailingListRussian@forum.nginx.org> Message-ID: <4F0D869D.1000303@nginx.com> On 1/11/12 4:51 PM, Боня wrote: > Спасибо большое за ответ, буду > внимательней. > Посмотрите и другие ограничения в доке: http://nginx.org/ru/docs/windows.html -- Maxim Konovalov +7 (910) 4293178 http://nginx.com/ From defan на nginx.com Wed Jan 11 13:00:35 2012 From: defan на nginx.com (Andrey Belov) Date: Wed, 11 Jan 2012 17:00:35 +0400 Subject: mod_aclr In-Reply-To: <1320651475.30433.3.camel@defan.zenon.net> References: <21e2fe584b2560962ed5fed10780a841.NginxMailingListRussian@forum.nginx.org> <20110810100809.GW1137@mdounin.ru> <4E42AA4B.90802@csdoc.com> <4E42C5BF.6040607@csdoc.com> <4E42C70F.7080706@amhost.net> <4E42E137.6050801@csdoc.com> <14707409.20110812121813@softsearch.ru> <4E452483.8000806@csdoc.com> <4E496052.3040202@maker.ru> <1313490378.24976.3.camel@defan.zenon.net> <1320651475.30433.3.camel@defan.zenon.net> Message-ID: <8675D6D8-C100-4200-A6AF-EB92CF23A28C@nginx.com> Всем привет. On Nov 7, 2011, at 11:37 AM, Andrey N. Belov wrote: > On Mon, 2011-11-07 at 02:20 +0600, bas wrote: > >> Выкладывать будете? > > Возможно. > > (модуль был адаптирован к хостинговой среде Зенона, поэтому > сейчас не могу его открыть as is) [..] Модуль в базовом виде доступен на github: https://github.com/defanator/mod_aclr2 -- Andrey Belov http://nginx.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum на nginx.us Wed Jan 11 13:38:02 2012 From: nginx-forum на nginx.us (=?UTF-8?Q? =D0=91=D0=BE=D0=BD=D1=8F ?=) Date: Wed, 11 Jan 2012 08:38:02 -0500 Subject: =?UTF-8?B?UmU6INC10YHQu9C4IHdvcmtlciBwcm9jZXNzZXMgPiAxIG5naW54INC/0LXRgNC1?= =?UTF-8?B?0YHRgtCw0ZHRgiDQv9GA0LjQvdC40LzQsNGC0Ywg0LfQsNC/0YDQvtGB0Ys=?= In-Reply-To: <4F0D869D.1000303@nginx.com> References: <4F0D869D.1000303@nginx.com> Message-ID: <66307516b047fb4fc41b719c407c6ea7.NginxMailingListRussian@forum.nginx.org> Спасибо за полезную информацию. Буду переходить на Linux :) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221033,221039#msg-221039 From kaa на berloga.ru Wed Jan 11 13:53:58 2012 From: kaa на berloga.ru (=?KOI8-R?Q?=E1=CE=C4=D2=C5=CA_=E2=CF=CA=CB=CF?=) Date: Wed, 11 Jan 2012 17:53:58 +0400 Subject: Slow Read DoS attack In-Reply-To: References: <4F09A364.6030407@berloga.ru> <20120109024829.GC67687@mdounin.ru> <4F0ABD00.8010806@berloga.ru> Message-ID: <4F0D9476.30604@berloga.ru> 11.01.2012 14:18, Илья Шипицин пишет: > 500r/s с одного IP-адреса ???? > > это ограничивается силами http://wiki.nginx.org/HttpLimitReqModule > > делаете ключ (сообразно вашему приложению), скажем > > ip + uri + кука с сессией + user-agent > > и вешаете на него ограничение "1 запрос в секунду" Спасибо, Илья, но зачем Вы это написали? Вроде вопрос "как ограничить" не стоял же. В принципе настройка сервера на 100К коннектов спасает и без ограничения. Ко всему такие пионеры ловятся парсингом логов и расстреливаются через огнестену. > 9 января 2012 г. 16:10 пользователь Андрей Бойко написал: >> Добрый день. >> >> 09.01.2012 06:48, Maxim Dounin пишет: >> >>> Hello! >>> >>> On Sun, Jan 08, 2012 at 06:08:36PM +0400, Андрей Бойко wrote: >>> >>>> Добрый день. >>>> >>>> Прочитал топик на хабре >>>> http://habrahabr.ru/blogs/infosecurity/135817/, проверил - все >>>> ложится на раз. >>>> Есть мысли, как это забороть? Или это не проблема nginx? >>> Это скорее проблема настроек, чем nginx'а. Данная "атака" >>> имитирует большое количество медленно читающих ответ клиентов, и >>> вполне логично, что если клиентов больше, чем разрешено держать >>> соединений nginx'у, то будет проблема. >>> >>> На уровне nginx'а можно бороться двумя способами: >>> >>> 1) Разрешить nginx'у держать больше соединений, увеличив >>> worker_connections, благо это дёшево. Главное - не забыть >>> соответственно настроить операционную систему. >>> >>> 2) Ограничить количество соединений с одного ip-адреса через >>> limit_conn. >>> >>> Maxim Dounin >>> >>> _______________________________________________ >>> nginx-ru mailing list >>> nginx-ru на nginx.org >>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> Максим, вариант 1 вряд ли подходит, у меня worker_connections 100000 и >> система настроена соответственно. >> Вариант 2 вроде как работает, при ограничении в 500r/s ложиться перестало. >> Надо еще попробовать на более объемном файле. >> Спасибо за ответ. >> >> >> -- >> Андрей Бойко. >> тел. +7 (903) 144-11-65 >> тел. +7 (495) 755-71-27 >> skype boykoav >> icq 472-82-39 >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Андрей Бойко. тел. +7 (903) 144-11-65 тел. +7 (495) 755-71-27 skype boykoav icq 472-82-39 From nginx-forum на nginx.us Wed Jan 11 13:59:42 2012 From: nginx-forum на nginx.us (=?UTF-8?Q? =D0=91=D0=BE=D0=BD=D1=8F ?=) Date: Wed, 11 Jan 2012 08:59:42 -0500 Subject: =?UTF-8?B?UmU6INC10YHQu9C4IHdvcmtlciBwcm9jZXNzZXMgPiAxIG5naW54INC/0LXRgNC1?= =?UTF-8?B?0YHRgtCw0ZHRgiDQv9GA0LjQvdC40LzQsNGC0Ywg0LfQsNC/0YDQvtGB0Ys=?= In-Reply-To: <66307516b047fb4fc41b719c407c6ea7.NginxMailingListRussian@forum.nginx.org> References: <4F0D869D.1000303@nginx.com> <66307516b047fb4fc41b719c407c6ea7.NginxMailingListRussian@forum.nginx.org> Message-ID: А какая операционая система лучше подойдёт для использования nginx + Apache? Ну что бы максимально быстро работало, при учёте что мой компьютер x64 4 ядра. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221033,221043#msg-221043 From nginx-forum на nginx.us Wed Jan 11 15:28:31 2012 From: nginx-forum на nginx.us (Craken) Date: Wed, 11 Jan 2012 10:28:31 -0500 Subject: =?UTF-8?B?UmU6INC10YHQu9C4IHdvcmtlciBwcm9jZXNzZXMgPiAxIG5naW54INC/0LXRgNC1?= =?UTF-8?B?0YHRgtCw0ZHRgiDQv9GA0LjQvdC40LzQsNGC0Ywg0LfQsNC/0YDQvtGB0Ys=?= In-Reply-To: References: Message-ID: <86f636935bf74d11ad99eded8f4709ec.NginxMailingListRussian@forum.nginx.org> Поставьте себе например Linux Centos и все у Вас будет работать! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221033,221046#msg-221046 From sargas на kievnet.ua Wed Jan 11 12:49:24 2012 From: sargas на kievnet.ua (=?UTF-8?B?0JDQu9C10LrRgdCw0L3QtNGAINCb0YvRgdC10L3QutC+?=) Date: Wed, 11 Jan 2012 14:49:24 +0200 Subject: =?UTF-8?B?0KDQtdC00LjRgNC10LrRgg==?= Message-ID: Здравствуйте. Нужно настроить редирект в nginx, чтобы он работал следующим образом:если при запросе jpg картинки по адресу: http://media-us01.(ДОМЕН)/sr/thumbs/*/*.jpg при недоступности картинки (404 ошибка) она бы отдавалась с URL'а http://img.(ДОМЕН)/sr/thumbs/*/*.jpg (например http://img.domain.com/sr/thumbs/c/1413.jpg) т.е. фактически сабдомен в запросе менялся бы media-us01 -> img From bediev на gmail.com Wed Jan 11 16:09:53 2012 From: bediev на gmail.com (Marat Bediev) Date: Wed, 11 Jan 2012 22:09:53 +0600 Subject: =?UTF-8?B?UmU6INCg0LXQtNC40YDQtdC60YI=?= In-Reply-To: References: Message-ID: location ~* \.jpg$ { try_files $uri http://img.domain.com/$uri; } 2012/1/11 Александр Лысенко > Здравствуйте. > > Нужно настроить редирект в nginx, чтобы он работал следующим > образом:если при запросе jpg картинки по адресу: > http://media-us01.(ДОМЕН)/sr/thumbs/*/*.jpg при недоступности > картинки (404 ошибка) она бы отдавалась с URL'а > http://img.(ДОМЕН)/sr/thumbs/*/*.jpg (например > http://img.domain.com/sr/thumbs/c/1413.jpg) т.е. фактически сабдомен в > запросе менялся бы media-us01 -> img > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Marat Bediev, System Administrator _________________________ Tel: +996555990584 E-mail: bediev на gmail.com Skype: p1gmale0n Twitter: @p1gmale0n ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на nginx.us Wed Jan 11 16:33:14 2012 From: nginx-forum на nginx.us (=?UTF-8?Q? =D0=91=D0=BE=D0=BD=D1=8F ?=) Date: Wed, 11 Jan 2012 11:33:14 -0500 Subject: =?UTF-8?B?UmU6INC10YHQu9C4IHdvcmtlciBwcm9jZXNzZXMgPiAxIG5naW54INC/0LXRgNC1?= =?UTF-8?B?0YHRgtCw0ZHRgiDQv9GA0LjQvdC40LzQsNGC0Ywg0LfQsNC/0YDQvtGB0Ys=?= In-Reply-To: References: Message-ID: <0f4324a1aed2c73c086fbc9d5f25679f.NginxMailingListRussian@forum.nginx.org> Craken спасибо. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221033,221050#msg-221050 From gd на powernet.ru Wed Jan 11 20:15:03 2012 From: gd на powernet.ru (GD) Date: Thu, 12 Jan 2012 00:15:03 +0400 Subject: =?UTF-8?B?0YDQtdCw0LrRhtC40Y8gaW1hZ2VfZmlsdGVyINC90LAgcmV0dXJu?= Message-ID: <20120112001503.d08e0a8c.gd@powernet.ru> Доброго времени суток, Наткнулся на багофичу: Пример чуть синтетический, но рабочий: location /r/ { if ( $uri = "/r/want_403" ) { return 403; } rewrite ^/r/(.+)$ /$1 break; proxy_pass http://host.tld; image_filter resize 100 100; } proxy_pass ожидаемо реагирует на return и никуда не ходит но image_filter не взирая на 403 (Forbidden) пытается отработать, в результате отдавая 415 (Unsupported Media Type) Смотрел на ngx_http_addition_module, там реакция на return полностью соответсвует док-ции. Т.е. если срабатывает return 403, то add_after_body уже не отрабатывает. Получилось полечить image_filter патчем (см. аттач). Хочется услышать мненеие разработчиков. Спасибо, -- GD -------------- next part -------------- A non-text attachment was scrubbed... Name: src.http.modules.ngx_http_image_filter_module.c.patch Type: text/x-diff Size: 715 bytes Desc: not available URL: From swood на fotofor.biz Wed Jan 11 20:27:30 2012 From: swood на fotofor.biz (Anton Kiryushkin) Date: Thu, 12 Jan 2012 00:27:30 +0400 Subject: =?UTF-8?B?UmU6INCy0L7Qv9GA0L7RgSDQv9GA0L4g0LrRjdGI?= In-Reply-To: <20120109011046.GB67687@mdounin.ru> References: <20120108125256.GY67687@mdounin.ru> <20120109011046.GB67687@mdounin.ru> Message-ID: Пишется следующее: """name_upstream""502""EXPIRED" или """server1, server2""502, 502""-" или """bcj""502""MISS" При этом время жизни кэша задано в 5 минут: location = / { proxy_ignore_headers Cache-Control Expires Set-Cookie; proxy_cache_bypass $http_x_update; proxy_cache cache_page; proxy_cache_key $scheme$host$request_uri; proxy_cache_valid 5m; proxy_hide_header "Set-Cookie"; proxy_cache_use_stale error invalid_header timeout updating http_500 http_502 http_503 http_504 http_404; proxy_pass http://backend; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; proxy_redirect default; proxy_buffering on; } 9 января 2012 г. 5:10 пользователь Maxim Dounin написал: > Hello! > > On Sun, Jan 08, 2012 at 09:24:58PM +0400, Anton Kiryushkin wrote: > >> Честно сказать дебаг я еще не делал. В обычном access стандартный ответ 502. > > Для начала - что в error_log'е, и что в переменных $upstream_addr, > $upstream_status, $upstream_cache_status (писать в access_log). > > Maxim Dounin > >> >> 8 января 2012 г. 16:52 пользователь Maxim Dounin написал: >> > Hello! >> > >> > On Fri, Jan 06, 2012 at 04:48:59PM +0400, Anton Kiryushkin wrote: >> > >> >> Как можно объяснить поведение nginx, при котором страница есть в кэше, >> >> бэкенд остановлен, а при ctrl + f5 ловится 502-я ошибка, хотя при >> >> возникновении этой ошибки ответ должен браться из кэша. Вот пример >> >> локейшена: >> >> >> >> location / { >> >>             proxy_ignore_headers Cache-Control Expires Set-Cookie; >> >>             proxy_hide_header "Set-Cookie"; >> >> >> >>             proxy_cache cache_page; >> >>             proxy_cache_key $scheme$host; >> >>             proxy_cache_valid 1m; >> >> >> >>             proxy_cache_use_stale error timeout invalid_header >> >> updating http_500 http_502 http_503 http_504 http_404; >> >> >> >>             proxy_pass  http://backend; >> >>             proxy_set_header X-Real-IP $remote_addr; >> >>             proxy_set_header Host $http_host; >> >>             proxy_redirect default; >> >>             proxy_buffering on; >> >> } >> >> >> >> При этом если страница полностью прогрузилась, 502-я не ловится, а >> >> если догрузилась не доконца - то каждое второе срабатывание. >> > >> > А в логах при этом что? >> > >> > Maxim Dounin >> > >> > _______________________________________________ >> > nginx-ru mailing list >> > nginx-ru на nginx.org >> > http://mailman.nginx.org/mailman/listinfo/nginx-ru >> >> >> >> -- >> Best regards, >> Anton Kiryushkin, >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Best regards, Anton Kiryushkin, From swood на fotofor.biz Wed Jan 11 20:28:31 2012 From: swood на fotofor.biz (Anton Kiryushkin) Date: Thu, 12 Jan 2012 00:28:31 +0400 Subject: =?UTF-8?B?UmU6INCy0L7Qv9GA0L7RgSDQv9GA0L4g0LrRjdGI?= In-Reply-To: References: <20120108125256.GY67687@mdounin.ru> <20120109011046.GB67687@mdounin.ru> Message-ID: вдогонку, bcj = name_upstream. 12 января 2012 г. 0:27 пользователь Anton Kiryushkin написал: > Пишется следующее: > """name_upstream""502""EXPIRED" > или """server1, server2""502, 502""-" > или """bcj""502""MISS" > > При этом время жизни кэша задано в 5 минут: >        location = / { >            proxy_ignore_headers Cache-Control Expires Set-Cookie; >            proxy_cache_bypass  $http_x_update; > >            proxy_cache cache_page; >            proxy_cache_key $scheme$host$request_uri; >            proxy_cache_valid 5m; >            proxy_hide_header "Set-Cookie"; > >            proxy_cache_use_stale error invalid_header timeout > updating http_500 http_502 http_503 http_504 http_404; > >            proxy_pass  http://backend; >            proxy_set_header X-Real-IP $remote_addr; >            proxy_set_header Host $http_host; >            proxy_redirect default; >            proxy_buffering on; > >        } > > 9 января 2012 г. 5:10 пользователь Maxim Dounin написал: >> Hello! >> >> On Sun, Jan 08, 2012 at 09:24:58PM +0400, Anton Kiryushkin wrote: >> >>> Честно сказать дебаг я еще не делал. В обычном access стандартный ответ 502. >> >> Для начала - что в error_log'е, и что в переменных $upstream_addr, >> $upstream_status, $upstream_cache_status (писать в access_log). >> >> Maxim Dounin >> >>> >>> 8 января 2012 г. 16:52 пользователь Maxim Dounin написал: >>> > Hello! >>> > >>> > On Fri, Jan 06, 2012 at 04:48:59PM +0400, Anton Kiryushkin wrote: >>> > >>> >> Как можно объяснить поведение nginx, при котором страница есть в кэше, >>> >> бэкенд остановлен, а при ctrl + f5 ловится 502-я ошибка, хотя при >>> >> возникновении этой ошибки ответ должен браться из кэша. Вот пример >>> >> локейшена: >>> >> >>> >> location / { >>> >>             proxy_ignore_headers Cache-Control Expires Set-Cookie; >>> >>             proxy_hide_header "Set-Cookie"; >>> >> >>> >>             proxy_cache cache_page; >>> >>             proxy_cache_key $scheme$host; >>> >>             proxy_cache_valid 1m; >>> >> >>> >>             proxy_cache_use_stale error timeout invalid_header >>> >> updating http_500 http_502 http_503 http_504 http_404; >>> >> >>> >>             proxy_pass  http://backend; >>> >>             proxy_set_header X-Real-IP $remote_addr; >>> >>             proxy_set_header Host $http_host; >>> >>             proxy_redirect default; >>> >>             proxy_buffering on; >>> >> } >>> >> >>> >> При этом если страница полностью прогрузилась, 502-я не ловится, а >>> >> если догрузилась не доконца - то каждое второе срабатывание. >>> > >>> > А в логах при этом что? >>> > >>> > Maxim Dounin >>> > >>> > _______________________________________________ >>> > nginx-ru mailing list >>> > nginx-ru на nginx.org >>> > http://mailman.nginx.org/mailman/listinfo/nginx-ru >>> >>> >>> >>> -- >>> Best regards, >>> Anton Kiryushkin, >>> _______________________________________________ >>> nginx-ru mailing list >>> nginx-ru на nginx.org >>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > -- > Best regards, > Anton Kiryushkin, -- Best regards, Anton Kiryushkin, From hell-for-yahoo на umail.ru Thu Jan 12 07:12:24 2012 From: hell-for-yahoo на umail.ru (Andrey Repin) Date: Thu, 12 Jan 2012 11:12:24 +0400 Subject: если worker processes > 1 nginx перестаёт принимать запросы In-Reply-To: References: <4F0D869D.1000303@nginx.com> <66307516b047fb4fc41b719c407c6ea7.NginxMailingListRussian@forum.nginx.org> Message-ID: <23459875.20120112111224@mtu-net.ru> Здравствуйте, Уважаемый(-ая, -ое) "Боня" ! Б> А какая операционая система лучше Б> подойдёт для использования nginx + Apache? Ну Б> что бы максимально быстро работало, при Б> учёте что мой компьютер x64 4 ядра. Правильно настроенная. -- С уважением Andrey Repin (hell-for-yahoo на umail.ru) четверг, 12.01.2012, <11:12> From swood на fotofor.biz Thu Jan 12 07:55:27 2012 From: swood на fotofor.biz (Anton Kiryushkin) Date: Thu, 12 Jan 2012 11:55:27 +0400 Subject: =?UTF-8?B?UmU6INCy0L7Qv9GA0L7RgSDQv9GA0L4g0LrRjdGI?= In-Reply-To: References: <20120108125256.GY67687@mdounin.ru> <20120109011046.GB67687@mdounin.ru> Message-ID: И еще возник вопрос про proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504 http_404; Я правильно понимаю, что эта строчка означает примерно следующее: если код ответа бэкенда 500, 503, 502, 404, превысил таймаут, вернул некорректные заголовки и находится в процессе обновления - вернуть ответ из кэша, иначе возвращать ответ от бэкенда? 12 января 2012 г. 0:28 пользователь Anton Kiryushkin написал: > вдогонку, bcj = name_upstream. > > 12 января 2012 г. 0:27 пользователь Anton Kiryushkin > написал: >> Пишется следующее: >> """name_upstream""502""EXPIRED" >> или """server1, server2""502, 502""-" >> или """bcj""502""MISS" >> >> При этом время жизни кэша задано в 5 минут: >>        location = / { >>            proxy_ignore_headers Cache-Control Expires Set-Cookie; >>            proxy_cache_bypass  $http_x_update; >> >>            proxy_cache cache_page; >>            proxy_cache_key $scheme$host$request_uri; >>            proxy_cache_valid 5m; >>            proxy_hide_header "Set-Cookie"; >> >>            proxy_cache_use_stale error invalid_header timeout >> updating http_500 http_502 http_503 http_504 http_404; >> >>            proxy_pass  http://backend; >>            proxy_set_header X-Real-IP $remote_addr; >>            proxy_set_header Host $http_host; >>            proxy_redirect default; >>            proxy_buffering on; >> >>        } >> >> 9 января 2012 г. 5:10 пользователь Maxim Dounin написал: >>> Hello! >>> >>> On Sun, Jan 08, 2012 at 09:24:58PM +0400, Anton Kiryushkin wrote: >>> >>>> Честно сказать дебаг я еще не делал. В обычном access стандартный ответ 502. >>> >>> Для начала - что в error_log'е, и что в переменных $upstream_addr, >>> $upstream_status, $upstream_cache_status (писать в access_log). >>> >>> Maxim Dounin >>> >>>> >>>> 8 января 2012 г. 16:52 пользователь Maxim Dounin написал: >>>> > Hello! >>>> > >>>> > On Fri, Jan 06, 2012 at 04:48:59PM +0400, Anton Kiryushkin wrote: >>>> > >>>> >> Как можно объяснить поведение nginx, при котором страница есть в кэше, >>>> >> бэкенд остановлен, а при ctrl + f5 ловится 502-я ошибка, хотя при >>>> >> возникновении этой ошибки ответ должен браться из кэша. Вот пример >>>> >> локейшена: >>>> >> >>>> >> location / { >>>> >>             proxy_ignore_headers Cache-Control Expires Set-Cookie; >>>> >>             proxy_hide_header "Set-Cookie"; >>>> >> >>>> >>             proxy_cache cache_page; >>>> >>             proxy_cache_key $scheme$host; >>>> >>             proxy_cache_valid 1m; >>>> >> >>>> >>             proxy_cache_use_stale error timeout invalid_header >>>> >> updating http_500 http_502 http_503 http_504 http_404; >>>> >> >>>> >>             proxy_pass  http://backend; >>>> >>             proxy_set_header X-Real-IP $remote_addr; >>>> >>             proxy_set_header Host $http_host; >>>> >>             proxy_redirect default; >>>> >>             proxy_buffering on; >>>> >> } >>>> >> >>>> >> При этом если страница полностью прогрузилась, 502-я не ловится, а >>>> >> если догрузилась не доконца - то каждое второе срабатывание. >>>> > >>>> > А в логах при этом что? >>>> > >>>> > Maxim Dounin >>>> > >>>> > _______________________________________________ >>>> > nginx-ru mailing list >>>> > nginx-ru на nginx.org >>>> > http://mailman.nginx.org/mailman/listinfo/nginx-ru >>>> >>>> >>>> >>>> -- >>>> Best regards, >>>> Anton Kiryushkin, >>>> _______________________________________________ >>>> nginx-ru mailing list >>>> nginx-ru на nginx.org >>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >>> >>> _______________________________________________ >>> nginx-ru mailing list >>> nginx-ru на nginx.org >>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> >> >> >> -- >> Best regards, >> Anton Kiryushkin, > > > > -- > Best regards, > Anton Kiryushkin, -- Best regards, Anton Kiryushkin, From dmitry.leonenko на gmail.com Thu Jan 12 10:59:46 2012 From: dmitry.leonenko на gmail.com (=?UTF-8?B?0JTQvNC40YLRgNC40Lkg0JvQtdC+0L3QtdC90LrQvg==?=) Date: Thu, 12 Jan 2012 12:59:46 +0200 Subject: =?UTF-8?B?0JDRgtCw0LrQsCDQuCA0MDAgQmFkIFJlcXVlc3Q=?= Message-ID: Приветствую! Вчера ко мне пришло много-много траффика на 80 порт с бесполезными данными в запросе, то есть просто мусор. Траффика исходящего было дофига и как я понял весь он состоял из ответов nginx об плохом запросе 400 Bad request. Я настроил так log_format fail2ban '$time_local $remote_addr == $request == $status == $http_referer == $http_user_agent'; в логи сыпит дофига запросов вида: 12/Jan/2012:14:57:47 +0400 222.253.150.xxx == - == 400 == - == - 12/Jan/2012:14:57:49 +0400 123.24.190.xxx == - == 400 == - == - 12/Jan/2012:14:57:50 +0400 141.250.83.xxx == - == 400 == - == - 12/Jan/2012:14:57:51 +0400 187.59.185.xxx == - == 400 == - == - С помощью fail2ban добавлял в ipset на блокировку всех с такими запросами. За часов 10 набежало в ipset: > # ipset list fail2ban-badbot-ips | tail -n +7 | wc -l > 6687 Меня терзают смутные сомнения, не блочу ли я легитимных пользователей по какой-то причине? P.S. проблема с кучей внезапно появившегося исходящего трафика решилась так. -------------- next part -------------- An HTML attachment was scrubbed... URL: From mdounin на mdounin.ru Thu Jan 12 12:42:10 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Thu, 12 Jan 2012 16:42:10 +0400 Subject: =?UTF-8?B?UmU6INCQ0YLQsNC60LAg0LggNDAwIEJhZCBSZXF1ZXN0?= In-Reply-To: References: Message-ID: <20120112124210.GC67687@mdounin.ru> Hello! On Thu, Jan 12, 2012 at 12:59:46PM +0200, Дмитрий Леоненко wrote: > Приветствую! > > Вчера ко мне пришло много-много траффика на 80 порт с бесполезными данными > в запросе, то есть просто мусор. > Траффика исходящего было дофига и как я понял весь он состоял из ответов > nginx об плохом запросе 400 Bad request. > Я настроил так > log_format fail2ban '$time_local $remote_addr == $request == $status == > $http_referer == $http_user_agent'; > > в логи сыпит дофига запросов вида: > > 12/Jan/2012:14:57:47 +0400 222.253.150.xxx == - == 400 == - == - > 12/Jan/2012:14:57:49 +0400 123.24.190.xxx == - == 400 == - == - > 12/Jan/2012:14:57:50 +0400 141.250.83.xxx == - == 400 == - == - > 12/Jan/2012:14:57:51 +0400 187.59.185.xxx == - == 400 == - == - > > > С помощью fail2ban добавлял в ipset на блокировку всех с такими запросами. > За часов 10 набежало в ipset: > > > # ipset list fail2ban-badbot-ips | tail -n +7 | wc -l > > 6687 > > > Меня терзают смутные сомнения, не блочу ли я легитимных пользователей по > какой-то причине? Современные браузеры (e.g. Chrome) любят открывать "дополнительные" соединения, и закрывать их без каких-либо запросов, если работы для них не нашлось. Так что легитимные трафик там вполне может быть. Лучше читать error_log, там должны быть сообщения "client sent invalid ..." (правда на уровне info). Maxim Dounin From dmitry.leonenko на gmail.com Thu Jan 12 13:23:32 2012 From: dmitry.leonenko на gmail.com (=?UTF-8?B?0JTQvNC40YLRgNC40Lkg0JvQtdC+0L3QtdC90LrQvg==?=) Date: Thu, 12 Jan 2012 15:23:32 +0200 Subject: =?UTF-8?B?UmU6INCQ0YLQsNC60LAg0LggNDAwIEJhZCBSZXF1ZXN0?= In-Reply-To: <20120112124210.GC67687@mdounin.ru> References: <20120112124210.GC67687@mdounin.ru> Message-ID: Максим, как можно поймать "нехороших компьютеров", которые делают вот такое: 17:20:20.685740 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21243000, win 63510, length 0 17:20:20.685763 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21247380, win 62780, length 0 17:20:20.685772 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21251760, win 62415, length 0 17:20:20.685783 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21254680, win 62050, length 0 17:20:20.685793 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21257600, win 61320, length 0 17:20:20.685992 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21260520, win 60590, length 0 17:20:20.686014 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21266360, win 59860, length 0 17:20:20.686029 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21269280, win 61685, length 0 17:20:20.686041 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21275120, win 61320, length 0 17:20:20.686058 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21278040, win 62780, length 0 17:20:20.686067 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21283880, win 62415, length 0 17:20:20.686102 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21286800, win 63875, length 0 17:20:20.686494 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21292640, win 63510, length 0 17:20:20.686519 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21299940, win 64240, length 0 17:20:20.686529 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21307240, win 64605, length 0 17:20:20.686540 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21311620, win 64970, length 0 17:20:20.686550 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21314540, win 64240, length 0 17:20:20.686560 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21317460, win 63510, length 0 17:20:20.686570 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21321840, win 62415, length 0 17:20:20.686580 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21326220, win 62415, length 0 17:20:20.686591 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21330600, win 62415, length 0 17:20:20.686604 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21336440, win 61320, length 0 17:20:20.686617 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21343740, win 61685, length 0 17:20:20.691741 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21348120, win 61685, length 0 17:20:20.692239 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21353960, win 61320, length 0 17:20:20.692992 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21358340, win 62780, length 0 17:20:20.693281 IP xx.xx.xx.xx.http > 81.23.5.148.54819: Flags [.], seq 21400680:21456160, ack 1, win 123, length 55480 17:20:20.694312 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21365640, win 61685, length 0 17:20:20.694343 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21368560, win 63145, length 0 17:20:20.694361 IP xx.xx.xx.xx.http > 81.23.5.148.54819: Flags [.], seq 21400680:21456160, ack 1, win 123, length 55480 17:20:20.695541 IP xx.xx.xx.xx.http > 81.23.5.148.54819: Flags [.], seq 21456160:21520400, ack 1, win 123, length 64240 17:20:20.695684 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21374400, win 63145, length 0 17:20:20.696765 IP xx.xx.xx.xx.http > 81.23.5.148.54819: Flags [.], seq 21520400:21584640, ack 1, win 123, length 64240 17:20:20.697520 IP xx.xx.xx.xx.http > 81.23.5.148.54819: Flags [.], seq 21520400:21584640, ack 1, win 123, length 64240 17:20:20.697740 IP xx.xx.xx.xx.http > 81.23.5.148.54819: Flags [.], seq 21520400:21584640, ack 1, win 123, length 64240 17:20:20.697988 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21380240, win 65335, length 0 17:20:20.698024 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21387540, win 65335, length 0 17:20:20.698043 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21390460, win 65335, length 0 17:20:20.698983 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21393380, win 64605, length 0 17:20:20.699734 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21400680, win 62780, length 0 17:20:20.701266 IP xx.xx.xx.xx.http > 81.23.5.148.54819: Flags [.], seq 21584640:21594860, ack 1, win 123, length 10220 17:20:20.704298 IP xx.xx.xx.xx.http > 81.23.5.148.54819: Flags [.], seq 21594860:21641580, ack 1, win 123, length 46720 17:20:20.705805 IP xx.xx.xx.xx.http > 81.23.5.148.54819: Flags [.], seq 21594860:21641580, ack 1, win 123, length 46720 17:20:20.706734 IP xx.xx.xx.xx.http > 81.23.5.148.54819: Flags [.], seq 21641580:21648880, ack 1, win 123, length 7300 17:20:20.717222 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21406520, win 61685, length 0 17:20:20.717272 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21410900, win 63145, length 0 17:20:20.717499 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21416740, win 62780, length 0 17:20:20.717971 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21421120, win 64240, length 0 17:20:20.718719 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack 21428420, win 63145, length 0 в логе ни одной записи по этому ip а траффика от него идет мегабитами... не пойму как их отлавливать 2012/1/12 Maxim Dounin > Hello! > > On Thu, Jan 12, 2012 at 12:59:46PM +0200, Дмитрий Леоненко wrote: > > > Приветствую! > > > > Вчера ко мне пришло много-много траффика на 80 порт с бесполезными > данными > > в запросе, то есть просто мусор. > > Траффика исходящего было дофига и как я понял весь он состоял из ответов > > nginx об плохом запросе 400 Bad request. > > Я настроил так > > log_format fail2ban '$time_local $remote_addr == $request == $status > == > > $http_referer == $http_user_agent'; > > > > в логи сыпит дофига запросов вида: > > > > 12/Jan/2012:14:57:47 +0400 222.253.150.xxx == - == 400 == - == - > > 12/Jan/2012:14:57:49 +0400 123.24.190.xxx == - == 400 == - == - > > 12/Jan/2012:14:57:50 +0400 141.250.83.xxx == - == 400 == - == - > > 12/Jan/2012:14:57:51 +0400 187.59.185.xxx == - == 400 == - == - > > > > > > С помощью fail2ban добавлял в ipset на блокировку всех с такими > запросами. > > За часов 10 набежало в ipset: > > > > > # ipset list fail2ban-badbot-ips | tail -n +7 | wc -l > > > 6687 > > > > > > Меня терзают смутные сомнения, не блочу ли я легитимных пользователей по > > какой-то причине? > > Современные браузеры (e.g. Chrome) любят открывать > "дополнительные" соединения, и закрывать их без каких-либо > запросов, если работы для них не нашлось. Так что легитимные > трафик там вполне может быть. > > Лучше читать error_log, там должны быть сообщения "client sent > invalid ..." (правда на уровне info). > > Maxim Dounin > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -------------- next part -------------- An HTML attachment was scrubbed... URL: From tetsio.nainn на gmail.com Thu Jan 12 13:24:12 2012 From: tetsio.nainn на gmail.com (TetSio[Nainn]) Date: Thu, 12 Jan 2012 23:24:12 +1000 Subject: =?UTF-8?B?UmU6INCQ0YLQsNC60LAg0LggNDAwIEJhZCBSZXF1ZXN0?= In-Reply-To: <20120112124210.GC67687@mdounin.ru> References: <20120112124210.GC67687@mdounin.ru> Message-ID: А почему если по открытому сокету никакого запроса не поступало, то nginx должен ответить Bad Request? 12 января 2012 г. 22:42 пользователь Maxim Dounin написал: > Hello! > > On Thu, Jan 12, 2012 at 12:59:46PM +0200, Дмитрий Леоненко wrote: > >> Приветствую! >> >> Вчера ко мне пришло много-много траффика на 80 порт с бесполезными данными >> в запросе, то есть просто мусор. >> Траффика исходящего было дофига и как я понял весь он состоял из ответов >> nginx об плохом запросе 400 Bad request. >> Я настроил так >>     log_format fail2ban '$time_local $remote_addr == $request == $status == >> $http_referer == $http_user_agent'; >> >> в логи сыпит дофига запросов вида: >> >> 12/Jan/2012:14:57:47 +0400 222.253.150.xxx == - == 400 == - == - >> 12/Jan/2012:14:57:49 +0400 123.24.190.xxx == - == 400 == - == - >> 12/Jan/2012:14:57:50 +0400 141.250.83.xxx == - == 400 == - == - >> 12/Jan/2012:14:57:51 +0400 187.59.185.xxx == - == 400 == - == - >> >> >> С помощью fail2ban добавлял в ipset на блокировку всех с такими запросами. >> За часов 10 набежало в ipset: >> >> > # ipset list fail2ban-badbot-ips | tail -n +7 | wc -l >> > 6687 >> >> >> Меня терзают смутные сомнения, не блочу ли я легитимных пользователей по >> какой-то причине? > > Современные браузеры (e.g. Chrome) любят открывать > "дополнительные" соединения, и закрывать их без каких-либо > запросов, если работы для них не нашлось.  Так что легитимные > трафик там вполне может быть. > > Лучше читать error_log, там должны быть сообщения "client sent > invalid ..." (правда на уровне info). > > Maxim Dounin > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- С ув. М.А. Мохначевский Отдел информационнных технологий ООО "Компания "СахаИнтернет НТ" к.т. (4112)390246 доб. 927 From mdounin на mdounin.ru Thu Jan 12 13:36:55 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Thu, 12 Jan 2012 17:36:55 +0400 Subject: =?UTF-8?B?UmU6INCQ0YLQsNC60LAg0LggNDAwIEJhZCBSZXF1ZXN0?= In-Reply-To: References: <20120112124210.GC67687@mdounin.ru> Message-ID: <20120112133655.GF67687@mdounin.ru> Hello! On Thu, Jan 12, 2012 at 11:24:12PM +1000, TetSio[Nainn] wrote: > А почему если по открытому сокету никакого запроса не поступало, то > nginx должен ответить Bad Request? Потому что это частный случай неправильного запроса - клиент закрыл соединение до того, как смог отправить запрос полностью. (Ну и отвечать он не отвечает, ибо в данном случае отвечать уже некуда. Только логгирует.) Maxim Dounin > > 12 января 2012 г. 22:42 пользователь Maxim Dounin написал: > > Hello! > > > > On Thu, Jan 12, 2012 at 12:59:46PM +0200, Дмитрий Леоненко wrote: > > > >> Приветствую! > >> > >> Вчера ко мне пришло много-много траффика на 80 порт с бесполезными данными > >> в запросе, то есть просто мусор. > >> Траффика исходящего было дофига и как я понял весь он состоял из ответов > >> nginx об плохом запросе 400 Bad request. > >> Я настроил так > >>     log_format fail2ban '$time_local $remote_addr == $request == $status == > >> $http_referer == $http_user_agent'; > >> > >> в логи сыпит дофига запросов вида: > >> > >> 12/Jan/2012:14:57:47 +0400 222.253.150.xxx == - == 400 == - == - > >> 12/Jan/2012:14:57:49 +0400 123.24.190.xxx == - == 400 == - == - > >> 12/Jan/2012:14:57:50 +0400 141.250.83.xxx == - == 400 == - == - > >> 12/Jan/2012:14:57:51 +0400 187.59.185.xxx == - == 400 == - == - > >> > >> > >> С помощью fail2ban добавлял в ipset на блокировку всех с такими запросами. > >> За часов 10 набежало в ipset: > >> > >> > # ipset list fail2ban-badbot-ips | tail -n +7 | wc -l > >> > 6687 > >> > >> > >> Меня терзают смутные сомнения, не блочу ли я легитимных пользователей по > >> какой-то причине? > > > > Современные браузеры (e.g. Chrome) любят открывать > > "дополнительные" соединения, и закрывать их без каких-либо > > запросов, если работы для них не нашлось.  Так что легитимные > > трафик там вполне может быть. > > > > Лучше читать error_log, там должны быть сообщения "client sent > > invalid ..." (правда на уровне info). > > > > Maxim Dounin > > > > _______________________________________________ > > nginx-ru mailing list > > nginx-ru на nginx.org > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > -- > С ув. М.А. Мохначевский > Отдел информационнных технологий > ООО "Компания "СахаИнтернет НТ" > к.т. (4112)390246 доб. 927 > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From mdounin на mdounin.ru Thu Jan 12 13:49:02 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Thu, 12 Jan 2012 17:49:02 +0400 Subject: =?UTF-8?B?UmU6INCQ0YLQsNC60LAg0LggNDAwIEJhZCBSZXF1ZXN0?= In-Reply-To: References: <20120112124210.GC67687@mdounin.ru> Message-ID: <20120112134902.GG67687@mdounin.ru> Hello! On Thu, Jan 12, 2012 at 03:23:32PM +0200, Дмитрий Леоненко wrote: > Максим, как можно поймать "нехороших компьютеров", которые делают вот такое: > > 17:20:20.685740 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack > 21243000, win 63510, length 0 > 17:20:20.685763 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack > 21247380, win 62780, length 0 > 17:20:20.685772 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack > 21251760, win 62415, length 0 [...] > 17:20:20.692992 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack > 21358340, win 62780, length 0 > 17:20:20.693281 IP xx.xx.xx.xx.http > 81.23.5.148.54819: Flags [.], seq > 21400680:21456160, ack 1, win 123, length 55480 > 17:20:20.694312 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack > 21365640, win 61685, length 0 > 17:20:20.694343 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack > 21368560, win 63145, length 0 > 17:20:20.694361 IP xx.xx.xx.xx.http > 81.23.5.148.54819: Flags [.], seq > 21400680:21456160, ack 1, win 123, length 55480 > 17:20:20.695541 IP xx.xx.xx.xx.http > 81.23.5.148.54819: Flags [.], seq > 21456160:21520400, ack 1, win 123, length 64240 > 17:20:20.695684 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack > 21374400, win 63145, length 0 [...] > в логе ни одной записи по этому ip а траффика от него идет мегабитами... не > пойму как их отлавливать Выглядит как вполне обычное скачивание большого ответа. Запись в access log'е появится после завершения отправки ответа. Трафик именно *от* него идёт мегабитами, или *к* нему? Maxim Dounin > > 2012/1/12 Maxim Dounin > > > Hello! > > > > On Thu, Jan 12, 2012 at 12:59:46PM +0200, Дмитрий Леоненко wrote: > > > > > Приветствую! > > > > > > Вчера ко мне пришло много-много траффика на 80 порт с бесполезными > > данными > > > в запросе, то есть просто мусор. > > > Траффика исходящего было дофига и как я понял весь он состоял из ответов > > > nginx об плохом запросе 400 Bad request. > > > Я настроил так > > > log_format fail2ban '$time_local $remote_addr == $request == $status > > == > > > $http_referer == $http_user_agent'; > > > > > > в логи сыпит дофига запросов вида: > > > > > > 12/Jan/2012:14:57:47 +0400 222.253.150.xxx == - == 400 == - == - > > > 12/Jan/2012:14:57:49 +0400 123.24.190.xxx == - == 400 == - == - > > > 12/Jan/2012:14:57:50 +0400 141.250.83.xxx == - == 400 == - == - > > > 12/Jan/2012:14:57:51 +0400 187.59.185.xxx == - == 400 == - == - > > > > > > > > > С помощью fail2ban добавлял в ipset на блокировку всех с такими > > запросами. > > > За часов 10 набежало в ipset: > > > > > > > # ipset list fail2ban-badbot-ips | tail -n +7 | wc -l > > > > 6687 > > > > > > > > > Меня терзают смутные сомнения, не блочу ли я легитимных пользователей по > > > какой-то причине? > > > > Современные браузеры (e.g. Chrome) любят открывать > > "дополнительные" соединения, и закрывать их без каких-либо > > запросов, если работы для них не нашлось. Так что легитимные > > трафик там вполне может быть. > > > > Лучше читать error_log, там должны быть сообщения "client sent > > invalid ..." (правда на уровне info). > > > > Maxim Dounin > > > > _______________________________________________ > > nginx-ru mailing list > > nginx-ru на nginx.org > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From dmitry.leonenko на gmail.com Thu Jan 12 14:49:48 2012 From: dmitry.leonenko на gmail.com (=?UTF-8?B?0JTQvNC40YLRgNC40Lkg0JvQtdC+0L3QtdC90LrQvg==?=) Date: Thu, 12 Jan 2012 16:49:48 +0200 Subject: =?UTF-8?B?UmU6INCQ0YLQsNC60LAg0LggNDAwIEJhZCBSZXF1ZXN0?= In-Reply-To: <20120112134902.GG67687@mdounin.ru> References: <20120112124210.GC67687@mdounin.ru> <20120112134902.GG67687@mdounin.ru> Message-ID: К нему. Сдампил кусок для другого ip. http://2baksa.ws/dump.bz2 Не похоже на валидный траффик. Вообще мусор какой-то в траффике. Похоже траффик идет именно от сервера клиенту. ничего не могу понять 2012/1/12 Maxim Dounin > Hello! > > On Thu, Jan 12, 2012 at 03:23:32PM +0200, Дмитрий Леоненко wrote: > > > Максим, как можно поймать "нехороших компьютеров", которые делают вот > такое: > > > > 17:20:20.685740 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack > > 21243000, win 63510, length 0 > > 17:20:20.685763 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack > > 21247380, win 62780, length 0 > > 17:20:20.685772 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack > > 21251760, win 62415, length 0 > > [...] > > > 17:20:20.692992 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack > > 21358340, win 62780, length 0 > > 17:20:20.693281 IP xx.xx.xx.xx.http > 81.23.5.148.54819: Flags [.], seq > > 21400680:21456160, ack 1, win 123, length 55480 > > 17:20:20.694312 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack > > 21365640, win 61685, length 0 > > 17:20:20.694343 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack > > 21368560, win 63145, length 0 > > 17:20:20.694361 IP xx.xx.xx.xx.http > 81.23.5.148.54819: Flags [.], seq > > 21400680:21456160, ack 1, win 123, length 55480 > > 17:20:20.695541 IP xx.xx.xx.xx.http > 81.23.5.148.54819: Flags [.], seq > > 21456160:21520400, ack 1, win 123, length 64240 > > 17:20:20.695684 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack > > 21374400, win 63145, length 0 > > [...] > > > в логе ни одной записи по этому ip а траффика от него идет мегабитами... > не > > пойму как их отлавливать > > Выглядит как вполне обычное скачивание большого ответа. Запись в > access log'е появится после завершения отправки ответа. > > Трафик именно *от* него идёт мегабитами, или *к* нему? > > Maxim Dounin > > > > > 2012/1/12 Maxim Dounin > > > > > Hello! > > > > > > On Thu, Jan 12, 2012 at 12:59:46PM +0200, Дмитрий Леоненко wrote: > > > > > > > Приветствую! > > > > > > > > Вчера ко мне пришло много-много траффика на 80 порт с бесполезными > > > данными > > > > в запросе, то есть просто мусор. > > > > Траффика исходящего было дофига и как я понял весь он состоял из > ответов > > > > nginx об плохом запросе 400 Bad request. > > > > Я настроил так > > > > log_format fail2ban '$time_local $remote_addr == $request == > $status > > > == > > > > $http_referer == $http_user_agent'; > > > > > > > > в логи сыпит дофига запросов вида: > > > > > > > > 12/Jan/2012:14:57:47 +0400 222.253.150.xxx == - == 400 == - == - > > > > 12/Jan/2012:14:57:49 +0400 123.24.190.xxx == - == 400 == - == - > > > > 12/Jan/2012:14:57:50 +0400 141.250.83.xxx == - == 400 == - == - > > > > 12/Jan/2012:14:57:51 +0400 187.59.185.xxx == - == 400 == - == - > > > > > > > > > > > > С помощью fail2ban добавлял в ipset на блокировку всех с такими > > > запросами. > > > > За часов 10 набежало в ipset: > > > > > > > > > # ipset list fail2ban-badbot-ips | tail -n +7 | wc -l > > > > > 6687 > > > > > > > > > > > > Меня терзают смутные сомнения, не блочу ли я легитимных > пользователей по > > > > какой-то причине? > > > > > > Современные браузеры (e.g. Chrome) любят открывать > > > "дополнительные" соединения, и закрывать их без каких-либо > > > запросов, если работы для них не нашлось. Так что легитимные > > > трафик там вполне может быть. > > > > > > Лучше читать error_log, там должны быть сообщения "client sent > > > invalid ..." (правда на уровне info). > > > > > > Maxim Dounin > > > > > > _______________________________________________ > > > nginx-ru mailing list > > > nginx-ru на nginx.org > > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > _______________________________________________ > > nginx-ru mailing list > > nginx-ru на nginx.org > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dmitry.leonenko на gmail.com Thu Jan 12 15:12:50 2012 From: dmitry.leonenko на gmail.com (=?UTF-8?B?0JTQvNC40YLRgNC40Lkg0JvQtdC+0L3QtdC90LrQvg==?=) Date: Thu, 12 Jan 2012 17:12:50 +0200 Subject: =?UTF-8?B?UmU6INCQ0YLQsNC60LAg0LggNDAwIEJhZCBSZXF1ZXN0?= In-Reply-To: References: <20120112124210.GC67687@mdounin.ru> <20120112134902.GG67687@mdounin.ru> Message-ID: Похоже это какой-то flv контент. Разбор полетов продолжается 2012/1/12 Дмитрий Леоненко > К нему. Сдампил кусок для другого ip. http://2baksa.ws/dump.bz2 > Не похоже на валидный траффик. Вообще мусор какой-то в траффике. Похоже > траффик идет именно от сервера клиенту. > ничего не могу понять > > > 2012/1/12 Maxim Dounin > >> Hello! >> >> On Thu, Jan 12, 2012 at 03:23:32PM +0200, Дмитрий Леоненко wrote: >> >> > Максим, как можно поймать "нехороших компьютеров", которые делают вот >> такое: >> > >> > 17:20:20.685740 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack >> > 21243000, win 63510, length 0 >> > 17:20:20.685763 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack >> > 21247380, win 62780, length 0 >> > 17:20:20.685772 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack >> > 21251760, win 62415, length 0 >> >> [...] >> >> > 17:20:20.692992 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack >> > 21358340, win 62780, length 0 >> > 17:20:20.693281 IP xx.xx.xx.xx.http > 81.23.5.148.54819: Flags [.], seq >> > 21400680:21456160, ack 1, win 123, length 55480 >> > 17:20:20.694312 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack >> > 21365640, win 61685, length 0 >> > 17:20:20.694343 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack >> > 21368560, win 63145, length 0 >> > 17:20:20.694361 IP xx.xx.xx.xx.http > 81.23.5.148.54819: Flags [.], seq >> > 21400680:21456160, ack 1, win 123, length 55480 >> > 17:20:20.695541 IP xx.xx.xx.xx.http > 81.23.5.148.54819: Flags [.], seq >> > 21456160:21520400, ack 1, win 123, length 64240 >> > 17:20:20.695684 IP 81.23.5.148.54819 > xx.xx.xx.xx.http: Flags [.], ack >> > 21374400, win 63145, length 0 >> >> [...] >> >> > в логе ни одной записи по этому ip а траффика от него идет >> мегабитами... не >> > пойму как их отлавливать >> >> Выглядит как вполне обычное скачивание большого ответа. Запись в >> access log'е появится после завершения отправки ответа. >> >> Трафик именно *от* него идёт мегабитами, или *к* нему? >> >> Maxim Dounin >> >> > >> > 2012/1/12 Maxim Dounin >> > >> > > Hello! >> > > >> > > On Thu, Jan 12, 2012 at 12:59:46PM +0200, Дмитрий Леоненко wrote: >> > > >> > > > Приветствую! >> > > > >> > > > Вчера ко мне пришло много-много траффика на 80 порт с бесполезными >> > > данными >> > > > в запросе, то есть просто мусор. >> > > > Траффика исходящего было дофига и как я понял весь он состоял из >> ответов >> > > > nginx об плохом запросе 400 Bad request. >> > > > Я настроил так >> > > > log_format fail2ban '$time_local $remote_addr == $request == >> $status >> > > == >> > > > $http_referer == $http_user_agent'; >> > > > >> > > > в логи сыпит дофига запросов вида: >> > > > >> > > > 12/Jan/2012:14:57:47 +0400 222.253.150.xxx == - == 400 == - == - >> > > > 12/Jan/2012:14:57:49 +0400 123.24.190.xxx == - == 400 == - == - >> > > > 12/Jan/2012:14:57:50 +0400 141.250.83.xxx == - == 400 == - == - >> > > > 12/Jan/2012:14:57:51 +0400 187.59.185.xxx == - == 400 == - == - >> > > > >> > > > >> > > > С помощью fail2ban добавлял в ipset на блокировку всех с такими >> > > запросами. >> > > > За часов 10 набежало в ipset: >> > > > >> > > > > # ipset list fail2ban-badbot-ips | tail -n +7 | wc -l >> > > > > 6687 >> > > > >> > > > >> > > > Меня терзают смутные сомнения, не блочу ли я легитимных >> пользователей по >> > > > какой-то причине? >> > > >> > > Современные браузеры (e.g. Chrome) любят открывать >> > > "дополнительные" соединения, и закрывать их без каких-либо >> > > запросов, если работы для них не нашлось. Так что легитимные >> > > трафик там вполне может быть. >> > > >> > > Лучше читать error_log, там должны быть сообщения "client sent >> > > invalid ..." (правда на уровне info). >> > > >> > > Maxim Dounin >> > > >> > > _______________________________________________ >> > > nginx-ru mailing list >> > > nginx-ru на nginx.org >> > > http://mailman.nginx.org/mailman/listinfo/nginx-ru >> >> > _______________________________________________ >> > nginx-ru mailing list >> > nginx-ru на nginx.org >> > http://mailman.nginx.org/mailman/listinfo/nginx-ru >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hello на developer.by Thu Jan 12 16:37:44 2012 From: hello на developer.by (Sergei Demidovich) Date: Thu, 12 Jan 2012 18:37:44 +0200 Subject: =?UTF-8?B?0J/RgNC+0LHQu9C10LzQsCDRgSBwcm94eV9wYXNzINC4IHVybA==?= Message-ID: Приветствую. Наткнулся на след проблему: В log_error: 2012/01/12 18:26:07 [error] 27916#0: *12 upstream timed out (110: Connection timed out) while connecting to upstream, client: 84.201.232.211, server: companies.page.com, request: "POST /signin HTTP/1.1", upstream: "http://18.124.15.XX0:80/user/a/login", host: "companies.page.com", referrer: "http://companies.page.com/" В конфиге для companies.page.com: location /signin { proxy_pass http://page.com.by/user/a/login; } Т/е проблема в том, что nginx заменяет название домена сайта куда нужно сделать редирект, на ай-пи адрес. Спасибо. -- Sergei Demidovich Sent with Sparrow (http://www.sparrowmailapp.com/?sig) ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From c.kworr на gmail.com Thu Jan 12 11:15:41 2012 From: c.kworr на gmail.com (Volodymyr Kostyrko) Date: Thu, 12 Jan 2012 13:15:41 +0200 Subject: =?UTF-8?B?UmU6INCQ0YLQsNC60LAg0LggNDAwIEJhZCBSZXF1ZXN0?= In-Reply-To: References: Message-ID: <4F0EC0DD.4070808@gmail.com> Дмитрий Леоненко wrote: > Приветствую! > > Вчера ко мне пришло много-много траффика на 80 порт с бесполезными > данными в запросе, то есть просто мусор. > Траффика исходящего было дофига и как я понял весь он состоял из ответов > nginx об плохом запросе 400 Bad request. > Я настроил так > log_format fail2ban '$time_local $remote_addr == $request == > $status == $http_referer == $http_user_agent'; > > в логи сыпит дофига запросов вида: > > 12/Jan/2012:14:57:47 +0400 222.253.150.xxx == - == 400 == - == - > 12/Jan/2012:14:57:49 +0400 123.24.190.xxx == - == 400 == - == - > 12/Jan/2012:14:57:50 +0400 141.250.83.xxx == - == 400 == - == - > 12/Jan/2012:14:57:51 +0400 187.59.185.xxx == - == 400 == - == - > > > С помощью fail2ban добавлял в ipset на блокировку всех с такими > запросами. За часов 10 набежало в ipset: > > # ipset list fail2ban-badbot-ips | tail -n +7 | wc -l > 6687 > > > Меня терзают смутные сомнения, не блочу ли я легитимных пользователей по > какой-то причине? > > P.S. проблема с кучей внезапно появившегося исходящего трафика решилась так. Знакомо, хотя товарищи прогрессируют... Я обычно считал для каждого адреса параллельно количество нормальных запросов и банил только когда плохих запросов становилось больше random(10, 100) и больше чем хороших. При бане напрямую всех иногда в список паразитов попадали боты. -- Sphinx of black quartz judge my vow. From dmitry.leonenko на gmail.com Thu Jan 12 11:24:57 2012 From: dmitry.leonenko на gmail.com (=?UTF-8?B?0JTQvNC40YLRgNC40Lkg0JvQtdC+0L3QtdC90LrQvg==?=) Date: Thu, 12 Jan 2012 13:24:57 +0200 Subject: =?UTF-8?B?UmU6INCQ0YLQsNC60LAg0LggNDAwIEJhZCBSZXF1ZXN0?= In-Reply-To: <4F0EC0DD.4070808@gmail.com> References: <4F0EC0DD.4070808@gmail.com> Message-ID: Ну можно в принципе банить если за n минут пришло >m плохих запросов. Вопрос собственно состоял в том, почему и могут ли такие запросы приходить от легитимных клиентов? 2012/1/12 Volodymyr Kostyrko > > > Дмитрий Леоненко wrote: > >> Приветствую! >> >> Вчера ко мне пришло много-много траффика на 80 порт с бесполезными >> данными в запросе, то есть просто мусор. >> Траффика исходящего было дофига и как я понял весь он состоял из ответов >> nginx об плохом запросе 400 Bad request. >> Я настроил так >> log_format fail2ban '$time_local $remote_addr == $request == >> $status == $http_referer == $http_user_agent'; >> >> в логи сыпит дофига запросов вида: >> >> 12/Jan/2012:14:57:47 +0400 222.253.150.xxx == - == 400 == - == - >> 12/Jan/2012:14:57:49 +0400 123.24.190.xxx == - == 400 == - == - >> 12/Jan/2012:14:57:50 +0400 141.250.83.xxx == - == 400 == - == - >> 12/Jan/2012:14:57:51 +0400 187.59.185.xxx == - == 400 == - == - >> >> >> С помощью fail2ban добавлял в ipset на блокировку всех с такими >> запросами. За часов 10 набежало в ipset: >> >> # ipset list fail2ban-badbot-ips | tail -n +7 | wc -l >> 6687 >> >> >> Меня терзают смутные сомнения, не блочу ли я легитимных пользователей по >> какой-то причине? >> >> P.S. проблема с кучей внезапно появившегося исходящего трафика решилась >> так. >> > > Знакомо, хотя товарищи прогрессируют... Я обычно считал для каждого адреса > параллельно количество нормальных запросов и банил только когда плохих > запросов становилось больше random(10, 100) и больше чем хороших. При бане > напрямую всех иногда в список паразитов попадали боты. > > -- > Sphinx of black quartz judge my vow. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mdounin на mdounin.ru Thu Jan 12 17:00:03 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Thu, 12 Jan 2012 21:00:03 +0400 Subject: =?UTF-8?B?UmU6INGA0LXQsNC60YbQuNGPIGltYWdlX2ZpbHRlciDQvdCwIHJldHVybg==?= In-Reply-To: <20120112001503.d08e0a8c.gd@powernet.ru> References: <20120112001503.d08e0a8c.gd@powernet.ru> Message-ID: <20120112170002.GJ67687@mdounin.ru> Hello! On Thu, Jan 12, 2012 at 12:15:03AM +0400, GD wrote: > Доброго времени суток, > > Наткнулся на багофичу: > > Пример чуть синтетический, но рабочий: > > location /r/ { > if ( $uri = "/r/want_403" ) { > return 403; > } > > rewrite ^/r/(.+)$ /$1 break; > > proxy_pass http://host.tld; > > image_filter resize 100 100; > } > > proxy_pass ожидаемо реагирует на return и никуда не ходит > но image_filter не взирая на 403 (Forbidden) пытается отработать, > в результате отдавая 415 (Unsupported Media Type) > > Смотрел на ngx_http_addition_module, там реакция на return > полностью соответсвует док-ции. Т.е. если срабатывает return 403, > то add_after_body уже не отрабатывает. > > Получилось полечить image_filter патчем (см. аттач). > Хочется услышать мненеие разработчиков. Image filter расчитан на то, что он обрабатывает в т.ч. untrusted ответы со сторонних серверов, и поэтому какая-либо фильтрация по кодам ответов - не производится. Правильное решение - обарабатывать 403-ю ошибку в отдельном location'е. Если говорить конкретно о вышеприведённой конфигурации, то очевидно так: location /r/ { ... image_filter ... } location = /r/want_403 { return 403; } В общем случае - через error_page 403. Maxim Dounin From chipitsine на gmail.com Thu Jan 12 17:24:12 2012 From: chipitsine на gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Thu, 12 Jan 2012 23:24:12 +0600 Subject: =?UTF-8?B?UmU6INCQ0YLQsNC60LAg0LggNDAwIEJhZCBSZXF1ZXN0?= In-Reply-To: References: Message-ID: у вас не FreeBSD случайно ? http accept filter был бы в самый раз никто под линукс подобные штуки не видел? 12 января 2012 г. 16:59 пользователь Дмитрий Леоненко < dmitry.leonenko на gmail.com> написал: > Приветствую! > > Вчера ко мне пришло много-много траффика на 80 порт с бесполезными данными > в запросе, то есть просто мусор. > Траффика исходящего было дофига и как я понял весь он состоял из ответов > nginx об плохом запросе 400 Bad request. > Я настроил так > log_format fail2ban '$time_local $remote_addr == $request == $status > == $http_referer == $http_user_agent'; > > в логи сыпит дофига запросов вида: > > 12/Jan/2012:14:57:47 +0400 222.253.150.xxx == - == 400 == - == - > 12/Jan/2012:14:57:49 +0400 123.24.190.xxx == - == 400 == - == - > 12/Jan/2012:14:57:50 +0400 141.250.83.xxx == - == 400 == - == - > 12/Jan/2012:14:57:51 +0400 187.59.185.xxx == - == 400 == - == - > > > С помощью fail2ban добавлял в ipset на блокировку всех с такими запросами. > За часов 10 набежало в ipset: > >> # ipset list fail2ban-badbot-ips | tail -n +7 | wc -l >> 6687 > > > Меня терзают смутные сомнения, не блочу ли я легитимных пользователей по > какой-то причине? > > P.S. проблема с кучей внезапно появившегося исходящего трафика решилась > так. > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From gd на powernet.ru Thu Jan 12 17:43:44 2012 From: gd на powernet.ru (GD) Date: Thu, 12 Jan 2012 21:43:44 +0400 Subject: =?UTF-8?B?UmU6INGA0LXQsNC60YbQuNGPIGltYWdlX2ZpbHRlciDQvdCwIHJldHVybg==?= In-Reply-To: <20120112170002.GJ67687@mdounin.ru> References: <20120112001503.d08e0a8c.gd@powernet.ru> <20120112170002.GJ67687@mdounin.ru> Message-ID: <20120112214344.74a85abf.gd@powernet.ru> On Thu, 12 Jan 2012 21:00:03 +0400 Maxim Dounin wrote: > Hello! > > On Thu, Jan 12, 2012 at 12:15:03AM +0400, GD wrote: > > > Доброго времени суток, > > > > Наткнулся на багофичу: > > > > Пример чуть синтетический, но рабочий: > > > > location /r/ { > > if ( $uri = "/r/want_403" ) { > > return 403; > > } > > > > rewrite ^/r/(.+)$ /$1 break; > > > > proxy_pass http://host.tld; > > > > image_filter resize 100 100; > > } > > > > proxy_pass ожидаемо реагирует на return и никуда не ходит > > но image_filter не взирая на 403 (Forbidden) пытается отработать, > > в результате отдавая 415 (Unsupported Media Type) > > > > Смотрел на ngx_http_addition_module, там реакция на return > > полностью соответсвует док-ции. Т.е. если срабатывает return 403, > > то add_after_body уже не отрабатывает. > > > > Получилось полечить image_filter патчем (см. аттач). > > Хочется услышать мненеие разработчиков. > > Image filter расчитан на то, что он обрабатывает в т.ч. untrusted > ответы со сторонних серверов, и поэтому какая-либо фильтрация по > кодам ответов - не производится. не очень логично на мой взгляд, но понятно и, да, мой патч уже не кажется мне решением не понятно все же почему return не завершает любую дальнейшую обработку код ответа здесь не играет роли > > Правильное решение - обарабатывать 403-ю ошибку в отдельном > location'е. Если говорить конкретно о вышеприведённой > конфигурации, то очевидно так: > > location /r/ { > ... > image_filter ... > } > > location = /r/want_403 { > return 403; > } заменил return на rewrite ... last на этому видимо и остановлюсь > > В общем случае - через error_page 403. про error_page - не понял спасибо > > Maxim Dounin > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- GD From dmitry.leonenko на gmail.com Thu Jan 12 17:47:58 2012 From: dmitry.leonenko на gmail.com (=?UTF-8?B?0JTQvNC40YLRgNC40Lkg0JvQtdC+0L3QtdC90LrQvg==?=) Date: Thu, 12 Jan 2012 19:47:58 +0200 Subject: =?UTF-8?B?UmU6INCQ0YLQsNC60LAg0LggNDAwIEJhZCBSZXF1ZXN0?= In-Reply-To: References: Message-ID: Нет, тут CentOS 6.2. Да и тревога оказалась ложной. Но много чего нового для себя узнал. В частности о 400 ошибках, что это в логе сейчас нормально, так работают современные браузеры.... 2012/1/12 Илья Шипицин > у вас не FreeBSD случайно ? http accept filter был бы в самый раз > никто под линукс подобные штуки не видел? > > 12 января 2012 г. 16:59 пользователь Дмитрий Леоненко < > dmitry.leonenko на gmail.com> написал: > >> Приветствую! >> >> Вчера ко мне пришло много-много траффика на 80 порт с бесполезными >> данными в запросе, то есть просто мусор. >> Траффика исходящего было дофига и как я понял весь он состоял из ответов >> nginx об плохом запросе 400 Bad request. >> Я настроил так >> log_format fail2ban '$time_local $remote_addr == $request == $status >> == $http_referer == $http_user_agent'; >> >> в логи сыпит дофига запросов вида: >> >> 12/Jan/2012:14:57:47 +0400 222.253.150.xxx == - == 400 == - == - >> 12/Jan/2012:14:57:49 +0400 123.24.190.xxx == - == 400 == - == - >> 12/Jan/2012:14:57:50 +0400 141.250.83.xxx == - == 400 == - == - >> 12/Jan/2012:14:57:51 +0400 187.59.185.xxx == - == 400 == - == - >> >> >> С помощью fail2ban добавлял в ipset на блокировку всех с такими >> запросами. За часов 10 набежало в ipset: >> >>> # ipset list fail2ban-badbot-ips | tail -n +7 | wc -l >>> 6687 >> >> >> Меня терзают смутные сомнения, не блочу ли я легитимных пользователей по >> какой-то причине? >> >> P.S. проблема с кучей внезапно появившегося исходящего трафика решилась >> так. >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -------------- next part -------------- An HTML attachment was scrubbed... URL: From igor на shergin.ru Thu Jan 12 18:02:18 2012 From: igor на shergin.ru (Igor Shergin) Date: Thu, 12 Jan 2012 22:02:18 +0400 Subject: =?UTF-8?B?UmU6INCQ0YLQsNC60LAg0LggNDAwIEJhZCBSZXF1ZXN0?= In-Reply-To: References: Message-ID: <97A1A786-7953-48C2-BD7B-A04544FCF16C@shergin.ru> > Меня терзают смутные сомнения, не блочу ли я легитимных пользователей по какой-то причине? Недавно запустил сильно посещаемый сайт, в логе дефолтного виртуального хоста вижу нечто похожее: 187.74.215.245 - - [12/Jan/2012:17:43:16 +0000] "-" 400 0 "-" "-" "-" 187.74.215.245 - - [12/Jan/2012:17:43:16 +0000] "-" 400 0 "-" "-" "-" 187.74.215.245 - - [12/Jan/2012:17:43:16 +0000] "-" 400 0 "-" "-" "-" 187.57.22.175 - - [12/Jan/2012:17:43:16 +0000] "-" 400 0 "-" "-" "-" 187.59.230.90 - - [12/Jan/2012:17:43:18 +0000] "-" 400 0 "-" "-" "-" 201.80.170.150 - - [12/Jan/2012:17:43:20 +0000] "-" 400 0 "-" "-" "-" 189.11.191.59 - - [12/Jan/2012:17:43:22 +0000] "-" 400 0 "-" "-" "-" 189.11.191.59 - - [12/Jan/2012:17:43:22 +0000] "-" 400 0 "-" "-" "-" 187.67.213.161 - - [12/Jan/2012:17:43:22 +0000] "-" 400 0 "-" "-" "-" 187.67.213.161 - - [12/Jan/2012:17:43:22 +0000] "-" 400 0 "-" "-" "-" 209.10.200.2 - - [12/Jan/2012:17:43:23 +0000] "-" 400 0 "-" "-" "-" 189.27.34.174 - - [12/Jan/2012:17:43:23 +0000] "-" 400 0 "-" "-" "-" У меня несколько зон выдачи по миру с гео-балансером, поэтому я сразу заметил, что 400-е ошибки приходят от хостов из соответствующих зон. Например, это цитата с сервера, на котором доминирует бразильский трафик - все хосты бразильские. На следующем шаге я нашёл эти хосты в логах виртуального сайта, и они произвели впечатление легитимных пользователей. У всех юзер-агент вида Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.33 Safari/535.11 Я выпал из темы хостинга на несколько лет, поэтому не знаю, что это, Mozilla, Chrome или Safari, но AppleWebKit определённо намекает на Mac. :-) Мне кажется, это категорически нельзя банить, если, конечно, не ставить целью выпилить с ресурса всех мако****. -- Igor Shergin From ne на vbart.ru Thu Jan 12 18:15:50 2012 From: ne на vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Thu, 12 Jan 2012 22:15:50 +0400 Subject: =?UTF-8?B?UmU6INCQ0YLQsNC60LAg0LggNDAwIEJhZCBSZXF1ZXN0?= In-Reply-To: <97A1A786-7953-48C2-BD7B-A04544FCF16C@shergin.ru> References: <97A1A786-7953-48C2-BD7B-A04544FCF16C@shergin.ru> Message-ID: <201201122215.50585.ne@vbart.ru> On Thursday 12 January 2012 22:02:18 Igor Shergin wrote: [...] > > Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.11 (KHTML, like Gecko) > Chrome/17.0.963.33 Safari/535.11 > > Я выпал из темы хостинга на несколько лет, поэтому не знаю, что это, > Mozilla, Chrome или Safari, но AppleWebKit определённо намекает на Mac. > :-) Да, а особенно на Mac намекает Windows NT 6.1 ;) Такой UA обычно 17-го хрома на Windows 7 -- Валентин Бартенев From mdounin на mdounin.ru Thu Jan 12 18:18:17 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Thu, 12 Jan 2012 22:18:17 +0400 Subject: =?UTF-8?B?UmU6INCy0L7Qv9GA0L7RgSDQv9GA0L4g0LrRjdGI?= In-Reply-To: References: <20120108125256.GY67687@mdounin.ru> <20120109011046.GB67687@mdounin.ru> Message-ID: <20120112181817.GL67687@mdounin.ru> Hello! On Thu, Jan 12, 2012 at 11:55:27AM +0400, Anton Kiryushkin wrote: > И еще возник вопрос про > proxy_cache_use_stale error timeout invalid_header updating http_500 > http_502 http_503 http_504 http_404; > > Я правильно понимаю, что эта строчка означает примерно следующее: > если код ответа бэкенда 500, 503, 502, 404, превысил таймаут, вернул > некорректные заголовки и находится в процессе обновления - вернуть > ответ из кэша, иначе возвращать ответ от бэкенда? Да. Наблюдаемое поведение - это ошибка, неправильно обрабатывался случай, когда все бекенды были признаны мёртвыми, и nginx просто не пытался никуда ходить (в error_log'е при этом возникает сообщение "no live upstreams", и все бекенды объявляются снова живыми). Патч прилагается. Maxim Dounin > > 12 января 2012 г. 0:28 пользователь Anton Kiryushkin > написал: > > вдогонку, bcj = name_upstream. > > > > 12 января 2012 г. 0:27 пользователь Anton Kiryushkin > > написал: > >> Пишется следующее: > >> """name_upstream""502""EXPIRED" > >> или """server1, server2""502, 502""-" > >> или """bcj""502""MISS" > >> > >> При этом время жизни кэша задано в 5 минут: > >>        location = / { > >>            proxy_ignore_headers Cache-Control Expires Set-Cookie; > >>            proxy_cache_bypass  $http_x_update; > >> > >>            proxy_cache cache_page; > >>            proxy_cache_key $scheme$host$request_uri; > >>            proxy_cache_valid 5m; > >>            proxy_hide_header "Set-Cookie"; > >> > >>            proxy_cache_use_stale error invalid_header timeout > >> updating http_500 http_502 http_503 http_504 http_404; > >> > >>            proxy_pass  http://backend; > >>            proxy_set_header X-Real-IP $remote_addr; > >>            proxy_set_header Host $http_host; > >>            proxy_redirect default; > >>            proxy_buffering on; > >> > >>        } > >> > >> 9 января 2012 г. 5:10 пользователь Maxim Dounin написал: > >>> Hello! > >>> > >>> On Sun, Jan 08, 2012 at 09:24:58PM +0400, Anton Kiryushkin wrote: > >>> > >>>> Честно сказать дебаг я еще не делал. В обычном access стандартный ответ 502. > >>> > >>> Для начала - что в error_log'е, и что в переменных $upstream_addr, > >>> $upstream_status, $upstream_cache_status (писать в access_log). > >>> > >>> Maxim Dounin > >>> > >>>> > >>>> 8 января 2012 г. 16:52 пользователь Maxim Dounin написал: > >>>> > Hello! > >>>> > > >>>> > On Fri, Jan 06, 2012 at 04:48:59PM +0400, Anton Kiryushkin wrote: > >>>> > > >>>> >> Как можно объяснить поведение nginx, при котором страница есть в кэше, > >>>> >> бэкенд остановлен, а при ctrl + f5 ловится 502-я ошибка, хотя при > >>>> >> возникновении этой ошибки ответ должен браться из кэша. Вот пример > >>>> >> локейшена: > >>>> >> > >>>> >> location / { > >>>> >>             proxy_ignore_headers Cache-Control Expires Set-Cookie; > >>>> >>             proxy_hide_header "Set-Cookie"; > >>>> >> > >>>> >>             proxy_cache cache_page; > >>>> >>             proxy_cache_key $scheme$host; > >>>> >>             proxy_cache_valid 1m; > >>>> >> > >>>> >>             proxy_cache_use_stale error timeout invalid_header > >>>> >> updating http_500 http_502 http_503 http_504 http_404; > >>>> >> > >>>> >>             proxy_pass  http://backend; > >>>> >>             proxy_set_header X-Real-IP $remote_addr; > >>>> >>             proxy_set_header Host $http_host; > >>>> >>             proxy_redirect default; > >>>> >>             proxy_buffering on; > >>>> >> } > >>>> >> > >>>> >> При этом если страница полностью прогрузилась, 502-я не ловится, а > >>>> >> если догрузилась не доконца - то каждое второе срабатывание. > >>>> > > >>>> > А в логах при этом что? > >>>> > > >>>> > Maxim Dounin > >>>> > > >>>> > _______________________________________________ > >>>> > nginx-ru mailing list > >>>> > nginx-ru на nginx.org > >>>> > http://mailman.nginx.org/mailman/listinfo/nginx-ru > >>>> > >>>> > >>>> > >>>> -- > >>>> Best regards, > >>>> Anton Kiryushkin, > >>>> _______________________________________________ > >>>> nginx-ru mailing list > >>>> nginx-ru на nginx.org > >>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru > >>> > >>> _______________________________________________ > >>> nginx-ru mailing list > >>> nginx-ru на nginx.org > >>> http://mailman.nginx.org/mailman/listinfo/nginx-ru > >> > >> > >> > >> -- > >> Best regards, > >> Anton Kiryushkin, > > > > > > > > -- > > Best regards, > > Anton Kiryushkin, > > > > -- > Best regards, > Anton Kiryushkin, > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -------------- next part -------------- # HG changeset patch # User Maxim Dounin # Date 1326392142 -14400 # Node ID 346b6aef9d0df7cd34297fd9d79f1d67ef908d38 # Parent 7a274f0f9c211f770399aa23bf6f9c508a3e58c9 Fixed proxy_cache_use_stale in "no live upstreams" case. diff --git a/src/http/modules/ngx_http_fastcgi_module.c b/src/http/modules/ngx_http_fastcgi_module.c --- a/src/http/modules/ngx_http_fastcgi_module.c +++ b/src/http/modules/ngx_http_fastcgi_module.c @@ -2314,6 +2314,10 @@ ngx_http_fastcgi_merge_loc_conf(ngx_conf |NGX_HTTP_UPSTREAM_FT_OFF; } + if (conf->upstream.cache_use_stale & NGX_HTTP_UPSTREAM_FT_ERROR) { + conf->upstream.cache_use_stale |= NGX_HTTP_UPSTREAM_FT_NOLIVE; + } + if (conf->upstream.cache_methods == 0) { conf->upstream.cache_methods = prev->upstream.cache_methods; } diff --git a/src/http/modules/ngx_http_proxy_module.c b/src/http/modules/ngx_http_proxy_module.c --- a/src/http/modules/ngx_http_proxy_module.c +++ b/src/http/modules/ngx_http_proxy_module.c @@ -2667,17 +2667,21 @@ ngx_http_proxy_merge_loc_conf(ngx_conf_t (NGX_CONF_BITMASK_SET |NGX_HTTP_UPSTREAM_FT_OFF)); - if (conf->upstream.cache_methods == 0) { - conf->upstream.cache_methods = prev->upstream.cache_methods; - } - - conf->upstream.cache_methods |= NGX_HTTP_GET|NGX_HTTP_HEAD; - if (conf->upstream.cache_use_stale & NGX_HTTP_UPSTREAM_FT_OFF) { conf->upstream.cache_use_stale = NGX_CONF_BITMASK_SET |NGX_HTTP_UPSTREAM_FT_OFF; } + if (conf->upstream.cache_use_stale & NGX_HTTP_UPSTREAM_FT_ERROR) { + conf->upstream.cache_use_stale |= NGX_HTTP_UPSTREAM_FT_NOLIVE; + } + + if (conf->upstream.cache_methods == 0) { + conf->upstream.cache_methods = prev->upstream.cache_methods; + } + + conf->upstream.cache_methods |= NGX_HTTP_GET|NGX_HTTP_HEAD; + ngx_conf_merge_ptr_value(conf->upstream.cache_bypass, prev->upstream.cache_bypass, NULL); diff --git a/src/http/modules/ngx_http_scgi_module.c b/src/http/modules/ngx_http_scgi_module.c --- a/src/http/modules/ngx_http_scgi_module.c +++ b/src/http/modules/ngx_http_scgi_module.c @@ -1286,6 +1286,10 @@ ngx_http_scgi_merge_loc_conf(ngx_conf_t |NGX_HTTP_UPSTREAM_FT_OFF; } + if (conf->upstream.cache_use_stale & NGX_HTTP_UPSTREAM_FT_ERROR) { + conf->upstream.cache_use_stale |= NGX_HTTP_UPSTREAM_FT_NOLIVE; + } + if (conf->upstream.cache_methods == 0) { conf->upstream.cache_methods = prev->upstream.cache_methods; } diff --git a/src/http/modules/ngx_http_uwsgi_module.c b/src/http/modules/ngx_http_uwsgi_module.c --- a/src/http/modules/ngx_http_uwsgi_module.c +++ b/src/http/modules/ngx_http_uwsgi_module.c @@ -1338,6 +1338,10 @@ ngx_http_uwsgi_merge_loc_conf(ngx_conf_t |NGX_HTTP_UPSTREAM_FT_OFF; } + if (conf->upstream.cache_use_stale & NGX_HTTP_UPSTREAM_FT_ERROR) { + conf->upstream.cache_use_stale |= NGX_HTTP_UPSTREAM_FT_NOLIVE; + } + if (conf->upstream.cache_methods == 0) { conf->upstream.cache_methods = prev->upstream.cache_methods; } From chipitsine на gmail.com Thu Jan 12 18:31:33 2012 From: chipitsine на gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Fri, 13 Jan 2012 00:31:33 +0600 Subject: Slow Read DoS attack In-Reply-To: <4F0D9476.30604@berloga.ru> References: <4F09A364.6030407@berloga.ru> <20120109024829.GC67687@mdounin.ru> <4F0ABD00.8010806@berloga.ru> <4F0D9476.30604@berloga.ru> Message-ID: ну, если люди пишут в рассылку вопрос и не пишут "мне ответы нафиг не нужны", как я мог предположить, что отвечать не надо? :-) вместо того, чтобы парсить логи и пихать это в фаирвол, можно настроить ограничение и забыть, чем это хуже? 11 января 2012 г. 19:53 пользователь Андрей Бойко написал: > > > 11.01.2012 14:18, Илья Шипицин пишет: > > 500r/s с одного IP-адреса ???? >> >> это ограничивается силами http://wiki.nginx.org/**HttpLimitReqModule >> >> делаете ключ (сообразно вашему приложению), скажем >> >> ip + uri + кука с сессией + user-agent >> >> и вешаете на него ограничение "1 запрос в секунду" >> > Спасибо, Илья, но зачем Вы это написали? Вроде вопрос "как ограничить" не > стоял же. > В принципе настройка сервера на 100К коннектов спасает и без ограничения. > Ко всему такие пионеры ловятся парсингом логов и расстреливаются через > огнестену. > > > 9 января 2012 г. 16:10 пользователь Андрей Бойко >> написал: >> >>> Добрый день. >>> >>> 09.01.2012 06:48, Maxim Dounin пишет: >>> >>> Hello! >>>> >>>> On Sun, Jan 08, 2012 at 06:08:36PM +0400, Андрей Бойко wrote: >>>> >>>> Добрый день. >>>>> >>>>> Прочитал топик на хабре >>>>> http://habrahabr.ru/blogs/**infosecurity/135817/, >>>>> проверил - все >>>>> ложится на раз. >>>>> Есть мысли, как это забороть? Или это не проблема nginx? >>>>> >>>> Это скорее проблема настроек, чем nginx'а. Данная "атака" >>>> имитирует большое количество медленно читающих ответ клиентов, и >>>> вполне логично, что если клиентов больше, чем разрешено держать >>>> соединений nginx'у, то будет проблема. >>>> >>>> На уровне nginx'а можно бороться двумя способами: >>>> >>>> 1) Разрешить nginx'у держать больше соединений, увеличив >>>> worker_connections, благо это дёшево. Главное - не забыть >>>> соответственно настроить операционную систему. >>>> >>>> 2) Ограничить количество соединений с одного ip-адреса через >>>> limit_conn. >>>> >>>> Maxim Dounin >>>> >>>> ______________________________**_________________ >>>> nginx-ru mailing list >>>> nginx-ru на nginx.org >>>> http://mailman.nginx.org/**mailman/listinfo/nginx-ru >>>> >>> Максим, вариант 1 вряд ли подходит, у меня worker_connections 100000 и >>> система настроена соответственно. >>> Вариант 2 вроде как работает, при ограничении в 500r/s ложиться >>> перестало. >>> Надо еще попробовать на более объемном файле. >>> Спасибо за ответ. >>> >>> >>> -- >>> Андрей Бойко. >>> тел. +7 (903) 144-11-65 >>> тел. +7 (495) 755-71-27 >>> skype boykoav >>> icq 472-82-39 >>> >>> ______________________________**_________________ >>> nginx-ru mailing list >>> nginx-ru на nginx.org >>> http://mailman.nginx.org/**mailman/listinfo/nginx-ru >>> >> ______________________________**_________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://mailman.nginx.org/**mailman/listinfo/nginx-ru >> > > -- > Андрей Бойко. > тел. +7 (903) 144-11-65 > тел. +7 (495) 755-71-27 > skype boykoav > icq 472-82-39 > > ______________________________**_________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/**mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From ne на vbart.ru Thu Jan 12 19:48:00 2012 From: ne на vbart.ru (=?utf-8?b?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Thu, 12 Jan 2012 23:48:00 +0400 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0YEgcHJveHlfcGFzcyDQuCB1cmw=?= In-Reply-To: References: Message-ID: <201201122348.01065.ne@vbart.ru> On Thursday 12 January 2012 20:37:44 Sergei Demidovich wrote: > Приветствую. > > Наткнулся на след проблему: > > В log_error: > > 2012/01/12 18:26:07 [error] 27916#0: *12 upstream timed out (110: > Connection timed out) while connecting to upstream, client: > 84.201.232.211, server: companies.page.com, request: "POST /signin > HTTP/1.1", upstream: "http://18.124.15.XX0:80/user/a/login", host: > "companies.page.com", referrer: "http://companies.page.com/" > > В конфиге для companies.page.com: > > location /signin { > proxy_pass http://page.com.by/user/a/login; > } > > > Т/е проблема в том, что nginx заменяет название домена сайта куда нужно > сделать редирект, на ай-пи адрес. > Не могли бы вы пояснить, где и что заменяет? У меня есть подозрение, что вы хотите этого: location /signin { proxy_pass http://page.com.by/user/a/login; proxy_set_header Host page.com.by; } -- Валентин Бартенев From mdounin на mdounin.ru Thu Jan 12 19:58:07 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Thu, 12 Jan 2012 23:58:07 +0400 Subject: =?UTF-8?B?UmU6INGA0LXQsNC60YbQuNGPIGltYWdlX2ZpbHRlciDQvdCwIHJldHVybg==?= In-Reply-To: <20120112214344.74a85abf.gd@powernet.ru> References: <20120112001503.d08e0a8c.gd@powernet.ru> <20120112170002.GJ67687@mdounin.ru> <20120112214344.74a85abf.gd@powernet.ru> Message-ID: <20120112195807.GP67687@mdounin.ru> Hello! On Thu, Jan 12, 2012 at 09:43:44PM +0400, GD wrote: > On Thu, 12 Jan 2012 21:00:03 +0400 > Maxim Dounin wrote: > > > Hello! > > > > On Thu, Jan 12, 2012 at 12:15:03AM +0400, GD wrote: > > > > > Доброго времени суток, > > > > > > Наткнулся на багофичу: > > > > > > Пример чуть синтетический, но рабочий: > > > > > > location /r/ { > > > if ( $uri = "/r/want_403" ) { > > > return 403; > > > } > > > > > > rewrite ^/r/(.+)$ /$1 break; > > > > > > proxy_pass http://host.tld; > > > > > > image_filter resize 100 100; > > > } > > > > > > proxy_pass ожидаемо реагирует на return и никуда не ходит > > > но image_filter не взирая на 403 (Forbidden) пытается отработать, > > > в результате отдавая 415 (Unsupported Media Type) > > > > > > Смотрел на ngx_http_addition_module, там реакция на return > > > полностью соответсвует док-ции. Т.е. если срабатывает return 403, > > > то add_after_body уже не отрабатывает. > > > > > > Получилось полечить image_filter патчем (см. аттач). > > > Хочется услышать мненеие разработчиков. > > > > Image filter расчитан на то, что он обрабатывает в т.ч. untrusted > > ответы со сторонних серверов, и поэтому какая-либо фильтрация по > > кодам ответов - не производится. > > не очень логично на мой взгляд, но понятно > и, да, мой патч уже не кажется мне решением > > не понятно все же почему return не завершает любую дальнейшую обработку > код ответа здесь не играет роли Потому что image_filter - это фильтр, а return - возвращает ответ, который потом проходит через этот фильтр. Чтобы ответ через фильтр не проходил - надо передать обработку в другой location, где этот фильтр выключен. > > Правильное решение - обарабатывать 403-ю ошибку в отдельном > > location'е. Если говорить конкретно о вышеприведённой > > конфигурации, то очевидно так: > > > > location /r/ { > > ... > > image_filter ... > > } > > > > location = /r/want_403 { > > return 403; > > } > > заменил return на rewrite ... last > на этому видимо и остановлюсь > > > > > В общем случае - через error_page 403. > > про error_page - не понял Конструкция error_page 403 = /somewhere; return 403; даёт приблизительно тот же эффект, что и rewrite ... last. Maxim Dounin From swood на fotofor.biz Thu Jan 12 20:06:25 2012 From: swood на fotofor.biz (Anton Kiryushkin) Date: Fri, 13 Jan 2012 00:06:25 +0400 Subject: =?UTF-8?B?UmU6INCy0L7Qv9GA0L7RgSDQv9GA0L4g0LrRjdGI?= In-Reply-To: <20120112181817.GL67687@mdounin.ru> References: <20120108125256.GY67687@mdounin.ru> <20120109011046.GB67687@mdounin.ru> <20120112181817.GL67687@mdounin.ru> Message-ID: Спасибо, наложил, пересобрал. Наблюдаю ситуацию, при которой у меня возвращается ответ из кэша. Сужу по куке, которая есть в кэш-файле и куке, которая появляется в браузере. Это ведь неверно или наоборот правильное поведение? 12 января 2012 г. 22:18 пользователь Maxim Dounin написал: > Hello! > > On Thu, Jan 12, 2012 at 11:55:27AM +0400, Anton Kiryushkin wrote: > >> И еще возник вопрос про >> proxy_cache_use_stale error timeout invalid_header updating http_500 >> http_502 http_503 http_504 http_404; >> >> Я правильно понимаю, что эта строчка означает примерно следующее: >> если код ответа бэкенда 500, 503, 502, 404, превысил таймаут, вернул >> некорректные заголовки и находится в процессе обновления - вернуть >> ответ из кэша, иначе возвращать ответ от бэкенда? > > Да. > > Наблюдаемое поведение - это ошибка, неправильно обрабатывался > случай, когда все бекенды были признаны мёртвыми, и nginx просто > не пытался никуда ходить (в error_log'е при этом возникает > сообщение "no live upstreams", и все бекенды объявляются снова > живыми). > > Патч прилагается. > > Maxim Dounin > >> >> 12 января 2012 г. 0:28 пользователь Anton Kiryushkin >> написал: >> > вдогонку, bcj = name_upstream. >> > >> > 12 января 2012 г. 0:27 пользователь Anton Kiryushkin >> > написал: >> >> Пишется следующее: >> >> """name_upstream""502""EXPIRED" >> >> или """server1, server2""502, 502""-" >> >> или """bcj""502""MISS" >> >> >> >> При этом время жизни кэша задано в 5 минут: >> >>        location = / { >> >>            proxy_ignore_headers Cache-Control Expires Set-Cookie; >> >>            proxy_cache_bypass  $http_x_update; >> >> >> >>            proxy_cache cache_page; >> >>            proxy_cache_key $scheme$host$request_uri; >> >>            proxy_cache_valid 5m; >> >>            proxy_hide_header "Set-Cookie"; >> >> >> >>            proxy_cache_use_stale error invalid_header timeout >> >> updating http_500 http_502 http_503 http_504 http_404; >> >> >> >>            proxy_pass  http://backend; >> >>            proxy_set_header X-Real-IP $remote_addr; >> >>            proxy_set_header Host $http_host; >> >>            proxy_redirect default; >> >>            proxy_buffering on; >> >> >> >>        } >> >> >> >> 9 января 2012 г. 5:10 пользователь Maxim Dounin написал: >> >>> Hello! >> >>> >> >>> On Sun, Jan 08, 2012 at 09:24:58PM +0400, Anton Kiryushkin wrote: >> >>> >> >>>> Честно сказать дебаг я еще не делал. В обычном access стандартный ответ 502. >> >>> >> >>> Для начала - что в error_log'е, и что в переменных $upstream_addr, >> >>> $upstream_status, $upstream_cache_status (писать в access_log). >> >>> >> >>> Maxim Dounin >> >>> >> >>>> >> >>>> 8 января 2012 г. 16:52 пользователь Maxim Dounin написал: >> >>>> > Hello! >> >>>> > >> >>>> > On Fri, Jan 06, 2012 at 04:48:59PM +0400, Anton Kiryushkin wrote: >> >>>> > >> >>>> >> Как можно объяснить поведение nginx, при котором страница есть в кэше, >> >>>> >> бэкенд остановлен, а при ctrl + f5 ловится 502-я ошибка, хотя при >> >>>> >> возникновении этой ошибки ответ должен браться из кэша. Вот пример >> >>>> >> локейшена: >> >>>> >> >> >>>> >> location / { >> >>>> >>             proxy_ignore_headers Cache-Control Expires Set-Cookie; >> >>>> >>             proxy_hide_header "Set-Cookie"; >> >>>> >> >> >>>> >>             proxy_cache cache_page; >> >>>> >>             proxy_cache_key $scheme$host; >> >>>> >>             proxy_cache_valid 1m; >> >>>> >> >> >>>> >>             proxy_cache_use_stale error timeout invalid_header >> >>>> >> updating http_500 http_502 http_503 http_504 http_404; >> >>>> >> >> >>>> >>             proxy_pass  http://backend; >> >>>> >>             proxy_set_header X-Real-IP $remote_addr; >> >>>> >>             proxy_set_header Host $http_host; >> >>>> >>             proxy_redirect default; >> >>>> >>             proxy_buffering on; >> >>>> >> } >> >>>> >> >> >>>> >> При этом если страница полностью прогрузилась, 502-я не ловится, а >> >>>> >> если догрузилась не доконца - то каждое второе срабатывание. >> >>>> > >> >>>> > А в логах при этом что? >> >>>> > >> >>>> > Maxim Dounin >> >>>> > >> >>>> > _______________________________________________ >> >>>> > nginx-ru mailing list >> >>>> > nginx-ru на nginx.org >> >>>> > http://mailman.nginx.org/mailman/listinfo/nginx-ru >> >>>> >> >>>> >> >>>> >> >>>> -- >> >>>> Best regards, >> >>>> Anton Kiryushkin, >> >>>> _______________________________________________ >> >>>> nginx-ru mailing list >> >>>> nginx-ru на nginx.org >> >>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> >>> >> >>> _______________________________________________ >> >>> nginx-ru mailing list >> >>> nginx-ru на nginx.org >> >>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> >> >> >> >> >> >> >> -- >> >> Best regards, >> >> Anton Kiryushkin, >> > >> > >> > >> > -- >> > Best regards, >> > Anton Kiryushkin, >> >> >> >> -- >> Best regards, >> Anton Kiryushkin, >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Best regards, Anton Kiryushkin, From mdounin на mdounin.ru Thu Jan 12 20:17:17 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Fri, 13 Jan 2012 00:17:17 +0400 Subject: =?UTF-8?B?UmU6INCy0L7Qv9GA0L7RgSDQv9GA0L4g0LrRjdGI?= In-Reply-To: References: <20120108125256.GY67687@mdounin.ru> <20120109011046.GB67687@mdounin.ru> <20120112181817.GL67687@mdounin.ru> Message-ID: <20120112201717.GR67687@mdounin.ru> Hello! On Fri, Jan 13, 2012 at 12:06:25AM +0400, Anton Kiryushkin wrote: > Спасибо, наложил, пересобрал. Наблюдаю ситуацию, при которой у меня > возвращается ответ из кэша. Сужу по куке, которая есть в кэш-файле и > куке, которая появляется в браузере. Это ведь неверно или наоборот > правильное поведение? Если все бекенды недоступны, и в кеше есть (устаревший) ответ, то должен возвращаться ответ из кеша (при таких настройках proxy_cache_use_stale). Т.е. это правильное поведение. Maxim Dounin > > 12 января 2012 г. 22:18 пользователь Maxim Dounin написал: > > Hello! > > > > On Thu, Jan 12, 2012 at 11:55:27AM +0400, Anton Kiryushkin wrote: > > > >> И еще возник вопрос про > >> proxy_cache_use_stale error timeout invalid_header updating http_500 > >> http_502 http_503 http_504 http_404; > >> > >> Я правильно понимаю, что эта строчка означает примерно следующее: > >> если код ответа бэкенда 500, 503, 502, 404, превысил таймаут, вернул > >> некорректные заголовки и находится в процессе обновления - вернуть > >> ответ из кэша, иначе возвращать ответ от бэкенда? > > > > Да. > > > > Наблюдаемое поведение - это ошибка, неправильно обрабатывался > > случай, когда все бекенды были признаны мёртвыми, и nginx просто > > не пытался никуда ходить (в error_log'е при этом возникает > > сообщение "no live upstreams", и все бекенды объявляются снова > > живыми). > > > > Патч прилагается. > > > > Maxim Dounin > > > >> > >> 12 января 2012 г. 0:28 пользователь Anton Kiryushkin > >> написал: > >> > вдогонку, bcj = name_upstream. > >> > > >> > 12 января 2012 г. 0:27 пользователь Anton Kiryushkin > >> > написал: > >> >> Пишется следующее: > >> >> """name_upstream""502""EXPIRED" > >> >> или """server1, server2""502, 502""-" > >> >> или """bcj""502""MISS" > >> >> > >> >> При этом время жизни кэша задано в 5 минут: > >> >>        location = / { > >> >>            proxy_ignore_headers Cache-Control Expires Set-Cookie; > >> >>            proxy_cache_bypass  $http_x_update; > >> >> > >> >>            proxy_cache cache_page; > >> >>            proxy_cache_key $scheme$host$request_uri; > >> >>            proxy_cache_valid 5m; > >> >>            proxy_hide_header "Set-Cookie"; > >> >> > >> >>            proxy_cache_use_stale error invalid_header timeout > >> >> updating http_500 http_502 http_503 http_504 http_404; > >> >> > >> >>            proxy_pass  http://backend; > >> >>            proxy_set_header X-Real-IP $remote_addr; > >> >>            proxy_set_header Host $http_host; > >> >>            proxy_redirect default; > >> >>            proxy_buffering on; > >> >> > >> >>        } > >> >> > >> >> 9 января 2012 г. 5:10 пользователь Maxim Dounin написал: > >> >>> Hello! > >> >>> > >> >>> On Sun, Jan 08, 2012 at 09:24:58PM +0400, Anton Kiryushkin wrote: > >> >>> > >> >>>> Честно сказать дебаг я еще не делал. В обычном access стандартный ответ 502. > >> >>> > >> >>> Для начала - что в error_log'е, и что в переменных $upstream_addr, > >> >>> $upstream_status, $upstream_cache_status (писать в access_log). > >> >>> > >> >>> Maxim Dounin > >> >>> > >> >>>> > >> >>>> 8 января 2012 г. 16:52 пользователь Maxim Dounin написал: > >> >>>> > Hello! > >> >>>> > > >> >>>> > On Fri, Jan 06, 2012 at 04:48:59PM +0400, Anton Kiryushkin wrote: > >> >>>> > > >> >>>> >> Как можно объяснить поведение nginx, при котором страница есть в кэше, > >> >>>> >> бэкенд остановлен, а при ctrl + f5 ловится 502-я ошибка, хотя при > >> >>>> >> возникновении этой ошибки ответ должен браться из кэша. Вот пример > >> >>>> >> локейшена: > >> >>>> >> > >> >>>> >> location / { > >> >>>> >>             proxy_ignore_headers Cache-Control Expires Set-Cookie; > >> >>>> >>             proxy_hide_header "Set-Cookie"; > >> >>>> >> > >> >>>> >>             proxy_cache cache_page; > >> >>>> >>             proxy_cache_key $scheme$host; > >> >>>> >>             proxy_cache_valid 1m; > >> >>>> >> > >> >>>> >>             proxy_cache_use_stale error timeout invalid_header > >> >>>> >> updating http_500 http_502 http_503 http_504 http_404; > >> >>>> >> > >> >>>> >>             proxy_pass  http://backend; > >> >>>> >>             proxy_set_header X-Real-IP $remote_addr; > >> >>>> >>             proxy_set_header Host $http_host; > >> >>>> >>             proxy_redirect default; > >> >>>> >>             proxy_buffering on; > >> >>>> >> } > >> >>>> >> > >> >>>> >> При этом если страница полностью прогрузилась, 502-я не ловится, а > >> >>>> >> если догрузилась не доконца - то каждое второе срабатывание. > >> >>>> > > >> >>>> > А в логах при этом что? > >> >>>> > > >> >>>> > Maxim Dounin > >> >>>> > > >> >>>> > _______________________________________________ > >> >>>> > nginx-ru mailing list > >> >>>> > nginx-ru на nginx.org > >> >>>> > http://mailman.nginx.org/mailman/listinfo/nginx-ru > >> >>>> > >> >>>> > >> >>>> > >> >>>> -- > >> >>>> Best regards, > >> >>>> Anton Kiryushkin, > >> >>>> _______________________________________________ > >> >>>> nginx-ru mailing list > >> >>>> nginx-ru на nginx.org > >> >>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru > >> >>> > >> >>> _______________________________________________ > >> >>> nginx-ru mailing list > >> >>> nginx-ru на nginx.org > >> >>> http://mailman.nginx.org/mailman/listinfo/nginx-ru > >> >> > >> >> > >> >> > >> >> -- > >> >> Best regards, > >> >> Anton Kiryushkin, > >> > > >> > > >> > > >> > -- > >> > Best regards, > >> > Anton Kiryushkin, > >> > >> > >> > >> -- > >> Best regards, > >> Anton Kiryushkin, > >> _______________________________________________ > >> nginx-ru mailing list > >> nginx-ru на nginx.org > >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > _______________________________________________ > > nginx-ru mailing list > > nginx-ru на nginx.org > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > -- > Best regards, > Anton Kiryushkin, > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From gd на powernet.ru Thu Jan 12 20:25:34 2012 From: gd на powernet.ru (GD) Date: Fri, 13 Jan 2012 00:25:34 +0400 Subject: =?UTF-8?B?UmU6INGA0LXQsNC60YbQuNGPIGltYWdlX2ZpbHRlciDQvdCwIHJldHVybg==?= In-Reply-To: <20120112195807.GP67687@mdounin.ru> References: <20120112001503.d08e0a8c.gd@powernet.ru> <20120112170002.GJ67687@mdounin.ru> <20120112214344.74a85abf.gd@powernet.ru> <20120112195807.GP67687@mdounin.ru> Message-ID: <20120113002534.df97872c.gd@powernet.ru> On Thu, 12 Jan 2012 23:58:07 +0400 Maxim Dounin wrote: > Hello! > > On Thu, Jan 12, 2012 at 09:43:44PM +0400, GD wrote: > > > On Thu, 12 Jan 2012 21:00:03 +0400 > > Maxim Dounin wrote: > > > > > Hello! > > > > > > On Thu, Jan 12, 2012 at 12:15:03AM +0400, GD wrote: > > > > > > > Доброго времени суток, > > > > > > > > Наткнулся на багофичу: > > > > > > > > Пример чуть синтетический, но рабочий: > > > > > > > > location /r/ { > > > > if ( $uri = "/r/want_403" ) { > > > > return 403; > > > > } > > > > > > > > rewrite ^/r/(.+)$ /$1 break; > > > > > > > > proxy_pass http://host.tld; > > > > > > > > image_filter resize 100 100; > > > > } > > > > > > > > proxy_pass ожидаемо реагирует на return и никуда не ходит > > > > но image_filter не взирая на 403 (Forbidden) пытается отработать, > > > > в результате отдавая 415 (Unsupported Media Type) > > > > > > > > Смотрел на ngx_http_addition_module, там реакция на return > > > > полностью соответсвует док-ции. Т.е. если срабатывает return 403, > > > > то add_after_body уже не отрабатывает. > > > > > > > > Получилось полечить image_filter патчем (см. аттач). > > > > Хочется услышать мненеие разработчиков. > > > > > > Image filter расчитан на то, что он обрабатывает в т.ч. untrusted > > > ответы со сторонних серверов, и поэтому какая-либо фильтрация по > > > кодам ответов - не производится. > > > > не очень логично на мой взгляд, но понятно > > и, да, мой патч уже не кажется мне решением > > > > не понятно все же почему return не завершает любую дальнейшую обработку > > код ответа здесь не играет роли > > Потому что image_filter - это фильтр, а return - возвращает ответ, > который потом проходит через этот фильтр. Чтобы ответ через > фильтр не проходил - надо передать обработку в другой location, > где этот фильтр выключен. ок, с этим ясно. а почему в ngx_http_addition_module наоборот? он не "расчитан на то, что он обрабатывает в т.ч. untrusted ответы со сторонних серверов"? > > > > Правильное решение - обарабатывать 403-ю ошибку в отдельном > > > location'е. Если говорить конкретно о вышеприведённой > > > конфигурации, то очевидно так: > > > > > > location /r/ { > > > ... > > > image_filter ... > > > } > > > > > > location = /r/want_403 { > > > return 403; > > > } > > > > заменил return на rewrite ... last > > на этому видимо и остановлюсь > > > > > > > > В общем случае - через error_page 403. > > > > про error_page - не понял > > Конструкция > > error_page 403 = /somewhere; > return 403; > > даёт приблизительно тот же эффект, что и rewrite ... last. да, действительно обратно спасибо > > Maxim Dounin -- GD From igor на shergin.ru Thu Jan 12 20:32:35 2012 From: igor на shergin.ru (Igor Shergin) Date: Fri, 13 Jan 2012 00:32:35 +0400 Subject: =?UTF-8?B?UmU6INCQ0YLQsNC60LAg0LggNDAwIEJhZCBSZXF1ZXN0?= In-Reply-To: <201201122215.50585.ne@vbart.ru> References: <97A1A786-7953-48C2-BD7B-A04544FCF16C@shergin.ru> <201201122215.50585.ne@vbart.ru> Message-ID: <7CB9E174-EFD9-4015-8E19-742015EEE4F2@shergin.ru> >> Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.11 (KHTML, like Gecko) >> Chrome/17.0.963.33 Safari/535.11 >> >> Я выпал из темы хостинга на несколько лет, поэтому не знаю, что это, >> Mozilla, Chrome или Safari, но AppleWebKit определённо намекает на Mac. >> :-) > > Да, а особенно на Mac намекает Windows NT 6.1 ;) Эх, трудно стало жить! -- Igor Shergin From mdounin на mdounin.ru Thu Jan 12 20:36:45 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Fri, 13 Jan 2012 00:36:45 +0400 Subject: =?UTF-8?B?UmU6INGA0LXQsNC60YbQuNGPIGltYWdlX2ZpbHRlciDQvdCwIHJldHVybg==?= In-Reply-To: <20120113002534.df97872c.gd@powernet.ru> References: <20120112001503.d08e0a8c.gd@powernet.ru> <20120112170002.GJ67687@mdounin.ru> <20120112214344.74a85abf.gd@powernet.ru> <20120112195807.GP67687@mdounin.ru> <20120113002534.df97872c.gd@powernet.ru> Message-ID: <20120112203645.GU67687@mdounin.ru> Hello! On Fri, Jan 13, 2012 at 12:25:34AM +0400, GD wrote: > On Thu, 12 Jan 2012 23:58:07 +0400 > Maxim Dounin wrote: > > > Hello! > > > > On Thu, Jan 12, 2012 at 09:43:44PM +0400, GD wrote: > > > > > On Thu, 12 Jan 2012 21:00:03 +0400 > > > Maxim Dounin wrote: > > > > > > > Hello! > > > > > > > > On Thu, Jan 12, 2012 at 12:15:03AM +0400, GD wrote: [...] > > > > > Смотрел на ngx_http_addition_module, там реакция на return > > > > > полностью соответсвует док-ции. Т.е. если срабатывает return 403, > > > > > то add_after_body уже не отрабатывает. > > > > > > > > > > Получилось полечить image_filter патчем (см. аттач). > > > > > Хочется услышать мненеие разработчиков. > > > > > > > > Image filter расчитан на то, что он обрабатывает в т.ч. untrusted > > > > ответы со сторонних серверов, и поэтому какая-либо фильтрация по > > > > кодам ответов - не производится. > > > > > > не очень логично на мой взгляд, но понятно > > > и, да, мой патч уже не кажется мне решением > > > > > > не понятно все же почему return не завершает любую дальнейшую обработку > > > код ответа здесь не играет роли > > > > Потому что image_filter - это фильтр, а return - возвращает ответ, > > который потом проходит через этот фильтр. Чтобы ответ через > > фильтр не проходил - надо передать обработку в другой location, > > где этот фильтр выключен. > > ок, с этим ясно. > > а почему в ngx_http_addition_module наоборот? > он не "расчитан на то, что он обрабатывает в т.ч. untrusted > ответы со сторонних серверов"? Нет. Image filter в этом плане совсем специальный, т.к. делался под специальную задачу. Maxim Dounin From gd на powernet.ru Thu Jan 12 20:37:50 2012 From: gd на powernet.ru (GD) Date: Fri, 13 Jan 2012 00:37:50 +0400 Subject: =?UTF-8?B?UmU6INGA0LXQsNC60YbQuNGPIGltYWdlX2ZpbHRlciDQvdCwIHJldHVybg==?= In-Reply-To: <20120112203645.GU67687@mdounin.ru> References: <20120112001503.d08e0a8c.gd@powernet.ru> <20120112170002.GJ67687@mdounin.ru> <20120112214344.74a85abf.gd@powernet.ru> <20120112195807.GP67687@mdounin.ru> <20120113002534.df97872c.gd@powernet.ru> <20120112203645.GU67687@mdounin.ru> Message-ID: <20120113003750.d137ff10.gd@powernet.ru> On Fri, 13 Jan 2012 00:36:45 +0400 Maxim Dounin wrote: > Hello! > > On Fri, Jan 13, 2012 at 12:25:34AM +0400, GD wrote: > > > On Thu, 12 Jan 2012 23:58:07 +0400 > > Maxim Dounin wrote: > > > > > Hello! > > > > > > On Thu, Jan 12, 2012 at 09:43:44PM +0400, GD wrote: > > > > > > > On Thu, 12 Jan 2012 21:00:03 +0400 > > > > Maxim Dounin wrote: > > > > > > > > > Hello! > > > > > > > > > > On Thu, Jan 12, 2012 at 12:15:03AM +0400, GD wrote: > > [...] > > > > > > > Смотрел на ngx_http_addition_module, там реакция на return > > > > > > полностью соответсвует док-ции. Т.е. если срабатывает return 403, > > > > > > то add_after_body уже не отрабатывает. > > > > > > > > > > > > Получилось полечить image_filter патчем (см. аттач). > > > > > > Хочется услышать мненеие разработчиков. > > > > > > > > > > Image filter расчитан на то, что он обрабатывает в т.ч. untrusted > > > > > ответы со сторонних серверов, и поэтому какая-либо фильтрация по > > > > > кодам ответов - не производится. > > > > > > > > не очень логично на мой взгляд, но понятно > > > > и, да, мой патч уже не кажется мне решением > > > > > > > > не понятно все же почему return не завершает любую дальнейшую обработку > > > > код ответа здесь не играет роли > > > > > > Потому что image_filter - это фильтр, а return - возвращает ответ, > > > который потом проходит через этот фильтр. Чтобы ответ через > > > фильтр не проходил - надо передать обработку в другой location, > > > где этот фильтр выключен. > > > > ок, с этим ясно. > > > > а почему в ngx_http_addition_module наоборот? > > он не "расчитан на то, что он обрабатывает в т.ч. untrusted > > ответы со сторонних серверов"? > > Нет. Image filter в этом плане совсем специальный, т.к. делался > под специальную задачу. тогда вопросов больше нет, спасибо большое :) > > Maxim Dounin -- GD From swood на fotofor.biz Fri Jan 13 04:34:45 2012 From: swood на fotofor.biz (Anton Kiryushkin) Date: Fri, 13 Jan 2012 08:34:45 +0400 Subject: =?UTF-8?B?UmU6INCy0L7Qv9GA0L7RgSDQv9GA0L4g0LrRjdGI?= In-Reply-To: <20120112201717.GR67687@mdounin.ru> References: <20120108125256.GY67687@mdounin.ru> <20120109011046.GB67687@mdounin.ru> <20120112181817.GL67687@mdounin.ru> <20120112201717.GR67687@mdounin.ru> Message-ID: я наблюдаю эту ситуацию при живых бэкендах. пятница, 13 января 2012 г. пользователь Maxim Dounin писал: > Hello! > > On Fri, Jan 13, 2012 at 12:06:25AM +0400, Anton Kiryushkin wrote: > >> Спасибо, наложил, пересобрал. Наблюдаю ситуацию, при которой у меня >> возвращается ответ из кэша. Сужу по куке, которая есть в кэш-файле и >> куке, которая появляется в браузере. Это ведь неверно или наоборот >> правильное поведение? > > Если все бекенды недоступны, и в кеше есть (устаревший) ответ, то > должен возвращаться ответ из кеша (при таких настройках > proxy_cache_use_stale). Т.е. это правильное поведение. > > Maxim Dounin > >> >> 12 января 2012 г. 22:18 пользователь Maxim Dounin написал: >> > Hello! >> > >> > On Thu, Jan 12, 2012 at 11:55:27AM +0400, Anton Kiryushkin wrote: >> > >> >> И еще возник вопрос про >> >> proxy_cache_use_stale error timeout invalid_header updating http_500 >> >> http_502 http_503 http_504 http_404; >> >> >> >> Я правильно понимаю, что эта строчка означает примерно следующее: >> >> если код ответа бэкенда 500, 503, 502, 404, превысил таймаут, вернул >> >> некорректные заголовки и находится в процессе обновления - вернуть >> >> ответ из кэша, иначе возвращать ответ от бэкенда? >> > >> > Да. >> > >> > Наблюдаемое поведение - это ошибка, неправильно обрабатывался >> > случай, когда все бекенды были признаны мёртвыми, и nginx просто >> > не пытался никуда ходить (в error_log'е при этом возникает >> > сообщение "no live upstreams", и все бекенды объявляются снова >> > живыми). >> > >> > Патч прилагается. >> > >> > Maxim Dounin >> > >> >> >> >> 12 января 2012 г. 0:28 пользователь Anton Kiryushkin >> >> написал: >> >> > вдогонку, bcj = name_upstream. >> >> > >> >> > 12 января 2012 г. 0:27 пользователь Anton Kiryushkin >> >> > написал: >> >> >> Пишется следующее: >> >> >> """name_upstream""502""EXPIRED" >> >> >> или """server1, server2""502, 502""-" >> >> >> или """bcj""502""MISS" >> >> >> >> >> >> При этом время жизни кэша задано в 5 минут: >> >> >> location = / { >> >> >> proxy_ignore_headers Cache-Control Expires Set-Cookie; >> >> >> proxy_cache_bypass $http_x_update; >> >> >> >> >> >> proxy_cache cache_page; >> >> >> proxy_cache_key $scheme$host$request_uri; >> >> >> proxy_cache_valid 5m; >> >> >> proxy_hide_header "Set-Cookie"; >> >> >> >> >> >> proxy_cache_use_stale error invalid_header timeout >> >> >> updating http_500 http_502 http_503 http_504 http_404; >> >> >> >> >> >> proxy_pass http://backend; >> >> >> proxy_set_header X-Real-IP $remote_addr; >> >> >> proxy_set_header Host $http_host; >> >> >> proxy_redirect default; >> >> >> proxy_buffering on; >> >> >> >> >> >> } >> >> >> >> >> >> 9 января 2012 г. 5:10 пользователь Maxim Dounin написал: >> >> >>> Hello! >> >> >>> >> >> >>> On Sun, Jan 08, 2012 at 09:24:58PM +0400, Anton Kiryushkin wrote: >> >> >>> >> >> >>>> Честно сказать дебаг я еще не делал. В обычном access стандартный ответ 502. >> >> >>> >> >> >>> Для начала - что в error_log'е, и что в переменных $upstream_addr, >> >> >>> $upstream_status, $upstream_cache_status (писать в access_log). >> >> >>> >> >> >>> Maxim Dounin >> >> >>> >> >> >>>> >> >> >>>> 8 января 2012 г. 16:52 пользователь Maxim Dounin < -- Best regards, Anton Kiryushkin, -------------- next part -------------- An HTML attachment was scrubbed... URL: From domrachev.ivan на gmail.com Fri Jan 13 06:33:40 2012 From: domrachev.ivan на gmail.com (Domrachev Ivan) Date: Fri, 13 Jan 2012 10:33:40 +0400 Subject: =?UTF-8?B?0LrQvtGA0LrQsA==?= Message-ID: <1887570070.20120113103340@gmail.com> Приветствую. вывалилась корка. дебаг логов нет, т.к. не знаю как воспроизвести. # uname -a FreeBSD d.localdomain 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Thu Feb 17 02:41:51 UTC 2011 root на mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64 # /usr/local/nginx/sbin/nginx -v nginx version: nginx/1.0.11 # gdb /usr/local/nginx/sbin/nginx ./nginx.core.25474 GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "amd64-marcel-freebsd"... Core was generated by `nginx'. Program terminated with signal 11, Segmentation fault. Reading symbols from /lib/libcrypt.so.5...done. Loaded symbols for /lib/libcrypt.so.5 Reading symbols from /usr/local/lib/libpcre.so.0...done. Loaded symbols for /usr/local/lib/libpcre.so.0 Reading symbols from /usr/lib/libssl.so.6...done. Loaded symbols for /usr/lib/libssl.so.6 Reading symbols from /lib/libcrypto.so.6...done. Loaded symbols for /lib/libcrypto.so.6 Reading symbols from /lib/libz.so.5...done. Loaded symbols for /lib/libz.so.5 Reading symbols from /lib/libm.so.5...done. Loaded symbols for /lib/libm.so.5 Reading symbols from /lib/libthr.so.3...done. Loaded symbols for /lib/libthr.so.3 Reading symbols from /lib/libc.so.7...done. Loaded symbols for /lib/libc.so.7 Reading symbols from /usr/local/perl-5.10/lib/5.10.1//amd64-freebsd-thread-multi/auto/nginx/nginx.so...done. Loaded symbols for /usr/local/perl-5.10/lib/5.10.1//amd64-freebsd-thread-multi/auto/nginx/nginx.so Reading symbols from /usr/local/perl-5.10/lib/5.10.1//amd64-freebsd-thread-multi/auto/MIME/Base64/Base64.so...done. Loaded symbols for /usr/local/perl-5.10/lib/5.10.1//amd64-freebsd-thread-multi/auto/MIME/Base64/Base64.so Reading symbols from /usr/local/perl-5.10/lib/5.10.1//amd64-freebsd-thread-multi/auto/Digest/MD5/MD5.so...done. Loaded symbols for /usr/local/perl-5.10/lib/5.10.1//amd64-freebsd-thread-multi/auto/Digest/MD5/MD5.so Reading symbols from /usr/local/perl-5.10/lib/site_perl/5.10.1/amd64-freebsd-thread-multi/auto/JSON/XS/XS.so...done. Loaded symbols for /usr/local/perl-5.10/lib/site_perl/5.10.1/amd64-freebsd-thread-multi/auto/JSON/XS/XS.so Reading symbols from /libexec/ld-elf.so.1...done. Loaded symbols for /libexec/ld-elf.so.1 #0 0x0000000000473c54 in ngx_http_file_cache_free (c=0x8014cb020, tf=0x0) at src/http/ngx_http_file_cache.c:930 930 ngx_queue_remove(&fcn->queue); [New Thread 8014041c0 (LWP 100157)] (gdb) bt #0 0x0000000000473c54 in ngx_http_file_cache_free (c=0x8014cb020, tf=0x0) at src/http/ngx_http_file_cache.c:930 #1 0x000000000046892e in ngx_http_upstream_finalize_request (r=0x801530600, u=0x801514a60, rc=-1) at src/http/ngx_http_upstream.c:3014 #2 0x000000000046be92 in ngx_http_upstream_process_header (r=0x801530600, u=0x801514a60) at src/http/ngx_http_upstream.c:2028 #3 0x000000000046961a in ngx_http_upstream_handler (ev=0x8015d4ab0) at src/http/ngx_http_upstream.c:917 #4 0x000000000044a4d5 in ngx_kqueue_process_events (cycle=0x801443050, timer=Variable "timer" is not available. ) at src/event/modules/ngx_kqueue_module.c:683 #5 0x0000000000440496 in ngx_process_events_and_timers (cycle=0x801443050) at src/event/ngx_event.c:245 #6 0x000000000044771c in ngx_worker_process_cycle (cycle=0x801443050, data=Variable "data" is not available. ) at src/os/unix/ngx_process_cycle.c:801 #7 0x00000000004460c7 in ngx_spawn_process (cycle=0x801443050, proc=0x447620 , data=0x0, name=0x586bff "worker process", respawn=-3) at src/os/unix/ngx_process.c:196 #8 0x0000000000446d69 in ngx_start_worker_processes (cycle=0x801443050, n=1, type=-3) at src/os/unix/ngx_process_cycle.c:360 #9 0x0000000000447ece in ngx_master_process_cycle (cycle=0x801443050) at src/os/unix/ngx_process_cycle.c:136 #10 0x000000000042a31b in main (argc=21, argv=Variable "argv" is not available. ) at src/core/nginx.c:411 (gdb) из чужих модулей только nginx_upload_module-2.2.0. опции компиляции надо? саму корку+бинарник надо? конфиги надо? From mdounin на mdounin.ru Fri Jan 13 09:28:24 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Fri, 13 Jan 2012 13:28:24 +0400 Subject: =?UTF-8?B?UmU6INC60L7RgNC60LA=?= In-Reply-To: <1887570070.20120113103340@gmail.com> References: <1887570070.20120113103340@gmail.com> Message-ID: <20120113092824.GX67687@mdounin.ru> Hello! On Fri, Jan 13, 2012 at 10:33:40AM +0400, Domrachev Ivan wrote: > Приветствую. > > вывалилась корка. > дебаг логов нет, т.к. не знаю как воспроизвести. А error_log'и есть? grep -F '[alert]' /path/to/error/log [...] > #0 0x0000000000473c54 in ngx_http_file_cache_free (c=0x8014cb020, tf=0x0) > at src/http/ngx_http_file_cache.c:930 > 930 ngx_queue_remove(&fcn->queue); > [New Thread 8014041c0 (LWP 100157)] > (gdb) bt > #0 0x0000000000473c54 in ngx_http_file_cache_free (c=0x8014cb020, tf=0x0) > at src/http/ngx_http_file_cache.c:930 > #1 0x000000000046892e in ngx_http_upstream_finalize_request (r=0x801530600, u=0x801514a60, rc=-1) > at src/http/ngx_http_upstream.c:3014 > #2 0x000000000046be92 in ngx_http_upstream_process_header (r=0x801530600, u=0x801514a60) > at src/http/ngx_http_upstream.c:2028 > #3 0x000000000046961a in ngx_http_upstream_handler (ev=0x8015d4ab0) > at src/http/ngx_http_upstream.c:917 > #4 0x000000000044a4d5 in ngx_kqueue_process_events (cycle=0x801443050, timer=Variable "timer" is not available. > ) > at src/event/modules/ngx_kqueue_module.c:683 [...] > из чужих модулей только nginx_upload_module-2.2.0. > опции компиляции надо? > саму корку+бинарник надо? > конфиги надо? В "proxy_cache_path inactive=" стоит что? Maxim Dounin From domrachev.ivan на gmail.com Fri Jan 13 10:44:05 2012 From: domrachev.ivan на gmail.com (Domrachev Ivan) Date: Fri, 13 Jan 2012 14:44:05 +0400 Subject: =?UTF-8?B?UmVbMl06INC60L7RgNC60LA=?= In-Reply-To: <20120113092824.GX67687@mdounin.ru> References: <1887570070.20120113103340@gmail.com> <20120113092824.GX67687@mdounin.ru> Message-ID: <149845607.20120113144405@gmail.com> >> вывалилась корка. >> дебаг логов нет, т.к. не знаю как воспроизвести. > А error_log'и есть? > grep -F '[alert]' /path/to/error/log в этот день не было error_log'ов. правда в конфиге: .... error_log error emerg; .... http { ... error_log error crit; ... >> #0 0x0000000000473c54 in ngx_http_file_cache_free (c=0x8014cb020, tf=0x0) >> at src/http/ngx_http_file_cache.c:930 >> 930 ngx_queue_remove(&fcn->queue); >> [New Thread 8014041c0 (LWP 100157)] >> (gdb) bt >> #0 0x0000000000473c54 in ngx_http_file_cache_free (c=0x8014cb020, tf=0x0) >> at src/http/ngx_http_file_cache.c:930 >> #1 0x000000000046892e in ngx_http_upstream_finalize_request (r=0x801530600, u=0x801514a60, rc=-1) >> at src/http/ngx_http_upstream.c:3014 >> #2 0x000000000046be92 in ngx_http_upstream_process_header (r=0x801530600, u=0x801514a60) >> at src/http/ngx_http_upstream.c:2028 >> #3 0x000000000046961a in ngx_http_upstream_handler (ev=0x8015d4ab0) >> at src/http/ngx_http_upstream.c:917 >> #4 0x000000000044a4d5 in ngx_kqueue_process_events (cycle=0x801443050, timer=Variable "timer" is not available. >> ) >> at src/event/modules/ngx_kqueue_module.c:683 > [...] >> из чужих модулей только nginx_upload_module-2.2.0. >> опции компиляции надо? >> саму корку+бинарник надо? >> конфиги надо? > В "proxy_cache_path inactive=" стоит что? proxy_cache_path /cache_path levels= keys_zone=d:50m inactive=10s; ... proxy_cache_valid 200 301 302 304 10s; From mdounin на mdounin.ru Fri Jan 13 11:06:01 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Fri, 13 Jan 2012 15:06:01 +0400 Subject: =?UTF-8?B?UmU6INC60L7RgNC60LA=?= In-Reply-To: <149845607.20120113144405@gmail.com> References: <1887570070.20120113103340@gmail.com> <20120113092824.GX67687@mdounin.ru> <149845607.20120113144405@gmail.com> Message-ID: <20120113110601.GZ67687@mdounin.ru> Hello! On Fri, Jan 13, 2012 at 02:44:05PM +0400, Domrachev Ivan wrote: > >> вывалилась корка. > >> дебаг логов нет, т.к. не знаю как воспроизвести. > > А error_log'и есть? > > grep -F '[alert]' /path/to/error/log > > в этот день не было error_log'ов. > > правда в конфиге: > .... > error_log error emerg; Безумству храбрых поём мы песню... > .... > http { > ... > error_log error crit; > ... > > >> #0 0x0000000000473c54 in ngx_http_file_cache_free (c=0x8014cb020, tf=0x0) > >> at src/http/ngx_http_file_cache.c:930 > >> 930 ngx_queue_remove(&fcn->queue); > >> [New Thread 8014041c0 (LWP 100157)] > >> (gdb) bt > >> #0 0x0000000000473c54 in ngx_http_file_cache_free (c=0x8014cb020, tf=0x0) > >> at src/http/ngx_http_file_cache.c:930 > >> #1 0x000000000046892e in ngx_http_upstream_finalize_request (r=0x801530600, u=0x801514a60, rc=-1) > >> at src/http/ngx_http_upstream.c:3014 > >> #2 0x000000000046be92 in ngx_http_upstream_process_header (r=0x801530600, u=0x801514a60) > >> at src/http/ngx_http_upstream.c:2028 > >> #3 0x000000000046961a in ngx_http_upstream_handler (ev=0x8015d4ab0) > >> at src/http/ngx_http_upstream.c:917 > >> #4 0x000000000044a4d5 in ngx_kqueue_process_events (cycle=0x801443050, timer=Variable "timer" is not available. > >> ) > >> at src/event/modules/ngx_kqueue_module.c:683 > > > [...] > > >> из чужих модулей только nginx_upload_module-2.2.0. > >> опции компиляции надо? > >> саму корку+бинарник надо? > >> конфиги надо? > > > В "proxy_cache_path inactive=" стоит что? > > proxy_cache_path /cache_path levels= keys_zone=d:50m inactive=10s; > ... > proxy_cache_valid 200 301 302 304 10s; В 1.0.x сейчас так жить не будет, надо ставить inactive больше (а для контроля размера кеша использовать размер зоны и max_size). Проблема в том, что по истечению inactive nginx пытается удалить элемент кеша, и если он вдруг заблокирован каким-то рабочим процессом - решает, что процесс, поставивший блокировку, умер, и всё равно удаляет (логгируя alert про это). Поскольку элемент кеша вполне может быть заблокирован более чем на 10 секунд - в результате случается segmentation fault в процессе, который с этим элементом работал. В 1.1.11 логика изменена (больше в таких случаях элементы не удаляются, просто пропускаются) и segmentation fault'ов быть не должно: *) Bugfix: a segmentation fault might occur in a worker process if small time was used in the "inactive" parameter of the "proxy_cache_path" directive. Maxim Dounin From nginx-forum на nginx.us Fri Jan 13 11:50:40 2012 From: nginx-forum на nginx.us (dimadrz) Date: Fri, 13 Jan 2012 06:50:40 -0500 Subject: =?UTF-8?B?0JTQtdC60L7QtNC40YDQvtCy0LDQvdC40LUg0LrQuNGA0LjQu9C40YbRiyDQsiA=?= =?UTF-8?B?0LvQvtCz0LDRhQ==?= Message-ID: <947d0daeab2d2eb834bda28da3b3c477.NginxMailingListRussian@forum.nginx.org> Добрый день. Есть сайты на которых в урлах (в пути) активно используются русские буквы, типа: http://rabotnegi.ru/vacancies/4f05ea705a12ae4d64001506-%D0%BC%D0%B5%D0%BD%D0%B5%D0%B4%D0%B6%D0%B5%D1%80-%D0%BF%D0%BE-%D0%BF%D1%80%D0%BE%D0%B4%D0%B0%D0%B6%D0%B0%D0%BC-%D0%B3%D1%80%D1%83%D0%B7%D0%BE%D0%B2%D0%BE%D0%B9-%D1%82%D0%B5%D1%85%D0%BD%D0%B8%D0%BA%D0%B8 что по-русски есть: http://rabotnegi.ru/vacancies/4f05ea705a12ae4d64001506-менеджер-по-продажам-грузовой-техники Соответсвенно nginx в access лог записывает первый вариант, что конечно правильно, но логи читать весьма неудобно. Есть ли какой-нибудь способ заставить nginx разэкранировать урлы перед логированием? Спасибо Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221166,221166#msg-221166 From domrachev.ivan на gmail.com Fri Jan 13 12:09:09 2012 From: domrachev.ivan на gmail.com (Domrachev Ivan) Date: Fri, 13 Jan 2012 16:09:09 +0400 Subject: =?UTF-8?B?UmVbMl06INC60L7RgNC60LA=?= In-Reply-To: <20120113110601.GZ67687@mdounin.ru> References: <1887570070.20120113103340@gmail.com> <20120113092824.GX67687@mdounin.ru> <149845607.20120113144405@gmail.com> <20120113110601.GZ67687@mdounin.ru> Message-ID: <1867811426.20120113160909@gmail.com> Спасибо! >> >> вывалилась корка. >> >> дебаг логов нет, т.к. не знаю как воспроизвести. >> > А error_log'и есть? >> > grep -F '[alert]' /path/to/error/log >> >> в этот день не было error_log'ов. >> >> правда в конфиге: >> .... >> error_log error emerg; > Безумству храбрых поём мы песню... >> .... >> http { >> ... >> error_log error crit; >> ... >> >> >> #0 0x0000000000473c54 in ngx_http_file_cache_free (c=0x8014cb020, tf=0x0) >> >> at src/http/ngx_http_file_cache.c:930 >> >> 930 ngx_queue_remove(&fcn->queue); >> >> [New Thread 8014041c0 (LWP 100157)] >> >> (gdb) bt >> >> #0 0x0000000000473c54 in ngx_http_file_cache_free (c=0x8014cb020, tf=0x0) >> >> at src/http/ngx_http_file_cache.c:930 >> >> #1 0x000000000046892e in ngx_http_upstream_finalize_request (r=0x801530600, u=0x801514a60, rc=-1) >> >> at src/http/ngx_http_upstream.c:3014 >> >> #2 0x000000000046be92 in ngx_http_upstream_process_header (r=0x801530600, u=0x801514a60) >> >> at src/http/ngx_http_upstream.c:2028 >> >> #3 0x000000000046961a in ngx_http_upstream_handler (ev=0x8015d4ab0) >> >> at src/http/ngx_http_upstream.c:917 >> >> #4 0x000000000044a4d5 in ngx_kqueue_process_events (cycle=0x801443050, timer=Variable "timer" is not available. >> >> ) >> >> at src/event/modules/ngx_kqueue_module.c:683 >> >> > [...] >> >> >> из чужих модулей только nginx_upload_module-2.2.0. >> >> опции компиляции надо? >> >> саму корку+бинарник надо? >> >> конфиги надо? >> >> > В "proxy_cache_path inactive=" стоит что? >> >> proxy_cache_path /cache_path levels= keys_zone=d:50m inactive=10s; >> ... >> proxy_cache_valid 200 301 302 304 10s; > В 1.0.x сейчас так жить не будет, надо ставить inactive больше (а > для контроля размера кеша использовать размер зоны и max_size). > Проблема в том, что по истечению inactive nginx пытается удалить > элемент кеша, и если он вдруг заблокирован каким-то рабочим > процессом - решает, что процесс, поставивший блокировку, умер, и > всё равно удаляет (логгируя alert про это). Поскольку элемент > кеша вполне может быть заблокирован более чем на 10 секунд - в > результате случается segmentation fault в процессе, который с этим > элементом работал. > В 1.1.11 логика изменена (больше в таких случаях элементы не > удаляются, просто пропускаются) и segmentation fault'ов быть не > должно: > *) Bugfix: a segmentation fault might occur in a worker process if small > time was used in the "inactive" parameter of the "proxy_cache_path" > directive. > Maxim Dounin > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- С уважением, Domrachev mailto:Domrachev.Ivan на gmail.com From bdfy на mail.ru Fri Jan 13 12:32:11 2012 From: bdfy на mail.ru (=?UTF-8?B?SXZhbg==?=) Date: Fri, 13 Jan 2012 16:32:11 +0400 Subject: =?UTF-8?B?UmU6INCU0LXQutC+0LTQuNGA0L7QstCw0L3QuNC1INC60LjRgNC40LvQuNGG0Ysg?= =?UTF-8?B?0LIg0LvQvtCz0LDRhQ==?= In-Reply-To: <947d0daeab2d2eb834bda28da3b3c477.NginxMailingListRussian@forum.nginx.org> References: <947d0daeab2d2eb834bda28da3b3c477.NginxMailingListRussian@forum.nginx.org> Message-ID: покопайтесь тут ( по моему где-то там была нужная функция ): http://wiki.nginx.org/3rdPartyModules вот она вроде бы: http://wiki.nginx.org/HttpSetMiscModule set_unescape_uri 13 января 2012, 15:50 от "dimadrz" : > Добрый день. > > Есть сайты на которых в урлах (в пути) > активно используются русские буквы, > типа: > > http://rabotnegi.ru/vacancies/4f05ea705a12ae4d64001506-%D0%BC%D0%B5%D0%BD%D0%B5%D0%B4%D0%B6%D0%B5%D1%80-%D0%BF%D0%BE-%D0%BF%D1%80%D0%BE%D0%B4%D0%B0%D0%B6%D0%B0%D0%BC-%D0%B3%D1%80%D1%83%D0%B7%D0%BE%D0%B2%D0%BE%D0%B9-%D1%82%D0%B5%D1%85%D0%BD%D0%B8%D0%BA%D0%B8 > > что по-русски есть: > > http://rabotnegi.ru/vacancies/4f05ea705a12ae4d64001506-менеджер-по-продажам-грузовой-техники > > Соответсвенно nginx в access лог записывает > первый вариант, что конечно правильно, > но логи читать весьма неудобно. > > Есть ли какой-нибудь способ заставить > nginx разэкранировать урлы перед > логированием? > > Спасибо > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221166,221166#msg-221166 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From mdounin на mdounin.ru Fri Jan 13 13:04:15 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Fri, 13 Jan 2012 17:04:15 +0400 Subject: =?UTF-8?B?UmU6INCy0L7Qv9GA0L7RgSDQv9GA0L4g0LrRjdGI?= In-Reply-To: References: <20120108125256.GY67687@mdounin.ru> <20120109011046.GB67687@mdounin.ru> <20120112181817.GL67687@mdounin.ru> <20120112201717.GR67687@mdounin.ru> Message-ID: <20120113130415.GD67687@mdounin.ru> Hello! On Fri, Jan 13, 2012 at 08:34:45AM +0400, Anton Kiryushkin wrote: > я наблюдаю эту ситуацию при живых бэкендах. При живых бекендах ответ должен отдаваться из кеша, если он там свежий. Включите логгирование $upstream_cache_status, происходящее станет понятнее. Maxim Dounin > > пятница, 13 января 2012 г. пользователь Maxim Dounin > писал: > > Hello! > > > > On Fri, Jan 13, 2012 at 12:06:25AM +0400, Anton Kiryushkin wrote: > > > >> Спасибо, наложил, пересобрал. Наблюдаю ситуацию, при которой у меня > >> возвращается ответ из кэша. Сужу по куке, которая есть в кэш-файле и > >> куке, которая появляется в браузере. Это ведь неверно или наоборот > >> правильное поведение? > > > > Если все бекенды недоступны, и в кеше есть (устаревший) ответ, то > > должен возвращаться ответ из кеша (при таких настройках > > proxy_cache_use_stale). Т.е. это правильное поведение. > > > > Maxim Dounin > > > >> > >> 12 января 2012 г. 22:18 пользователь Maxim Dounin > написал: > >> > Hello! > >> > > >> > On Thu, Jan 12, 2012 at 11:55:27AM +0400, Anton Kiryushkin wrote: > >> > > >> >> И еще возник вопрос про > >> >> proxy_cache_use_stale error timeout invalid_header updating http_500 > >> >> http_502 http_503 http_504 http_404; > >> >> > >> >> Я правильно понимаю, что эта строчка означает примерно следующее: > >> >> если код ответа бэкенда 500, 503, 502, 404, превысил таймаут, вернул > >> >> некорректные заголовки и находится в процессе обновления - вернуть > >> >> ответ из кэша, иначе возвращать ответ от бэкенда? > >> > > >> > Да. > >> > > >> > Наблюдаемое поведение - это ошибка, неправильно обрабатывался > >> > случай, когда все бекенды были признаны мёртвыми, и nginx просто > >> > не пытался никуда ходить (в error_log'е при этом возникает > >> > сообщение "no live upstreams", и все бекенды объявляются снова > >> > живыми). > >> > > >> > Патч прилагается. > >> > > >> > Maxim Dounin > >> > > >> >> > >> >> 12 января 2012 г. 0:28 пользователь Anton Kiryushkin > >> >> написал: > >> >> > вдогонку, bcj = name_upstream. > >> >> > > >> >> > 12 января 2012 г. 0:27 пользователь Anton Kiryushkin > >> >> > написал: > >> >> >> Пишется следующее: > >> >> >> """name_upstream""502""EXPIRED" > >> >> >> или """server1, server2""502, 502""-" > >> >> >> или """bcj""502""MISS" > >> >> >> > >> >> >> При этом время жизни кэша задано в 5 минут: > >> >> >> location = / { > >> >> >> proxy_ignore_headers Cache-Control Expires Set-Cookie; > >> >> >> proxy_cache_bypass $http_x_update; > >> >> >> > >> >> >> proxy_cache cache_page; > >> >> >> proxy_cache_key $scheme$host$request_uri; > >> >> >> proxy_cache_valid 5m; > >> >> >> proxy_hide_header "Set-Cookie"; > >> >> >> > >> >> >> proxy_cache_use_stale error invalid_header timeout > >> >> >> updating http_500 http_502 http_503 http_504 http_404; > >> >> >> > >> >> >> proxy_pass http://backend; > >> >> >> proxy_set_header X-Real-IP $remote_addr; > >> >> >> proxy_set_header Host $http_host; > >> >> >> proxy_redirect default; > >> >> >> proxy_buffering on; > >> >> >> > >> >> >> } > >> >> >> > >> >> >> 9 января 2012 г. 5:10 пользователь Maxim Dounin > написал: > >> >> >>> Hello! > >> >> >>> > >> >> >>> On Sun, Jan 08, 2012 at 09:24:58PM +0400, Anton Kiryushkin wrote: > >> >> >>> > >> >> >>>> Честно сказать дебаг я еще не делал. В обычном access > стандартный ответ 502. > >> >> >>> > >> >> >>> Для начала - что в error_log'е, и что в переменных $upstream_addr, > >> >> >>> $upstream_status, $upstream_cache_status (писать в access_log). > >> >> >>> > >> >> >>> Maxim Dounin > >> >> >>> > >> >> >>>> > >> >> >>>> 8 января 2012 г. 16:52 пользователь Maxim Dounin < > > -- > Best regards, > Anton Kiryushkin, > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From swood на fotofor.biz Fri Jan 13 13:16:36 2012 From: swood на fotofor.biz (Anton Kiryushkin) Date: Fri, 13 Jan 2012 17:16:36 +0400 Subject: =?UTF-8?B?UmU6INCy0L7Qv9GA0L7RgSDQv9GA0L4g0LrRjdGI?= In-Reply-To: <20120113130415.GD67687@mdounin.ru> References: <20120108125256.GY67687@mdounin.ru> <20120109011046.GB67687@mdounin.ru> <20120112181817.GL67687@mdounin.ru> <20120112201717.GR67687@mdounin.ru> <20120113130415.GD67687@mdounin.ru> Message-ID: Понял ответ. Тогда вопрос. Как можно при живых бэкендах брать ответ от бэкендов, а при мертвых - из кэша. При этом переодически этот кэш все же обновлять. Или запрещать кэширование для всех ответов, переодически прогоняя сайт с загаловками разрешающими кэширование? 13 января 2012 г. 17:04 пользователь Maxim Dounin написал: > Hello! > > On Fri, Jan 13, 2012 at 08:34:45AM +0400, Anton Kiryushkin wrote: > >> я наблюдаю эту ситуацию при живых бэкендах. > > При живых бекендах ответ должен отдаваться из кеша, если он там > свежий. > > Включите логгирование $upstream_cache_status, происходящее станет > понятнее. > > Maxim Dounin > >> >> пятница, 13 января 2012 г. пользователь Maxim Dounin >> писал: >> > Hello! >> > >> > On Fri, Jan 13, 2012 at 12:06:25AM +0400, Anton Kiryushkin wrote: >> > >> >> Спасибо, наложил, пересобрал. Наблюдаю ситуацию, при которой у меня >> >> возвращается ответ из кэша. Сужу по куке, которая есть в кэш-файле и >> >> куке, которая появляется в браузере. Это ведь неверно или наоборот >> >> правильное поведение? >> > >> > Если все бекенды недоступны, и в кеше есть (устаревший) ответ, то >> > должен возвращаться ответ из кеша (при таких настройках >> > proxy_cache_use_stale).  Т.е. это правильное поведение. >> > >> > Maxim Dounin >> > >> >> >> >> 12 января 2012 г. 22:18 пользователь Maxim Dounin >> написал: >> >> > Hello! >> >> > >> >> > On Thu, Jan 12, 2012 at 11:55:27AM +0400, Anton Kiryushkin wrote: >> >> > >> >> >> И еще возник вопрос про >> >> >> proxy_cache_use_stale error timeout invalid_header updating http_500 >> >> >> http_502 http_503 http_504 http_404; >> >> >> >> >> >> Я правильно понимаю, что эта строчка означает примерно следующее: >> >> >> если код ответа бэкенда 500, 503, 502, 404, превысил таймаут, вернул >> >> >> некорректные заголовки и находится в процессе обновления - вернуть >> >> >> ответ из кэша, иначе возвращать ответ от бэкенда? >> >> > >> >> > Да. >> >> > >> >> > Наблюдаемое поведение - это ошибка, неправильно обрабатывался >> >> > случай, когда все бекенды были признаны мёртвыми, и nginx просто >> >> > не пытался никуда ходить (в error_log'е при этом возникает >> >> > сообщение "no live upstreams", и все бекенды объявляются снова >> >> > живыми). >> >> > >> >> > Патч прилагается. >> >> > >> >> > Maxim Dounin >> >> > >> >> >> >> >> >> 12 января 2012 г. 0:28 пользователь Anton Kiryushkin >> >> >> написал: >> >> >> > вдогонку, bcj = name_upstream. >> >> >> > >> >> >> > 12 января 2012 г. 0:27 пользователь Anton Kiryushkin >> >> >> > написал: >> >> >> >> Пишется следующее: >> >> >> >> """name_upstream""502""EXPIRED" >> >> >> >> или """server1, server2""502, 502""-" >> >> >> >> или """bcj""502""MISS" >> >> >> >> >> >> >> >> При этом время жизни кэша задано в 5 минут: >> >> >> >>        location = / { >> >> >> >>            proxy_ignore_headers Cache-Control Expires Set-Cookie; >> >> >> >>            proxy_cache_bypass  $http_x_update; >> >> >> >> >> >> >> >>            proxy_cache cache_page; >> >> >> >>            proxy_cache_key $scheme$host$request_uri; >> >> >> >>            proxy_cache_valid 5m; >> >> >> >>            proxy_hide_header "Set-Cookie"; >> >> >> >> >> >> >> >>            proxy_cache_use_stale error invalid_header timeout >> >> >> >> updating http_500 http_502 http_503 http_504 http_404; >> >> >> >> >> >> >> >>            proxy_pass  http://backend; >> >> >> >>            proxy_set_header X-Real-IP $remote_addr; >> >> >> >>            proxy_set_header Host $http_host; >> >> >> >>            proxy_redirect default; >> >> >> >>            proxy_buffering on; >> >> >> >> >> >> >> >>        } >> >> >> >> >> >> >> >> 9 января 2012 г. 5:10 пользователь Maxim Dounin >> написал: >> >> >> >>> Hello! >> >> >> >>> >> >> >> >>> On Sun, Jan 08, 2012 at 09:24:58PM +0400, Anton Kiryushkin wrote: >> >> >> >>> >> >> >> >>>> Честно сказать дебаг я еще не делал. В обычном access >> стандартный ответ 502. >> >> >> >>> >> >> >> >>> Для начала - что в error_log'е, и что в переменных $upstream_addr, >> >> >> >>> $upstream_status, $upstream_cache_status (писать в access_log). >> >> >> >>> >> >> >> >>> Maxim Dounin >> >> >> >>> >> >> >> >>>> >> >> >> >>>> 8 января 2012 г. 16:52 пользователь Maxim Dounin < >> >> -- >> Best regards, >> Anton Kiryushkin, > >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Best regards, Anton Kiryushkin, From mdounin на mdounin.ru Fri Jan 13 13:57:22 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Fri, 13 Jan 2012 17:57:22 +0400 Subject: =?UTF-8?B?UmU6INCy0L7Qv9GA0L7RgSDQv9GA0L4g0LrRjdGI?= In-Reply-To: References: <20120109011046.GB67687@mdounin.ru> <20120112181817.GL67687@mdounin.ru> <20120112201717.GR67687@mdounin.ru> <20120113130415.GD67687@mdounin.ru> Message-ID: <20120113135722.GG67687@mdounin.ru> Hello! On Fri, Jan 13, 2012 at 05:16:36PM +0400, Anton Kiryushkin wrote: > Понял ответ. Тогда вопрос. Как можно при живых бэкендах брать ответ от > бэкендов, а при мертвых - из кэша. При этом переодически этот кэш все > же обновлять. > Или запрещать кэширование для всех ответов, переодически прогоняя сайт > с загаловками разрешающими кэширование? Как-то так, да. Хотя я бы наверное обрабатывал ошибки через error_page, и в случае ошибок возвращал конкретный периодически обновляемый файл. Maxim Dounin > > 13 января 2012 г. 17:04 пользователь Maxim Dounin написал: > > Hello! > > > > On Fri, Jan 13, 2012 at 08:34:45AM +0400, Anton Kiryushkin wrote: > > > >> я наблюдаю эту ситуацию при живых бэкендах. > > > > При живых бекендах ответ должен отдаваться из кеша, если он там > > свежий. > > > > Включите логгирование $upstream_cache_status, происходящее станет > > понятнее. > > > > Maxim Dounin > > > >> > >> пятница, 13 января 2012 г. пользователь Maxim Dounin > >> писал: > >> > Hello! > >> > > >> > On Fri, Jan 13, 2012 at 12:06:25AM +0400, Anton Kiryushkin wrote: > >> > > >> >> Спасибо, наложил, пересобрал. Наблюдаю ситуацию, при которой у меня > >> >> возвращается ответ из кэша. Сужу по куке, которая есть в кэш-файле и > >> >> куке, которая появляется в браузере. Это ведь неверно или наоборот > >> >> правильное поведение? > >> > > >> > Если все бекенды недоступны, и в кеше есть (устаревший) ответ, то > >> > должен возвращаться ответ из кеша (при таких настройках > >> > proxy_cache_use_stale).  Т.е. это правильное поведение. > >> > > >> > Maxim Dounin > >> > > >> >> > >> >> 12 января 2012 г. 22:18 пользователь Maxim Dounin > >> написал: > >> >> > Hello! > >> >> > > >> >> > On Thu, Jan 12, 2012 at 11:55:27AM +0400, Anton Kiryushkin wrote: > >> >> > > >> >> >> И еще возник вопрос про > >> >> >> proxy_cache_use_stale error timeout invalid_header updating http_500 > >> >> >> http_502 http_503 http_504 http_404; > >> >> >> > >> >> >> Я правильно понимаю, что эта строчка означает примерно следующее: > >> >> >> если код ответа бэкенда 500, 503, 502, 404, превысил таймаут, вернул > >> >> >> некорректные заголовки и находится в процессе обновления - вернуть > >> >> >> ответ из кэша, иначе возвращать ответ от бэкенда? > >> >> > > >> >> > Да. > >> >> > > >> >> > Наблюдаемое поведение - это ошибка, неправильно обрабатывался > >> >> > случай, когда все бекенды были признаны мёртвыми, и nginx просто > >> >> > не пытался никуда ходить (в error_log'е при этом возникает > >> >> > сообщение "no live upstreams", и все бекенды объявляются снова > >> >> > живыми). > >> >> > > >> >> > Патч прилагается. > >> >> > > >> >> > Maxim Dounin > >> >> > > >> >> >> > >> >> >> 12 января 2012 г. 0:28 пользователь Anton Kiryushkin > >> >> >> написал: > >> >> >> > вдогонку, bcj = name_upstream. > >> >> >> > > >> >> >> > 12 января 2012 г. 0:27 пользователь Anton Kiryushkin > >> >> >> > написал: > >> >> >> >> Пишется следующее: > >> >> >> >> """name_upstream""502""EXPIRED" > >> >> >> >> или """server1, server2""502, 502""-" > >> >> >> >> или """bcj""502""MISS" > >> >> >> >> > >> >> >> >> При этом время жизни кэша задано в 5 минут: > >> >> >> >>        location = / { > >> >> >> >>            proxy_ignore_headers Cache-Control Expires Set-Cookie; > >> >> >> >>            proxy_cache_bypass  $http_x_update; > >> >> >> >> > >> >> >> >>            proxy_cache cache_page; > >> >> >> >>            proxy_cache_key $scheme$host$request_uri; > >> >> >> >>            proxy_cache_valid 5m; > >> >> >> >>            proxy_hide_header "Set-Cookie"; > >> >> >> >> > >> >> >> >>            proxy_cache_use_stale error invalid_header timeout > >> >> >> >> updating http_500 http_502 http_503 http_504 http_404; > >> >> >> >> > >> >> >> >>            proxy_pass  http://backend; > >> >> >> >>            proxy_set_header X-Real-IP $remote_addr; > >> >> >> >>            proxy_set_header Host $http_host; > >> >> >> >>            proxy_redirect default; > >> >> >> >>            proxy_buffering on; > >> >> >> >> > >> >> >> >>        } > >> >> >> >> > >> >> >> >> 9 января 2012 г. 5:10 пользователь Maxim Dounin > >> написал: > >> >> >> >>> Hello! > >> >> >> >>> > >> >> >> >>> On Sun, Jan 08, 2012 at 09:24:58PM +0400, Anton Kiryushkin wrote: > >> >> >> >>> > >> >> >> >>>> Честно сказать дебаг я еще не делал. В обычном access > >> стандартный ответ 502. > >> >> >> >>> > >> >> >> >>> Для начала - что в error_log'е, и что в переменных $upstream_addr, > >> >> >> >>> $upstream_status, $upstream_cache_status (писать в access_log). > >> >> >> >>> > >> >> >> >>> Maxim Dounin > >> >> >> >>> > >> >> >> >>>> > >> >> >> >>>> 8 января 2012 г. 16:52 пользователь Maxim Dounin < > >> > >> -- > >> Best regards, > >> Anton Kiryushkin, > > > >> _______________________________________________ > >> nginx-ru mailing list > >> nginx-ru на nginx.org > >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > _______________________________________________ > > nginx-ru mailing list > > nginx-ru на nginx.org > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > -- > Best regards, > Anton Kiryushkin, > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From ne на vbart.ru Fri Jan 13 14:17:25 2012 From: ne на vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Fri, 13 Jan 2012 18:17:25 +0400 Subject: =?UTF-8?B?UmU6INCy0L7Qv9GA0L7RgSDQv9GA0L4g0LrRjdGI?= In-Reply-To: References: <20120108125256.GY67687@mdounin.ru> <20120113130415.GD67687@mdounin.ru> Message-ID: <201201131817.25403.ne@vbart.ru> On Friday 13 January 2012 17:16:36 Anton Kiryushkin wrote: > Понял ответ. Тогда вопрос. Как можно при живых бэкендах брать ответ от > бэкендов, а при мертвых - из кэша. При этом переодически этот кэш все > же обновлять. > Мне кажется можно воспользоваться proxy_store: http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_store -- Валентин Бартенев From swood на fotofor.biz Fri Jan 13 14:28:16 2012 From: swood на fotofor.biz (Anton Kiryushkin) Date: Fri, 13 Jan 2012 18:28:16 +0400 Subject: =?UTF-8?B?UmU6INCy0L7Qv9GA0L7RgSDQv9GA0L4g0LrRjdGI?= In-Reply-To: <201201131817.25403.ne@vbart.ru> References: <20120108125256.GY67687@mdounin.ru> <20120113130415.GD67687@mdounin.ru> <201201131817.25403.ne@vbart.ru> Message-ID: Если задача стоит в создании собственного CDN, причем актуального, то proxy_store тут мало чем будет полезен. Мне нужно кэшировать именно готовый ответ от бэкенда и отдавать его из кэша только в том случае, если бэкенд лег. Если он работает - кэш можно обновлять, но не выдавать его пользователю. 13 января 2012 г. 18:17 пользователь Валентин Бартенев написал: > On Friday 13 January 2012 17:16:36 Anton Kiryushkin wrote: >> Понял ответ. Тогда вопрос. Как можно при живых бэкендах брать ответ от >> бэкендов, а при мертвых - из кэша. При этом переодически этот кэш все >> же обновлять. >> > > Мне кажется можно воспользоваться proxy_store: > http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_store > > -- > Валентин Бартенев > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Best regards, Anton Kiryushkin, From ne на vbart.ru Fri Jan 13 14:52:58 2012 From: ne на vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Fri, 13 Jan 2012 18:52:58 +0400 Subject: =?UTF-8?B?UmU6INCy0L7Qv9GA0L7RgSDQv9GA0L4g0LrRjdGI?= In-Reply-To: References: <20120108125256.GY67687@mdounin.ru> <201201131817.25403.ne@vbart.ru> Message-ID: <201201131852.58980.ne@vbart.ru> On Friday 13 January 2012 18:28:16 Anton Kiryushkin wrote: > Если задача стоит в создании собственного CDN, причем актуального, то > proxy_store тут мало чем будет полезен. Мне нужно кэшировать именно > готовый ответ от бэкенда и отдавать его из кэша только в том случае, > если бэкенд лег. Если он работает - кэш можно обновлять, но не > выдавать его пользователю. proxy_store будет постоянно сохранять самый актуальный ответ от бэкендов на диск. В случае, если ни один бэкенд не ответил, с помощью error_page будете отправлять запрос в отдельный location, который будет брать ответ из директории на которую настроена proxy_store. -- Валентин Бартенев From swood на fotofor.biz Fri Jan 13 15:13:00 2012 From: swood на fotofor.biz (Anton Kiryushkin) Date: Fri, 13 Jan 2012 19:13:00 +0400 Subject: =?UTF-8?B?UmU6INCy0L7Qv9GA0L7RgSDQv9GA0L4g0LrRjdGI?= In-Reply-To: <201201131852.58980.ne@vbart.ru> References: <20120108125256.GY67687@mdounin.ru> <201201131817.25403.ne@vbart.ru> <201201131852.58980.ne@vbart.ru> Message-ID: Можете дать пример конфига для такой работы? Что делать с куками и обновлением кэша? 13 января 2012 г. 18:52 пользователь Валентин Бартенев написал: > On Friday 13 January 2012 18:28:16 Anton Kiryushkin wrote: >> Если задача стоит в создании собственного CDN, причем актуального, то >> proxy_store тут мало чем будет полезен. Мне нужно кэшировать именно >> готовый ответ от бэкенда и отдавать его из кэша только в том случае, >> если бэкенд лег. Если он работает - кэш можно обновлять, но не >> выдавать его пользователю. > > proxy_store будет постоянно сохранять самый актуальный ответ от бэкендов > на диск. > > В случае, если ни один бэкенд не ответил, с помощью error_page будете > отправлять запрос в отдельный location, который будет брать ответ > из директории на которую настроена proxy_store. > > -- > Валентин Бартенев > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Best regards, Anton Kiryushkin, From ne на vbart.ru Fri Jan 13 15:40:14 2012 From: ne на vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Fri, 13 Jan 2012 19:40:14 +0400 Subject: =?UTF-8?B?UmU6INCy0L7Qv9GA0L7RgSDQv9GA0L4g0LrRjdGI?= In-Reply-To: References: <20120108125256.GY67687@mdounin.ru> <201201131852.58980.ne@vbart.ru> Message-ID: <201201131940.15099.ne@vbart.ru> On Friday 13 January 2012 19:13:00 Anton Kiryushkin wrote: > Можете дать пример конфига для такой работы? Что делать с куками и > обновлением кэша? > Куки потеряются, как и все изначальные заголовки от бекэнда. Обновляться будет каждый успешно проксированный запрос. location / { proxy_pass ... proxy_store /patch/to/store$uri; error_page 502 =200 @store; } @store { root /patch/to/store; error_page 404 =502 /502.html; } location = /502.html { root /srv/www; } $args в данном случае потеряются тоже. -- Валентин Бартенев From postmaster на softsearch.ru Fri Jan 13 17:23:12 2012 From: postmaster на softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Fri, 13 Jan 2012 21:23:12 +0400 Subject: =?UTF-8?B?0J/QvtC30LTRgNCw0LLQu9GP0LXQvCDQutC+0LzQsNC90LTRgyBuZ2lueCDRgSA=?= =?UTF-8?B?0L7Rh9C10YDQtdC00L3QvtC5INC/0L7QsdC10LTQvtC5IQ==?= Message-ID: <1807678256.20120113212312@softsearch.ru> Здравствуйте. http://open.cnews.ru/news/top/index.shtml?2012/01/12/472436 -- С уважением, Михаил mailto:postmaster на softsearch.ru From johnbat26 на gmail.com Fri Jan 13 18:53:44 2012 From: johnbat26 на gmail.com (Eugene Batogov) Date: Fri, 13 Jan 2012 22:53:44 +0400 Subject: =?UTF-8?B?UmU6INCf0L7Qt9C00YDQsNCy0LvRj9C10Lwg0LrQvtC80LDQvdC00YMgbmdpbngg?= =?UTF-8?B?0YEg0L7Rh9C10YDQtdC00L3QvtC5INC/0L7QsdC10LTQvtC5IQ==?= In-Reply-To: <1807678256.20120113212312@softsearch.ru> References: <1807678256.20120113212312@softsearch.ru> Message-ID: <3241279.6iBhFdPBjj@dragon> Присоединяюсь к поздравлениям! Спасибо всем за отличную разработку отличного решения! On Пятница 13 января 2012 21:23:12 Михаил Монашёв wrote: > Здравствуйте. > > http://open.cnews.ru/news/top/index.shtml?2012/01/12/472436 > > -- Best regards, Eugene Batogov. From nginx-forum на nginx.us Fri Jan 13 20:03:13 2012 From: nginx-forum на nginx.us (mikevmk) Date: Fri, 13 Jan 2012 15:03:13 -0500 Subject: =?UTF-8?B?0KDQsNC30L3Ri9C1IGxpbWl0IHJlcSB6b25lINC00LvRjyDRgNCw0LfQvdGL0YUg?= =?UTF-8?B?JHJlcXVlc3QgbW90aG9k?= Message-ID: <745d213ca37bf7a096b2d2efde2eef4a.NginxMailingListRussian@forum.nginx.org> Здравствуйте! Помогите, пожалуйста, в такой вот проблеме. Очень хочется применить разные лимиты к запросам разными методами, а именно ограничить POST-запросы более жесткими рамками. что сечас: limit_req_zone $binary_remote_addr zone=wsgi_zone:30m rate=15r/s; [...] location / { limit_req zone=wsgi_zone burst=30 nodelay; uwsgi_pass site_one; include uwsgi_params; } пробовал обернуть limit_req в if - говорит not allowed here пробовал задать имя зоны переменной (и burst тоже) - не получилось (в аргументах limit_req переменные не интерпритируются как переменные) Как бы мне другую зону для POST задать? Спасибо Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221204,221204#msg-221204 From nginx-forum на nginx.us Fri Jan 13 20:04:19 2012 From: nginx-forum на nginx.us (mikevmk) Date: Fri, 13 Jan 2012 15:04:19 -0500 Subject: =?UTF-8?B?UmU6INCg0LDQt9C90YvQtSBsaW1pdCByZXEgem9uZSDQtNC70Y8g0YDQsNC30L0=?= =?UTF-8?B?0YvRhSAkcmVxdWVzdCBtb3Rob2Q=?= In-Reply-To: <745d213ca37bf7a096b2d2efde2eef4a.NginxMailingListRussian@forum.nginx.org> References: <745d213ca37bf7a096b2d2efde2eef4a.NginxMailingListRussian@forum.nginx.org> Message-ID: интерпретируются, извините Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221204,221205#msg-221205 From rpekfi на gmail.com Fri Jan 13 20:05:35 2012 From: rpekfi на gmail.com (=?KOI8-R?B?59LFyyDmyc7Ty8nK?=) Date: Sat, 14 Jan 2012 00:05:35 +0400 Subject: =?UTF-8?B?bmdpbngg0L3QtSDRgdC+0LfQtNCw0ZHRgiDRhNCw0LnQu9GLINC70L7Qs9C+0LI=?= Message-ID: nginx не создаёт файлы логов и соотвественно ничего туда не пишет. Пробовал пересобирать с опцией debug, чтобы в логах глянуть какие-нибудь ошибки, но там ничего про логи не пишет. единственный лог который создаётся: error_log /var/log/www/nginx_error.log info; он указан в начале конфига, но туда абсолютно ничего не пишет то что должен писать в access, debug и error логи пишется в /var/log/messages nginx-devel-1.1.12 из портов 8.2-RELEASE-p3 generic p.s. я начинающий, прошу строго не судить. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From vromanov на gmail.com Fri Jan 13 20:57:41 2012 From: vromanov на gmail.com (Vladimir Romanov) Date: Fri, 13 Jan 2012 23:57:41 +0300 Subject: ustats & nginx 1.xx In-Reply-To: References: Message-ID: Прошу прощения за задержку.. разобрались. Дело было в использовании keepalive для упстрима. В этом случае оно и падает. Скоро пришлем патчик. 2011/12/12 Илья Шипицин : > код самодельного модуля? конфиг, на котором все падает? -- Vladimir Romanov From swood на fotofor.biz Sat Jan 14 18:47:40 2012 From: swood на fotofor.biz (Anton Kiryushkin) Date: Sat, 14 Jan 2012 22:47:40 +0400 Subject: =?UTF-8?B?UmU6INCy0L7Qv9GA0L7RgSDQv9GA0L4g0LrRjdGI?= In-Reply-To: <201201131940.15099.ne@vbart.ru> References: <20120108125256.GY67687@mdounin.ru> <201201131852.58980.ne@vbart.ru> <201201131940.15099.ne@vbart.ru> Message-ID: Спасибо за Ваш ответ. К сожалению терять $args и куки нельзя, равно как и заголовки. У меня вроде как почти получилось сделать нужное мне проксирование, добавив куку в опцию proxy_cache_bypass. Теперь у меня всегда возвращается ответ только от бэкенда, когда он жив. Но это породило и проблему, так как если бэкенд мертв, то если у меня есть кука, то в ответ на запрос я получаю 502-й код ответа. Поэтому вопрос. Возможно ли при мертвом бэкенде принудительно убивать куки у пользователя? Я попробовал сделать через конструкцию: if ($upstream_status = 502) { proxy_set_header Cookie ""; } в конфиге location, но получил достаточно объяснимое предупреждение от nginx, что так делать нельзя. 13 января 2012 г. 19:40 пользователь Валентин Бартенев написал: > On Friday 13 January 2012 19:13:00 Anton Kiryushkin wrote: >> Можете дать пример конфига для такой работы? Что делать с куками и >> обновлением кэша? >> > > Куки потеряются, как и все изначальные заголовки от бекэнда. > Обновляться будет каждый успешно проксированный запрос. > >  location / { >   proxy_pass ... > >   proxy_store /patch/to/store$uri; >   error_page 502 =200 @store; >  } > >  @store { >   root /patch/to/store; >   error_page 404 =502 /502.html; >  } > >  location = /502.html { >   root /srv/www; >  } > > $args в данном случае потеряются тоже. > > -- > Валентин Бартенев > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Best regards, Anton Kiryushkin, From nginx-forum на nginx.us Sat Jan 14 22:11:57 2012 From: nginx-forum на nginx.us (Craken) Date: Sat, 14 Jan 2012 17:11:57 -0500 Subject: =?UTF-8?B?UmU6IG5naW54INC90LUg0YHQvtC30LTQsNGR0YIg0YTQsNC50LvRiyDQu9C+0LM=?= =?UTF-8?B?0L7Qsg==?= In-Reply-To: References: Message-ID: Для того чтобы Вам что-то подсказали - нужно показывать конфиг! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221206,221238#msg-221238 From postmaster на softsearch.ru Sun Jan 15 09:27:21 2012 From: postmaster на softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Sun, 15 Jan 2012 13:27:21 +0400 Subject: =?UTF-8?B?UmU6IG5naW54INC90LUg0YHQvtC30LTQsNGR0YIg0YTQsNC50LvRiyDQu9C+0LM=?= =?UTF-8?B?0L7Qsg==?= In-Reply-To: References: Message-ID: <328431467.20120115132721@softsearch.ru> Здравствуйте, Грек. > nginx не создаёт файлы логов и соотвественно ничего туда не > пишет. Скорее всего у nginx-а нет прав для создания файла с логами. -- С уважением, Михаил mailto:postmaster на softsearch.ru From ano на bestmx.ru Sun Jan 15 11:13:10 2012 From: ano на bestmx.ru (Andrey N. Oktyabrski) Date: Sun, 15 Jan 2012 14:13:10 +0300 Subject: =?UTF-8?B?UmU6IG5naW54INC90LUg0YHQvtC30LTQsNGR0YIg0YTQsNC50LvRiyDQu9C+0LM=?= =?UTF-8?B?0L7Qsg==?= In-Reply-To: <328431467.20120115132721@softsearch.ru> References: <328431467.20120115132721@softsearch.ru> Message-ID: <4F12B4C6.7070606@bestmx.ru> On 15.01.12 12:27, Михаил Монашёв wrote: >> nginx не создаёт файлы логов и соотвественно ничего туда не >> пишет. > > Скорее всего у nginx-а нет прав для создания файла с логами. А разве он запустится при этом? По-моему, он матерится и дохнет. From andrey на xdel.ru Sun Jan 15 10:47:42 2012 From: andrey на xdel.ru (Andrey Korolyov) Date: Sun, 15 Jan 2012 13:47:42 +0300 Subject: =?UTF-8?B?0J7RgtC00LDRh9CwINC40LcgcmF3IHNvY2tldA==?= Message-ID: Добрый день, Вопрос слегка оффтопик, можно каким-либо образом заставить веб-сервер(не обязательно nginx) работать с raw sockets? Безусловно, предполагается, что сокеты уникальные и в один момент к одному сокету обращается не более одного клиента. Задача изначально довольно простая - сократить время ожидания клиента при формировании архива. From artem.povaluhin на gmail.com Sun Jan 15 10:48:58 2012 From: artem.povaluhin на gmail.com (Artem S. Povaluhin) Date: Sun, 15 Jan 2012 14:48:58 +0400 Subject: =?UTF-8?B?UmU6IG5naW54INC90LUg0YHQvtC30LTQsNGR0YIg0YTQsNC50LvRiyDQu9C+0LM=?= =?UTF-8?B?0L7Qsg==?= In-Reply-To: References: Message-ID: <4F12AF1A.3090707@gmail.com> On 14.01.2012 0:05, Грек Финский wrote: > nginx не создаёт файлы логов и соотвественно ничего туда не пишет. > Пробовал пересобирать с опцией debug, чтобы в логах глянуть какие-нибудь > ошибки, но там ничего про логи не пишет. > единственный лог который создаётся: > error_log /var/log/www/nginx_error.log info; > он указан в начале конфига, но туда абсолютно ничего не пишет > > то что должен писать в access, debug и error логи пишется в > /var/log/messages что выдает nginx -V ? > > nginx-devel-1.1.12 из портов > 8.2-RELEASE-p3 generic > > p.s. я начинающий, прошу строго не судить. > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4438 bytes Desc: S/MIME Cryptographic Signature URL: From rpekfi на gmail.com Sun Jan 15 10:49:51 2012 From: rpekfi на gmail.com (=?KOI8-R?B?59LFyyDmyc7Ty8nK?=) Date: Sun, 15 Jan 2012 14:49:51 +0400 Subject: =?UTF-8?B?UmU6IG5naW54INC90LUg0YHQvtC30LTQsNGR0YIg0YTQsNC50LvRiyDQu9C+0LM=?= =?UTF-8?B?0L7Qsg==?= In-Reply-To: <4F12B4C6.7070606@bestmx.ru> References: <328431467.20120115132721@softsearch.ru> <4F12B4C6.7070606@bestmx.ru> Message-ID: Спасибо за отклик. Конфиги: vi /usr/local/etc/nginx/nginx.conf user nobody; worker_processes 4; error_log /var/log/www/nginx_error.log info; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; sendfile on; keepalive_timeout 615; send_timeout 3000; server{ listen 80; server_name localhost.lan; error_log /usr/www/localhost.lan/logs/error.log warn; access_log /usr/www/localhost.lan/logs/access.log main; location / { root /usr/www/localhost.lan/htdocs/; index index.html index.htm default.php index.php; } location ~*\.(ico|png|jpg|jpeg|gif|css|js|txt)$ { root /usr/www/localhost.lan/htdocs/; access_log off; expires 30d; } location ~\.php$ { fastcgi_pass unix:/tmp/www_local_php-fpm.sock; fastcgi_index default.php; fastcgi_param SCRIPT_FILENAME /usr/www/localhost.lan/htdocs/$fastcgi_script_name; include fastcgi_params; } } ------------------------------- # vi /usr/local/etc/php-fpm.conf ------------------------------- [www_local] listen = /tmp/www_local_php-fpm.sock user =www_local group =www_local pm = dynamic pm.max_children = 4 pm.start_servers = 1 pm.min_spare_servers = 1 pm.max_spare_servers = 2 pm.max_requests = 500 slowlog = /var/log/php-fpm_slow_www_local.log php_admin_value[open_basedir]="/usr/www/localhost.lan/" php_admin_value[upload_tmp_dir]="/usr/www/localhost.lan/upload/" php_admin_value[session.save_path]="/usr/www/localhost.lan/session/" ------------------------------- # /usr/local/etc/rc.d/nginx restart Performing sanity check on nginx configuration: nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful Stopping nginx. Waiting for PIDS: 18830. Performing sanity check on nginx configuration: nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful Starting nginx. ------------------------------- /usr/www/localhost.lan/logs#ls -all total 8 drwxr-xr-x 2 www_local www_local 512 Jan 14 15:16 . drwxr-xr-x 13 www_local www_local 512 Jan 14 15:16 .. ------------------------------- /var/log# ls -all .... -rw-r--r-- 1 root wheel 0 Jan 15 14:46 nginx-error.log .... 15 января 2012 г. 15:13 пользователь Andrey N. Oktyabrski написал: > On 15.01.12 12:27, Михаил Монашёв wrote: > >> nginx не создаёт файлы логов и соотвественно ничего туда не >>> пишет. >>> >> >> Скорее всего у nginx-а нет прав для создания файла с логами. >> > А разве он запустится при этом? По-моему, он матерится и дохнет. > > > ______________________________**_________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/**mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From rpekfi на gmail.com Sun Jan 15 10:51:06 2012 From: rpekfi на gmail.com (=?KOI8-R?B?59LFyyDmyc7Ty8nK?=) Date: Sun, 15 Jan 2012 14:51:06 +0400 Subject: =?UTF-8?B?UmU6IG5naW54INC90LUg0YHQvtC30LTQsNGR0YIg0YTQsNC50LvRiyDQu9C+0LM=?= =?UTF-8?B?0L7Qsg==?= In-Reply-To: References: <328431467.20120115132721@softsearch.ru> <4F12B4C6.7070606@bestmx.ru> Message-ID: # nginx -V nginx version: nginx/1.1.12 TLS SNI support enabled configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt='-I /usr/local/include' --with-ld-opt='-L /usr/local/lib' --conf-path=/usr/local/etc/nginx/nginx.conf --sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid --error-log-path=/var/log/nginx-error.log --user=www --group=www --with-debug --with-file-aio --with-ipv6 --http-client-body-temp-path=/var/tmp/nginx/client_body_temp --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp --http-proxy-temp-path=/var/tmp/nginx/proxy_temp --http-scgi-temp-path=/var/tmp/nginx/scgi_temp --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi_temp --http-log-path=/var/log/nginx-access.log --add-module=/usr/ports/www/nginx-devel/work/giom-nginx_accept_language_module-02262ce --with-http_addition_module --add-module=/usr/ports/www/nginx-devel/work/agentzh-echo-nginx-module-b0c1fc6 --add-module=/usr/ports/www/nginx-devel/work/agentzh-headers-more-nginx-module-137855d --add-module=/usr/ports/www/nginx-devel/work/ngx_http_gunzip_filter_module-0.4 --with-http_gzip_static_module --with-http_ssl_module --with-http_stub_status_module --add-module=/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0 --add-module=/usr/ports/www/nginx-devel/work/masterzen-nginx-upload-progress-module-c7c663f --add-module=/usr/ports/www/nginx-devel/work/mod_zip-1.1.6 --with-pcre --with-syslog --with-syslog-facility=LOG_DAEMON --add-module=/usr/ports/www/nginx-devel/work/nginx_udplog_module-1.0.0 ----------- ???????? ????? ----------- ???????? ? ??????? HTML ???? ?????????… URL: From mdounin на mdounin.ru Sun Jan 15 11:10:21 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Sun, 15 Jan 2012 15:10:21 +0400 Subject: =?UTF-8?B?UmU6IG5naW54INC90LUg0YHQvtC30LTQsNGR0YIg0YTQsNC50LvRiyDQu9C+0LM=?= =?UTF-8?B?0L7Qsg==?= In-Reply-To: References: <328431467.20120115132721@softsearch.ru> <4F12B4C6.7070606@bestmx.ru> Message-ID: <20120115111021.GR67687@mdounin.ru> Hello! On Sun, Jan 15, 2012 at 02:51:06PM +0400, Грек Финский wrote: > # nginx -V > nginx version: nginx/1.1.12 > TLS SNI support enabled > configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt='-I > /usr/local/include' --with-ld-opt='-L /usr/local/lib' > --conf-path=/usr/local/etc/nginx/nginx.conf > --sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid > --error-log-path=/var/log/nginx-error.log --user=www --group=www > --with-debug --with-file-aio --with-ipv6 > --http-client-body-temp-path=/var/tmp/nginx/client_body_temp > --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp > --http-proxy-temp-path=/var/tmp/nginx/proxy_temp > --http-scgi-temp-path=/var/tmp/nginx/scgi_temp > --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi_temp > --http-log-path=/var/log/nginx-access.log > --add-module=/usr/ports/www/nginx-devel/work/giom-nginx_accept_language_module-02262ce > --with-http_addition_module > --add-module=/usr/ports/www/nginx-devel/work/agentzh-echo-nginx-module-b0c1fc6 > --add-module=/usr/ports/www/nginx-devel/work/agentzh-headers-more-nginx-module-137855d > --add-module=/usr/ports/www/nginx-devel/work/ngx_http_gunzip_filter_module-0.4 > --with-http_gzip_static_module --with-http_ssl_module > --with-http_stub_status_module > --add-module=/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0 > --add-module=/usr/ports/www/nginx-devel/work/masterzen-nginx-upload-progress-module-c7c663f > --add-module=/usr/ports/www/nginx-devel/work/mod_zip-1.1.6 --with-pcre > --with-syslog --with-syslog-facility=LOG_DAEMON > --add-module=/usr/ports/www/nginx-devel/work/nginx_udplog_module-1.0.0 Начните с простого: соберите nginx без сторонних модулей и патчей. Maxim Dounin From andrey на xdel.ru Sun Jan 15 11:15:08 2012 From: andrey на xdel.ru (Andrey Korolyov) Date: Sun, 15 Jan 2012 14:15:08 +0300 Subject: =?UTF-8?B?UmU6INCe0YLQtNCw0YfQsCDQuNC3IHJhdyBzb2NrZXQ=?= In-Reply-To: References: Message-ID: Имелось в виду named pipe, а не raw [tcp], меня чуть заклинило. 2012/1/15 Andrey Korolyov : > Добрый день, > > Вопрос слегка оффтопик, можно каким-либо образом заставить > веб-сервер(не обязательно nginx) работать с raw sockets? Безусловно, > предполагается, что сокеты уникальные и в один момент к одному сокету > обращается не более одного клиента. Задача изначально довольно простая > - сократить время ожидания клиента при формировании архива. From rpekfi на gmail.com Sun Jan 15 11:30:34 2012 From: rpekfi на gmail.com (=?KOI8-R?B?59LFyyDmyc7Ty8nK?=) Date: Sun, 15 Jan 2012 15:30:34 +0400 Subject: =?UTF-8?B?UmU6IG5naW54INC90LUg0YHQvtC30LTQsNGR0YIg0YTQsNC50LvRiyDQu9C+0LM=?= =?UTF-8?B?0L7Qsg==?= In-Reply-To: <20120115111021.GR67687@mdounin.ru> References: <328431467.20120115132721@softsearch.ru> <4F12B4C6.7070606@bestmx.ru> <20120115111021.GR67687@mdounin.ru> Message-ID: оставил: HTTP_MODULE HTTP_REWRITE_MODULE WWW # nginx -V nginx version: nginx/1.1.12 configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt='-I /usr/local/include' --with-ld-opt='-L /usr/local/lib' --conf-path=/usr/local/etc/nginx/nginx.conf --sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid --error-log-path=/var/log/nginx-error.log --user=www --group=www --http-client-body-temp-path=/var/tmp/nginx/client_body_temp --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp --http-proxy-temp-path=/var/tmp/nginx/proxy_temp --http-scgi-temp-path=/var/tmp/nginx/scgi_temp --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi_temp --http-log-path=/var/log/nginx-access.log --without-http-cache --with-pcre помогло, спасибо! 15 января 2012 г. 15:10 пользователь Maxim Dounin написал: > Hello! > > On Sun, Jan 15, 2012 at 02:51:06PM +0400, Грек Финский wrote: > > > # nginx -V > > nginx version: nginx/1.1.12 > > TLS SNI support enabled > > configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt='-I > > /usr/local/include' --with-ld-opt='-L /usr/local/lib' > > --conf-path=/usr/local/etc/nginx/nginx.conf > > --sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid > > --error-log-path=/var/log/nginx-error.log --user=www --group=www > > --with-debug --with-file-aio --with-ipv6 > > --http-client-body-temp-path=/var/tmp/nginx/client_body_temp > > --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp > > --http-proxy-temp-path=/var/tmp/nginx/proxy_temp > > --http-scgi-temp-path=/var/tmp/nginx/scgi_temp > > --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi_temp > > --http-log-path=/var/log/nginx-access.log > > > --add-module=/usr/ports/www/nginx-devel/work/giom-nginx_accept_language_module-02262ce > > --with-http_addition_module > > > --add-module=/usr/ports/www/nginx-devel/work/agentzh-echo-nginx-module-b0c1fc6 > > > --add-module=/usr/ports/www/nginx-devel/work/agentzh-headers-more-nginx-module-137855d > > > --add-module=/usr/ports/www/nginx-devel/work/ngx_http_gunzip_filter_module-0.4 > > --with-http_gzip_static_module --with-http_ssl_module > > --with-http_stub_status_module > > --add-module=/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0 > > > --add-module=/usr/ports/www/nginx-devel/work/masterzen-nginx-upload-progress-module-c7c663f > > --add-module=/usr/ports/www/nginx-devel/work/mod_zip-1.1.6 --with-pcre > > --with-syslog --with-syslog-facility=LOG_DAEMON > > --add-module=/usr/ports/www/nginx-devel/work/nginx_udplog_module-1.0.0 > > Начните с простого: соберите nginx без сторонних модулей и патчей. > > Maxim Dounin > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From savefrom на gmail.com Sun Jan 15 11:35:18 2012 From: savefrom на gmail.com (SaveFrom.net) Date: Sun, 15 Jan 2012 19:35:18 +0800 Subject: =?UTF-8?B?0J3QtSDRgNCw0LHQvtGC0LDQtdGCIG1lcmdlX3NsYXNoZXMgb2ZmINC/0YDQuCA=?= =?UTF-8?B?0YDQtdC00LjRgNC10LrRgtCw0YU=?= Message-ID: Здравствуйте, Запрос http://sfrom.net/http://bar Ответ http://savefrom.net/http:/bar Ожидали http://savefrom.net/http://bar (пропал слеш в uri) Конфиг server { listen xxx; server_name sfrom.net www.sfrom.net; merge_slashes off; rewrite '^\/https?:' 'http://savefrom.net$uri?foo' permanent; rewrite ^ 'http://savefrom.net/http:/$uri?foo' permanent; } Linux 2.6.18-238.1.1.1.el5 nginx: nginx version: nginx/1.1.2 nginx: built by gcc 4.1.2 20080704 (Red Hat 4.1.2-50) nginx: TLS SNI support disabled nginx: configure arguments: --conf-path=/etc/nginx/nginx.conf --sbin-path=/usr/sbin/nginx --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/spool/nginx/tmp/client --http-proxy-temp-path=/var/spool/nginx/tmp/proxy --http-fastcgi-temp-path=/var/spool/nginx/tmp/fastcgi --pid-path=/var/run/nginx.pid --user=nginx --group=nginx --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module -- С уважением, Антон -------------- next part -------------- An HTML attachment was scrubbed... URL: From ano на bestmx.ru Sun Jan 15 12:53:16 2012 From: ano на bestmx.ru (Andrey N. Oktyabrski) Date: Sun, 15 Jan 2012 15:53:16 +0300 Subject: =?UTF-8?B?UmU6IG5naW54INC90LUg0YHQvtC30LTQsNGR0YIg0YTQsNC50LvRiyDQu9C+0LM=?= =?UTF-8?B?0L7Qsg==?= In-Reply-To: References: <328431467.20120115132721@softsearch.ru> <4F12B4C6.7070606@bestmx.ru> Message-ID: <4F12CC3C.3090107@bestmx.ru> On 15.01.12 13:51, Грек Финский wrote: > --with-syslog --with-syslog-facility=LOG_DAEMON Вот оно, это место, куда логи сыпались вместо файлов :-) From kolesen.a на gmail.com Sun Jan 15 14:36:16 2012 From: kolesen.a на gmail.com (Alexander Kolesen) Date: Sun, 15 Jan 2012 17:36:16 +0300 Subject: =?UTF-8?B?UmU6INCg0LXQtNC40YDQtdC60YI=?= In-Reply-To: References: Message-ID: <20120115143615.GA23666@macbookpro.wargaming.net> > Здравствуйте. > > Нужно настроить редирект в nginx, чтобы он работал следующим > образом:если при запросе jpg картинки по адресу: > http://media-us01.(ДОМЕН)/sr/thumbs/*/*.jpg при недоступности > картинки (404 ошибка) она бы отдавалась с URL'а > http://img.(ДОМЕН)/sr/thumbs/*/*.jpg (например > http://img.domain.com/sr/thumbs/c/1413.jpg) т.е. фактически сабдомен в > запросе менялся бы media-us01 -> img server { listen 80; server_name ~^media-us01.(?P.+)$; location /sr/thumbs/ { location ~ /sr/thumbs/[^/]+/[^/]+/[^/]+\.jpg$ { root /path/to/your/files/; error_page 404 = @img; } } location @img { return 301 http://img.$domain$uri; } } From nginx-forum на nginx.us Sun Jan 15 15:35:29 2012 From: nginx-forum на nginx.us (=?UTF-8?Q? =D0=91=D0=BE=D0=BD=D1=8F ?=) Date: Sun, 15 Jan 2012 10:35:29 -0500 Subject: =?UTF-8?B?bmdpbngg0YHQstC+0Lgg0L/QtdGA0LXQvNC10L3QvdGL0LU=?= Message-ID: Здравствуйте. Прошу прощение, если вопрос уже подымался. Я не нашёл ответа. Задача следующая мне нужно создать переменную , а потом при необходимости поменять её значение. Следующий код конечно не работает, но наглядно демонстрирует чего я хочу: Здравствуйте. server { ... set $rootPath "C:/apach/www"; location /music/ { $rootPath = "D:/www/music"; } location /video/ { $rootPath = "D:/www/video"; } location ~* \.(flv|mp3)$ { root $dirPath; } ... } Если кто знает как такое сделать, подскажите пожалуйста. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221262,221262#msg-221262 From vladimir на greenmice.info Sun Jan 15 15:57:00 2012 From: vladimir на greenmice.info (Vladimir Rusinov) Date: Sun, 15 Jan 2012 19:57:00 +0400 Subject: =?UTF-8?B?UmU6IG5naW54INGB0LLQvtC4INC/0LXRgNC10LzQtdC90L3Ri9C1?= In-Reply-To: References: Message-ID: 2012/1/15 "Боня" > Здравствуйте. Прошу прощение, если > вопрос уже подымался. Я не нашёл > ответа. > > Задача следующая мне нужно создать > переменную , а потом при необходимости > поменять её значение. Следующий код > конечно не работает, но наглядно > демонстрирует чего я хочу: > > Здравствуйте. > server { > ... > set $rootPath "C:/apach/www"; > > location /music/ { > $rootPath = "D:/www/music"; > } > > location /video/ { > $rootPath = "D:/www/video"; > } > > location ~* \.(flv|mp3)$ { > root $dirPath; > } > ... > } > > Если кто знает как такое сделать, > подскажите пожалуйста. > Вам нужно разобраться с тем как работает location. Ваша конфигурация не будет работать, потому что запросы будут попадать в location с регулярным выражением, и не будут попадать в /video/. Может помочь что-то типа такого: location /video/ { root /path/to/video; location ~* \.(flv|mp3} { ... } } location /music/ { root /path/to/music; location ~* \.(flv|mp3} { ... } } -- Vladimir Rusinov http://greenmice.info/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum на nginx.us Sun Jan 15 16:32:01 2012 From: nginx-forum на nginx.us (=?UTF-8?Q? =D0=91=D0=BE=D0=BD=D1=8F ?=) Date: Sun, 15 Jan 2012 11:32:01 -0500 Subject: =?UTF-8?B?UmU6IG5naW54INGB0LLQvtC4INC/0LXRgNC10LzQtdC90L3Ri9C1?= In-Reply-To: References: Message-ID: Vladimir Rusinov Спасибо большое, работает. И всё же поповоду переменных. Как я понял, значение переменной можно изменить так: server { ... set $rootPath "C:/"; set $rootPath "D:/"; set $rootPath "F:/"; ... } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221262,221265#msg-221265 From sargas на kievnet.ua Sun Jan 15 18:18:35 2012 From: sargas на kievnet.ua (=?UTF-8?B?0JDQu9C10LrRgdCw0L3QtNGAINCb0YvRgdC10L3QutC+?=) Date: Sun, 15 Jan 2012 20:18:35 +0200 Subject: =?UTF-8?B?UmU6INCg0LXQtNC40YDQtdC60YI=?= In-Reply-To: <20120115143615.GA23666@macbookpro.wargaming.net> References: <20120115143615.GA23666@macbookpro.wargaming.net> Message-ID: Благодарю 15 января 2012 г. 16:36 пользователь Alexander Kolesen написал: >> Здравствуйте. >> >> Нужно настроить редирект в nginx, чтобы он работал следующим >> образом:если при запросе jpg картинки по адресу: >> http://media-us01.(ДОМЕН)/sr/thumbs/*/*.jpg  при недоступности >> картинки (404 ошибка) она бы отдавалась с URL'а >> http://img.(ДОМЕН)/sr/thumbs/*/*.jpg (например >> http://img.domain.com/sr/thumbs/c/1413.jpg) т.е. фактически сабдомен в >> запросе менялся бы media-us01 -> img > > > server { >    listen 80; >    server_name ~^media-us01.(?P.+)$; > >    location /sr/thumbs/ { >        location ~ /sr/thumbs/[^/]+/[^/]+/[^/]+\.jpg$ { >            root /path/to/your/files/; >            error_page 404 = @img; >        } >    } > >    location @img { >        return 301 http://img.$domain$uri; >    } > > } > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From sytar.alex на gmail.com Sun Jan 15 19:18:19 2012 From: sytar.alex на gmail.com (Aleksandr Sytar) Date: Sun, 15 Jan 2012 23:18:19 +0400 Subject: =?UTF-8?B?UmU6IG5naW54INGB0LLQvtC4INC/0LXRgNC10LzQtdC90L3Ri9C1?= In-Reply-To: References: Message-ID: 15 января 2012 г. 19:35 пользователь "Боня" написал: > Здравствуйте. Прошу прощение, если > вопрос уже подымался. Я не нашёл > ответа. > > Задача следующая мне нужно создать > переменную , а потом при необходимости > поменять её значение. Следующий код > конечно не работает, но наглядно > демонстрирует чего я хочу: > > Здравствуйте. > server { >  ... > set $rootPath "C:/apach/www"; > > location /music/ { > $rootPath =  "D:/www/music"; > } > > location /video/ { > $rootPath =  "D:/www/video"; > } > > location ~* \.(flv|mp3)$ { > root $dirPath; > } > ... > } > Как-то так наверно (на рабочесть не проверялось) server { root "C:/apach/www"; location /music/ { root "D:/www/music"; location ~* \.(flv|mp3)$ { .... } } location /video/ { root "D:/www/video"; location ~* \.(flv|mp3)$ { .... } } } From nginx-forum на nginx.us Sun Jan 15 20:45:22 2012 From: nginx-forum на nginx.us (vovanhost) Date: Sun, 15 Jan 2012 15:45:22 -0500 Subject: =?UTF-8?B?0L3QtSDQvNC10L3Rj9C10YLRgdGPIHByb3h5IGNhY2hlIGtleQ==?= Message-ID: <38b69a760274ad0c1ed5f407c01cc3c5.NginxMailingListRussian@forum.nginx.org> Доброй ночи. Сталкнулся со следующей проблемой: По reload не изменяется значение proxy_cache_key. Создавал новый proxy_cache_path по другому пути и с новым именем. Nginx все равно работает со старым. Если сделать restart, то конечно все подхватывается. В чем может быть проблема? Это фича или баг? Раньше (в nginx < 1.0) помогало изменение имени кеша. Причастная конфигурация: proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:128m inactive=1y max_size=50g; ? location / { open_file_cache max=1024 inactive=600s; open_file_cache_valid 2000s; open_file_cache_min_uses 1; open_file_cache_errors on; proxy_pass http://backend; proxy_next_upstream error timeout; proxy_temp_path /path/to/tmp; proxy_cache my_cache; proxy_cache_key $scheme://$proxy_host$uri; proxy_cache_min_uses 1; #default proxy_set_header Host backend; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_cache_valid 200 301 302 304 24d; proxy_cache_valid any 1m; proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504; proxy_connect_timeout 5; proxy_read_timeout 20; proxy_send_timeout 20; } Версия nginx: nginx: nginx version: nginx/1.0.6 nginx: built by gcc 4.1.2 20080704 (Red Hat 4.1.2-50) nginx: TLS SNI support disabled nginx: configure arguments: --user=nginx --group=nginx --prefix=/usr/share/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 --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --pid-path=/var/run/nginx.pid --lock-path=/var/lock/subsys/nginx --with-http_secure_link_module --with-http_random_index_module --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_gzip_static_module --with-http_stub_status_module --with-http_perl_module --with-mail --with-mail_ssl_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --with-ipv6 --with-file-aio --add-module=/opt/rpmbuild/BUILD/nginx-1.0.6/nginx-upstream-fair --add-module=/opt/rpmbuild/BUILD/nginx-1.0.6/nginx-upload-progress-module --add-module=/opt/rpmbuild/BUILD/nginx-1.0.6/mod_zip-1.1.6 --add-module=/opt/rpmbuild/BUILD/nginx-1.0.6/nginx_upload_module-2.2.0 --add-module=/opt/rpmbuild/BUILD/nginx-1.0.6/nginx_mod_h264_streaming-2.2.7 --add-module=/opt/rpmbuild/BUILD/nginx-1.0.6/ngx_http_bytes_filter_module Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221271,221271#msg-221271 From zzz на zzz.org.ua Sun Jan 15 20:55:26 2012 From: zzz на zzz.org.ua (Alexandr Gomoliako) Date: Sun, 15 Jan 2012 22:55:26 +0200 Subject: =?UTF-8?B?UmU6INC90LUg0LzQtdC90Y/QtdGC0YHRjyBwcm94eSBjYWNoZSBrZXk=?= In-Reply-To: <38b69a760274ad0c1ed5f407c01cc3c5.NginxMailingListRussian@forum.nginx.org> References: <38b69a760274ad0c1ed5f407c01cc3c5.NginxMailingListRussian@forum.nginx.org> Message-ID: On Sun, Jan 15, 2012 at 10:45 PM, vovanhost wrote: > баг? Раньше (в nginx < 1.0) помогало > изменение имени кеша. Хорошо, что есть обновление на лету, это как рестарт, но без прерывания http://nginx.org/ru/docs/control.html#upgrade From mdounin на mdounin.ru Sun Jan 15 21:41:50 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 16 Jan 2012 01:41:50 +0400 Subject: =?UTF-8?B?UmU6INC90LUg0LzQtdC90Y/QtdGC0YHRjyBwcm94eSBjYWNoZSBrZXk=?= In-Reply-To: <38b69a760274ad0c1ed5f407c01cc3c5.NginxMailingListRussian@forum.nginx.org> References: <38b69a760274ad0c1ed5f407c01cc3c5.NginxMailingListRussian@forum.nginx.org> Message-ID: <20120115214150.GT67687@mdounin.ru> Hello! On Sun, Jan 15, 2012 at 03:45:22PM -0500, vovanhost wrote: > Доброй ночи. > > Сталкнулся со следующей проблемой: > > По reload не изменяется значение proxy_cache_key. > Создавал новый proxy_cache_path по другому > пути и с новым именем. Nginx все равно > работает со старым. > Если сделать restart, то конечно все > подхватывается. > В чем может быть проблема? Это фича или > баг? Раньше (в nginx < 1.0) помогало > изменение имени кеша. nginx не сможет сделать reload, если в конфиге изменены значения, относящиеся к данным в разделяемой памяти (размер зоны, а равно путь и levels). В чём конкретно проблема - будет написано в error log'е при попытке reload'а. Изменение имени зоны должно по прежнему помогать. Maxim Dounin From yarosla на gmail.com Sun Jan 15 23:05:05 2012 From: yarosla на gmail.com (Yaroslav) Date: Mon, 16 Jan 2012 03:05:05 +0400 Subject: Upstream keepalive (http backend) In-Reply-To: References: <20120103221558.GL67687@mdounin.ru> Message-ID: Здравствуйте, Максим! Созрел аналогичный вопрос по поводу FastCGI. upstream php { server localhost:9000; keepalive 256; } server { ... location ~ \.php$ { root /www/domain.ru/www; fastcgi_index index.php; if (-f $request_filename) { fastcgi_pass php; } } } FastCGI работает, но соединения с бекендом (php-fpm) рвутся после каждого запроса. Как заставить работать в режиме keep-alive? 2012/1/4 Yaroslav > 2012/1/4 Maxim Dounin > >> Hello! >> >> On Wed, Jan 04, 2012 at 12:49:55AM +0400, Yaroslav wrote: >> >> > С Новым годом всем! >> > >> > Подскажите, пожалуйста, как заставить работать соединение с >> http-бекендом в >> > режиме keep-alive? >> > >> > Вычитал в changelog'е, что такая возможность вроде бы появилась, хотя >> тут ( >> > http://wiki.nginx.org/HttpUpstreamKeepaliveModule) все еще написано, >> что >> > модуль вместе с сервером не поставляется и с http пока не работает. >> > >> > Скачал последний (1.1.12) nginx, вижу, что в папке modules >> соответствующий >> > модуль есть, собрал с настройками configure по умолчанию. >> > >> > Написал в nginx.conf: >> > >> > upstream backweb { >> > server localhost:8777; >> > keepalive 512; >> >> Just a side note: а у вас бекенд столько сможет? >> > > Сможет и раз в пять больше. Это nxweb. Экспериментирую. > > >> >> > } >> > >> > server { >> > ... >> > location /test { >> > ssi off; >> > proxy_cache off; >> > proxy_pass http://backweb; >> >> proxy_http_version 1.1; >> proxy_set_header Connection ""; >> >> > } >> > } >> > >> > Конфигурацию принимает, проксирование работает, но к бекенду приходят >> > запросы без keep-alive (GET /test HTTP/1.0). Чего тут не хватает? >> >> См. выше. >> >> > Спасибо! Заработало. > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mdounin на mdounin.ru Sun Jan 15 23:26:26 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 16 Jan 2012 03:26:26 +0400 Subject: Upstream keepalive (http backend) In-Reply-To: References: <20120103221558.GL67687@mdounin.ru> Message-ID: <20120115232625.GU67687@mdounin.ru> Hello! On Mon, Jan 16, 2012 at 03:05:05AM +0400, Yaroslav wrote: > Здравствуйте, Максим! > > Созрел аналогичный вопрос по поводу FastCGI. > > upstream php { > server localhost:9000; > keepalive 256; > } > > server { > ... > location ~ \.php$ { > root /www/domain.ru/www; > fastcgi_index index.php; > if (-f $request_filename) { > fastcgi_pass php; > } > } > } > > FastCGI работает, но соединения с бекендом (php-fpm) рвутся после каждого > запроса. Как заставить работать в режиме keep-alive? Нужно использовать fastcgi_keep_conn on, подробнее см. тут: http://nginx.org/ru/docs/http/ngx_http_upstream_module.html#keepalive http://nginx.org/ru/docs/http/ngx_http_fastcgi_module.html#fastcgi_keep_conn Maxim Dounin > > > 2012/1/4 Yaroslav > > > 2012/1/4 Maxim Dounin > > > >> Hello! > >> > >> On Wed, Jan 04, 2012 at 12:49:55AM +0400, Yaroslav wrote: > >> > >> > С Новым годом всем! > >> > > >> > Подскажите, пожалуйста, как заставить работать соединение с > >> http-бекендом в > >> > режиме keep-alive? > >> > > >> > Вычитал в changelog'е, что такая возможность вроде бы появилась, хотя > >> тут ( > >> > http://wiki.nginx.org/HttpUpstreamKeepaliveModule) все еще написано, > >> что > >> > модуль вместе с сервером не поставляется и с http пока не работает. > >> > > >> > Скачал последний (1.1.12) nginx, вижу, что в папке modules > >> соответствующий > >> > модуль есть, собрал с настройками configure по умолчанию. > >> > > >> > Написал в nginx.conf: > >> > > >> > upstream backweb { > >> > server localhost:8777; > >> > keepalive 512; > >> > >> Just a side note: а у вас бекенд столько сможет? > >> > > > > Сможет и раз в пять больше. Это nxweb. Экспериментирую. > > > > > >> > >> > } > >> > > >> > server { > >> > ... > >> > location /test { > >> > ssi off; > >> > proxy_cache off; > >> > proxy_pass http://backweb; > >> > >> proxy_http_version 1.1; > >> proxy_set_header Connection ""; > >> > >> > } > >> > } > >> > > >> > Конфигурацию принимает, проксирование работает, но к бекенду приходят > >> > запросы без keep-alive (GET /test HTTP/1.0). Чего тут не хватает? > >> > >> См. выше. > >> > >> > > Спасибо! Заработало. > > > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From igor.vavrjin на gmail.com Mon Jan 16 02:52:17 2012 From: igor.vavrjin на gmail.com (Igor Vavrjin) Date: Mon, 16 Jan 2012 09:52:17 +0700 Subject: =?UTF-8?B?UmU6IG5naW54INGB0LLQvtC4INC/0LXRgNC10LzQtdC90L3Ri9C1?= In-Reply-To: References: Message-ID: <4F1390E1.3000903@gmail.com> 16.01.2012 02:18, Aleksandr Sytar пишет: > 15 января 2012 г. 19:35 пользователь "Боня" написал: >> Здравствуйте. Прошу прощение, если >> вопрос уже подымался. Я не нашёл >> ответа. >> >> Задача следующая мне нужно создать >> переменную , а потом при необходимости >> поменять её значение. Следующий код >> конечно не работает, но наглядно >> демонстрирует чего я хочу: >> >> Здравствуйте. >> server { >> ... >> set $rootPath "C:/apach/www"; >> >> location /music/ { >> $rootPath = "D:/www/music"; >> } >> >> location /video/ { >> $rootPath = "D:/www/video"; >> } >> >> location ~* \.(flv|mp3)$ { >> root $dirPath; >> } >> ... >> } >> > Как-то так наверно (на рабочесть не проверялось) > > server { > root "C:/apach/www"; > > location /music/ { > root "D:/www/music"; > location ~* \.(flv|mp3)$ { > .... > } > } > > location /video/ { > root "D:/www/video"; > location ~* \.(flv|mp3)$ { > .... > } > } > } Можно вот так попробовать: set $root "C:/apach/www"; root $root; if ($uri ~* "^/music") { set $root "D:/www/music"; } if ($uri ~* "^/video") { set $root "D:/www/video"; } location ~* \.(flv|mp3)$ { root $root; } Но вот не знаю насколько это вписывается в концепцию nginx. From nginx-forum на nginx.us Mon Jan 16 09:05:34 2012 From: nginx-forum на nginx.us (vovanhost) Date: Mon, 16 Jan 2012 04:05:34 -0500 Subject: =?UTF-8?B?UmU6INC90LUg0LzQtdC90Y/QtdGC0YHRjyBwcm94eSBjYWNoZSBrZXk=?= In-Reply-To: <20120115214150.GT67687@mdounin.ru> References: <20120115214150.GT67687@mdounin.ru> Message-ID: <0134c7416066418c3d79d5342a077455.NginxMailingListRussian@forum.nginx.org> Здравствуйте, Максим. Проблема в том, что изменение имени зоны не помогает. Если с именем зоны поменять и путь, то nginx прекрасно делает reload, но изменения не применяются, а в error.log пусто. Как решить эту проблему? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221273,221286#msg-221286 From igor на sysoev.ru Mon Jan 16 09:53:40 2012 From: igor на sysoev.ru (Igor Sysoev) Date: Mon, 16 Jan 2012 13:53:40 +0400 Subject: =?UTF-8?B?UmU6IG5naW54INGB0LLQvtC4INC/0LXRgNC10LzQtdC90L3Ri9C1?= In-Reply-To: <4F1390E1.3000903@gmail.com> References: <4F1390E1.3000903@gmail.com> Message-ID: <20120116095340.GZ44941@nginx.com> On Mon, Jan 16, 2012 at 09:52:17AM +0700, Igor Vavrjin wrote: > 16.01.2012 02:18, Aleksandr Sytar пишет: > > 15 января 2012 г. 19:35 пользователь "Боня" написал: > >> Здравствуйте. Прошу прощение, если > >> вопрос уже подымался. Я не нашёл > >> ответа. > >> > >> Задача следующая мне нужно создать > >> переменную , а потом при необходимости > >> поменять её значение. Следующий код > >> конечно не работает, но наглядно > >> демонстрирует чего я хочу: > >> > >> Здравствуйте. > >> server { > >> ... > >> set $rootPath "C:/apach/www"; > >> > >> location /music/ { > >> $rootPath = "D:/www/music"; > >> } > >> > >> location /video/ { > >> $rootPath = "D:/www/video"; > >> } > >> > >> location ~* \.(flv|mp3)$ { > >> root $dirPath; > >> } > >> ... > >> } > >> > > Как-то так наверно (на рабочесть не проверялось) > > > > server { > > root "C:/apach/www"; > > > > location /music/ { > > root "D:/www/music"; > > location ~* \.(flv|mp3)$ { > > .... > > } > > } > > > > location /video/ { > > root "D:/www/video"; > > location ~* \.(flv|mp3)$ { > > .... > > } > > } > > } > Можно вот так попробовать: > > set $root "C:/apach/www"; > > root $root; > > if ($uri ~* "^/music") { > set $root "D:/www/music"; > } > > if ($uri ~* "^/video") { > set $root "D:/www/video"; > } > > location ~* \.(flv|mp3)$ { > root $root; > } > > Но вот не знаю насколько это вписывается в концепцию nginx. Очень плохо. "if ($uri ..." означает, что в этом месте должен быть location. -- Igor Sysoev From igor на sysoev.ru Mon Jan 16 09:54:13 2012 From: igor на sysoev.ru (Igor Sysoev) Date: Mon, 16 Jan 2012 13:54:13 +0400 Subject: =?UTF-8?B?UmU6IG5naW54INGB0LLQvtC4INC/0LXRgNC10LzQtdC90L3Ri9C1?= In-Reply-To: References: Message-ID: <20120116095413.GA44941@nginx.com> On Sun, Jan 15, 2012 at 11:32:01AM -0500, Боня wrote: > Vladimir Rusinov Спасибо большое, работает. > > И всё же поповоду переменных. > Как я понял, значение переменной можно > изменить так: > server { > ... > set $rootPath "C:/"; > set $rootPath "D:/"; > set $rootPath "F:/"; > ... > } Можно, только часто этого не нужно. -- Igor Sysoev From nginx-forum на nginx.us Mon Jan 16 11:53:25 2012 From: nginx-forum на nginx.us (Craken) Date: Mon, 16 Jan 2012 06:53:25 -0500 Subject: =?UTF-8?B?UmU6IG5naW54INGB0LLQvtC4INC/0LXRgNC10LzQtdC90L3Ri9C1?= In-Reply-To: References: Message-ID: <02a9d91d14a61990063655fbda090c68.NginxMailingListRussian@forum.nginx.org> Боня, смотря для чего это Вам нужно! Какая именно задача у Вас? Что потом Вы делаете с этой переменной? Если Вы опишите полностью задачу, возможно Вам помогут и подскажут как будет правильно! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221262,221297#msg-221297 From nginx-forum на nginx.us Mon Jan 16 12:47:28 2012 From: nginx-forum на nginx.us (=?UTF-8?Q? =D0=91=D0=BE=D0=BD=D1=8F ?=) Date: Mon, 16 Jan 2012 07:47:28 -0500 Subject: =?UTF-8?B?UmU6IG5naW54INGB0LLQvtC4INC/0LXRgNC10LzQtdC90L3Ri9C1?= In-Reply-To: References: Message-ID: Я уже всё сделал после того как Vladimir Rusinov подсказал как. Получилось как раз как Aleksandr Sytar пример привёл. Всем большое спасибо за помощь! А про переменные потом спросил, что бы в будущем при необходиости никого не беспокоить. Я пытался вот что получить: server { ... #Просто если здесь создать переменную. set $rootPath "C:/"; location /music/ { #Потом здесь поменять её значение, то переменная не изменит своего параметра, а просто создастся новая локальная. set $rootPath "D:/"; #$rootPath "D:/"; Ошибка. #$rootPath = "D:/"; Ошибак. } #Т.е. я хотел что бы уже здесь переменная $rootPath == "D:/", а она всётакже $rootPath == "C:/" ... } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221262,221299#msg-221299 From mdounin на mdounin.ru Mon Jan 16 14:52:51 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 16 Jan 2012 18:52:51 +0400 Subject: =?UTF-8?B?UmU6INC90LUg0LzQtdC90Y/QtdGC0YHRjyBwcm94eSBjYWNoZSBrZXk=?= In-Reply-To: <0134c7416066418c3d79d5342a077455.NginxMailingListRussian@forum.nginx.org> References: <20120115214150.GT67687@mdounin.ru> <0134c7416066418c3d79d5342a077455.NginxMailingListRussian@forum.nginx.org> Message-ID: <20120116145251.GX67687@mdounin.ru> Hello! On Mon, Jan 16, 2012 at 04:05:34AM -0500, vovanhost wrote: > Здравствуйте, Максим. > > Проблема в том, что изменение имени > зоны не помогает. > Если с именем зоны поменять и путь, то > nginx прекрасно делает reload, но изменения > не применяются, а в error.log пусто. > Как решить эту проблему? Как определяется, что reload сделан, но изменения не приняты? Если в error log'е пусто, это может означать, что либо вы смотрите не в тот error log (нужно смотреть в определённый на *глобальном* уровне), либо уровень логгирования задран слишком высоко. Для начала я бы рекомендовал поставить глобальному error log'у уровень логгирования notice, и убедиться, что при reload'е туда попадают соответствующие сообщения о reload'е. Ну и убедиться, что релоад действительно происходит - i.e. старые рабочие процессы завершаются, новые создаются. Maxim Dounin From nginx-forum на nginx.us Mon Jan 16 15:23:21 2012 From: nginx-forum на nginx.us (x00xer) Date: Mon, 16 Jan 2012 10:23:21 -0500 Subject: =?UTF-8?B?0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvQuSDQt9Cw0L/RgNC+0YEsINC/0YA=?= =?UTF-8?B?0Lgg0L7QsdGA0LDRidC10L3QuNC4INC6INGB0YLQsNGC0LjQutC1?= Message-ID: Ищется способ подсчета скачиваний определенного файла. Можно проанализировать логи и по результатам этого получать картину. Но нужно это делать в реал тайме. А анализировать логи в реал тайме совсем не дешевая операция. Было бы здорово если б nginx мог сделать запрос к бэкенду, или выполнить сконфигуренную заранее комманду через шелл. Тогда при каждом обращении к определенному файлу можно было бы получать свежую информацию об этом. Это возможно ? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221309,221309#msg-221309 From swood на fotofor.biz Mon Jan 16 15:40:38 2012 From: swood на fotofor.biz (Anton Kiryushkin) Date: Mon, 16 Jan 2012 19:40:38 +0400 Subject: =?UTF-8?B?UmU6INC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdGL0Lkg0LfQsNC/0YDQvtGBLCA=?= =?UTF-8?B?0L/RgNC4INC+0LHRgNCw0YnQtdC90LjQuCDQuiDRgdGC0LDRgtC40LrQtQ==?= In-Reply-To: References: Message-ID: Посмотрите в сторону lua. 16 января 2012 г. 19:23 пользователь x00xer написал: > Ищется способ подсчета скачиваний > определенного файла. > > Можно проанализировать логи и по > результатам этого получать картину. Но > нужно это делать в реал тайме. > А анализировать логи в реал тайме > совсем не дешевая операция. > > Было бы здорово если б nginx мог сделать > запрос к бэкенду, или выполнить > сконфигуренную заранее комманду через > шелл. > Тогда при каждом обращении к > определенному файлу  можно было бы > получать свежую информацию об этом. > > Это возможно ? > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221309,221309#msg-221309 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Best regards, Anton Kiryushkin, From mdounin на mdounin.ru Mon Jan 16 15:43:39 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 16 Jan 2012 19:43:39 +0400 Subject: =?UTF-8?B?UmU6INC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdGL0Lkg0LfQsNC/0YDQvtGBLCA=?= =?UTF-8?B?0L/RgNC4INC+0LHRgNCw0YnQtdC90LjQuCDQuiDRgdGC0LDRgtC40LrQtQ==?= In-Reply-To: References: Message-ID: <20120116154339.GY67687@mdounin.ru> Hello! On Mon, Jan 16, 2012 at 10:23:21AM -0500, x00xer wrote: > Ищется способ подсчета скачиваний > определенного файла. > > Можно проанализировать логи и по > результатам этого получать картину. Но > нужно это делать в реал тайме. > А анализировать логи в реал тайме > совсем не дешевая операция. > > Было бы здорово если б nginx мог сделать > запрос к бэкенду, или выполнить > сконфигуренную заранее комманду через > шелл. > Тогда при каждом обращении к > определенному файлу можно было бы > получать свежую информацию об этом. Делать запрос к бекенду или выполнять команду - это куда более дорогая операция, чем анализ логов "в реал тайме". Рекомендованный подход - делать как-то так: tail -F /path/to/log | > Это возможно ? Теоретически - есть директива post_action, но это a) грубый хак и б) существенно дороже и куда менее надёжно, чем вышеупомянутая конструкция с анализом логов. Maxim Dounin From mdounin на mdounin.ru Mon Jan 16 16:04:50 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 16 Jan 2012 20:04:50 +0400 Subject: nginx-1.1.13 Message-ID: <20120116160450.GB67687@mdounin.ru> Изменения в nginx 1.1.13 16.01.2012 *) Добавление: параметры TLSv1.1 и TLSv1.2 в директиве ssl_protocols. *) Исправление: параметры директивы limit_req наследовались некорректно; ошибка появилась в 1.1.12. *) Исправление: директива proxy_redirect некорректно обрабатывала заголовк Refresh при использовании регулярных выражений. *) Исправление: директива proxy_cache_use_stale с параметром error не возвращала ответ из кэша, если все бекенды были признаны неработающими. *) Исправление: директива worker_cpu_affinity могла не работать. *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.1.12. *) Исправление: в модуле ngx_http_mp4_module. Maxim Dounin From anton20vlad на mail.ru Mon Jan 16 16:21:02 2012 From: anton20vlad на mail.ru (=?UTF-8?B?QW50b24gTmFnb3JuaXk=?=) Date: Mon, 16 Jan 2012 20:21:02 +0400 Subject: =?UTF-8?B?0JLQvtC/0YDQvtGBINC/0L4gcHJveHlfcGFzcw==?= Message-ID: Всем привет. Вот конфиг: server {     listen *:80;     server_name test100.test.org.ua;     proxy_set_header Host test100.test.org.ua;     location / {         rewrite ^(.*)$ https://test100.test.org.ua$1 permanent;     } } server {     listen 443;     client_max_body_size 20M;     server_name test100.test.org.ua;     access_log /var/log/nginx-access.log;          ssl                  on;     ssl_certificate      /var/sites/test/certs/STAR.crt;     ssl_certificate_key  /var/sites/test/certs/rsa.txt;     ssl_session_timeout  10m;     ssl_protocols  SSLv2 SSLv3 TLSv1;     ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;     ssl_prefer_server_ciphers   on;     location ~* /staticmap {         proxy_pass http://maps.google.com;         proxy_set_header X-Real-IP $remote_addr;     }    ............     location ~* /maps {         proxy_pass http://maps.google.com;         proxy_set_header X-Real-IP $remote_addr;     }         location / {     uwsgi_pass 127.0.0.1:20000;     include uwsgi_params;     } } https://test100.test.org.ua/staticmap?center=48.929232,23.915803&zoom=7&size=169x169&maptype=roadmap&hl=ru&markers=48.929232,23.915803&key=ABQIAAAAdjuQob3sZgFSxuD7BZVo7RTQHxrkcGhVJ9YErQt4UNPyB68Q_RTRSBM7ztEh2vUrYMADpwEXL7LxYA картинка с картой гугл открывается. Если открываю любую страницу сайта (в хроме например), то вижу замочек, с сертификатом всё гуд. Но на странице с картинкой у которой src="<ссылка выше>" хром пишет что не все ресурсы на странице являются безопасными. Более того, сама картинка не открываятся на этой странице(вроде как её там вобще нет) вот лог: 93.75.63.42 - - [16/Jan/2012:17:48:49 +0200] "GET /staticmap?center=48.929232,23.915803&zoom=7&size=169x169&maptype=roadmap&hl=ru&markers=48.929232,23.915803&key=ABQIAAAAdjuQob3sZgFSxuD7BZVo7RTQHxrkcGhVJ9YErQt4UNPyB68Q_RTRSBM7ztEh2vUrYMADpwEXL7LxYA HTTP/1.1" 200 22435 "https://test100.test.org.ua/ru/project/25/" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1" Подскажите может я чего пропустил в настройке location ~* /staticmap? Спасибо -------------- next part -------------- An HTML attachment was scrubbed... URL: From ano на bestmx.ru Mon Jan 16 17:31:46 2012 From: ano на bestmx.ru (Andrey N. Oktyabrski) Date: Mon, 16 Jan 2012 20:31:46 +0300 Subject: =?UTF-8?B?UmU6INC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdGL0Lkg0LfQsNC/0YDQvtGBLCA=?= =?UTF-8?B?0L/RgNC4INC+0LHRgNCw0YnQtdC90LjQuCDQuiDRgdGC0LDRgtC40LrQtQ==?= In-Reply-To: References: Message-ID: <4F145F02.8050903@bestmx.ru> On 16.01.12 18:23, x00xer wrote: > Ищется способ подсчета скачиваний > определенного файла. > > Можно проанализировать логи и по > результатам этого получать картину. Но > нужно это делать в реал тайме. > А анализировать логи в реал тайме > совсем не дешевая операция. > > Было бы здорово если б nginx мог сделать > запрос к бэкенду, или выполнить > сконфигуренную заранее комманду через > шелл. > Тогда при каждом обращении к > определенному файлу можно было бы > получать свежую информацию об этом. > > Это возможно ? - Можно писать отдельный лог сильно упрощённого вида на интересующие locations, и анализировать этот, мЕньший, лог, если основной страшно. - Можно попробовать на perl/lua что-то изобрАзить. - Можно через post_action дёргать счётчик. From nginx-forum на nginx.us Mon Jan 16 18:42:44 2012 From: nginx-forum на nginx.us (vovanhost) Date: Mon, 16 Jan 2012 13:42:44 -0500 Subject: =?UTF-8?B?UmU6INC90LUg0LzQtdC90Y/QtdGC0YHRjyBwcm94eSBjYWNoZSBrZXk=?= In-Reply-To: <20120115214150.GT67687@mdounin.ru> References: <20120115214150.GT67687@mdounin.ru> Message-ID: <7059d392273130f02184a0dfb317a510.NginxMailingListRussian@forum.nginx.org> Доброй ночи, Максим. Манипуляции с proxy_cache_path привели к следующему: В error-логе сообщения о reload появляются(по этому судил о том прошел reload или нет), но рестарта рабочих процессов не происходило(спасибо, что обратили внимание). Соответственно никакие изменения в конфигурации не применялись. Все вылечилось при перезагрузке. Вероятные причины залипания: в процессе манипуляции с proxy_cache_path был указан один путь для двух разных имен кешей, проводились изменения имени кеша и пути вместе и по отдельности. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221273,221319#msg-221319 From nginx-forum на nginx.us Mon Jan 16 18:52:50 2012 From: nginx-forum на nginx.us (vovanhost) Date: Mon, 16 Jan 2012 13:52:50 -0500 Subject: =?UTF-8?B?UmU6INC90LUg0LzQtdC90Y/QtdGC0YHRjyBwcm94eSBjYWNoZSBrZXk=?= In-Reply-To: <7059d392273130f02184a0dfb317a510.NginxMailingListRussian@forum.nginx.org> References: <20120115214150.GT67687@mdounin.ru> <7059d392273130f02184a0dfb317a510.NginxMailingListRussian@forum.nginx.org> Message-ID: <3ce6e9b2ce8547d5a72ed6b6c52b08f7.NginxMailingListRussian@forum.nginx.org> "в error-логе пусто" - имелось ввиду, что нет ошибок связанных с текущим вопросом Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221273,221320#msg-221320 From nginx-forum на nginx.us Mon Jan 16 19:40:37 2012 From: nginx-forum на nginx.us (SoulReaver) Date: Mon, 16 Jan 2012 14:40:37 -0500 Subject: nginx-1.1.13 In-Reply-To: <20120116160450.GB67687@mdounin.ru> References: <20120116160450.GB67687@mdounin.ru> Message-ID: <47947e2a38c99b17dd47f8e267e11393.NginxMailingListRussian@forum.nginx.org> Maxim Dounin Wrote: ------------------------------------------------------- > Изменения в nginx 1.1.13 > 16.01.2012 > > *) Добавление: параметры > TLSv1.1 и TLSv1.2 в директиве > ssl_protocols. > > *) Исправление: параметры > директивы limit_req > наследовались некорректно; > ошибка появилась в 1.1.12. > > *) Исправление: директива > proxy_redirect некорректно > обрабатывала > заголовк Refresh при > использовании регулярных > выражений. > > *) Исправление: директива > proxy_cache_use_stale с параметром > error не > возвращала ответ из > кэша, если все бекенды были > признаны > неработающими. > > *) Исправление: директива > worker_cpu_affinity могла не > работать. > > *) Исправление: nginx не > собирался на Solaris; ошибка > появилась в > 1.1.12. > > *) Исправление: в модуле > ngx_http_mp4_module. > > > Maxim Dounin > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Здравствуйте! На этапе разработки 1.1.13 было запланировано multiple limit_req directives [vbart] . Правильно ли я понимаю, это несколько limit_req на одном уровне? Если да, то когда теперь ждать данный функционал? :) Спасибо. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221315,221322#msg-221322 From nginx-forum на nginx.us Mon Jan 16 20:06:55 2012 From: nginx-forum на nginx.us (x00xer) Date: Mon, 16 Jan 2012 15:06:55 -0500 Subject: =?UTF-8?B?UmU6INC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdGL0Lkg0LfQsNC/0YDQvtGBLCA=?= =?UTF-8?B?0L/RgNC4INC+0LHRgNCw0YnQtdC90LjQuCDQuiDRgdGC0LDRgtC40LrQtQ==?= In-Reply-To: <4F145F02.8050903@bestmx.ru> References: <4F145F02.8050903@bestmx.ru> Message-ID: Дело в том что лог не один. Несколько зипованых логов плюс основной и тд Лги ведь не бесконечны. Прийдется где то хранить промежуточные данные. Продолжать подсчет с определенного места Анализировать логи в Реал тайме для отображения этой информации юзеру кажется задачей совсем не простой. А вот по поводу второго предложеного варианта надо почитать спасибо Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221309,221325#msg-221325 From ne на vbart.ru Mon Jan 16 20:16:05 2012 From: ne на vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Tue, 17 Jan 2012 00:16:05 +0400 Subject: nginx-1.1.13 In-Reply-To: <47947e2a38c99b17dd47f8e267e11393.NginxMailingListRussian@forum.nginx.org> References: <20120116160450.GB67687@mdounin.ru> <47947e2a38c99b17dd47f8e267e11393.NginxMailingListRussian@forum.nginx.org> Message-ID: <201201170016.05599.ne@vbart.ru> On Monday 16 January 2012 23:40:37 SoulReaver wrote: [...] > > На этапе разработки 1.1.13 было > запланировано multiple limit_req directives [vbart] . > Правильно ли я понимаю, это несколько > limit_req на одном уровне? Если да, то когда > теперь ждать данный функционал? :) > Правильно понимаете. Вероятно 1.1.14. -- Валентин Бартенев From boris на dolgov.name Mon Jan 16 20:35:23 2012 From: boris на dolgov.name (Boris Dolgov) Date: Mon, 16 Jan 2012 23:35:23 +0300 Subject: nginx-1.1.13 In-Reply-To: <201201170016.05599.ne@vbart.ru> References: <20120116160450.GB67687@mdounin.ru> <47947e2a38c99b17dd47f8e267e11393.NginxMailingListRussian@forum.nginx.org> <201201170016.05599.ne@vbart.ru> Message-ID: Добрый вечер! 2012/1/17 Валентин Бартенев : >> На этапе разработки 1.1.13 было >> запланировано multiple limit_req directives [vbart] . >> Правильно ли я понимаю, это несколько >> limit_req на одном уровне? Если да, то когда >> теперь ждать данный функционал? :) >> > > Правильно понимаете. Вероятно 1.1.14. Ещё маленький вопрос. В 1.1.14 запланировано "no_follow_symlinks implementation". Эта директива позволит проверять весь путь на то, есть ли в нём части-симлинки, или только последнюю его часть? Откладывается ли реализация или пока всё идёт по плану? -- Boris Dolgov. From mdounin на mdounin.ru Mon Jan 16 21:29:25 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 17 Jan 2012 01:29:25 +0400 Subject: nginx-1.1.13 In-Reply-To: References: <20120116160450.GB67687@mdounin.ru> <47947e2a38c99b17dd47f8e267e11393.NginxMailingListRussian@forum.nginx.org> <201201170016.05599.ne@vbart.ru> Message-ID: <20120116212925.GI67687@mdounin.ru> Hello! On Mon, Jan 16, 2012 at 11:35:23PM +0300, Boris Dolgov wrote: > Добрый вечер! > > 2012/1/17 Валентин Бартенев : > >> На этапе разработки 1.1.13 было > >> запланировано multiple limit_req directives [vbart] . > >> Правильно ли я понимаю, это несколько > >> limit_req на одном уровне? Если да, то когда > >> теперь ждать данный функционал? :) > >> > > > > Правильно понимаете. Вероятно 1.1.14. > > Ещё маленький вопрос. > В 1.1.14 запланировано "no_follow_symlinks implementation". Эта > директива позволит проверять весь путь на то, есть ли в нём > части-симлинки, или только последнюю его часть? Будет полная проверка, с циклом openat() от document root'а. > Откладывается ли реализация или пока всё идёт по плану? Сложно сказать. Maxim Dounin From anton20vlad на mail.ru Mon Jan 16 22:00:05 2012 From: anton20vlad на mail.ru (=?UTF-8?B?QW50b24gTmFnb3JuaXk=?=) Date: Tue, 17 Jan 2012 02:00:05 +0400 Subject: =?UTF-8?B?UmU6INCS0L7Qv9GA0L7RgSDQv9C+IHByb3h5X3Bhc3M=?= In-Reply-To: References: Message-ID: Так с картинками я тупанул, надо было обновить API key google карт. А вот с ошибкой в хроме не могу понять server {     listen *:80;     server_name test100.test.org.ua;     proxy_set_header Host test100.test.org.ua;     location / {         rewrite ^(.*)$ https://test100.test.org.ua$1 permanent;     } } server {     listen 443;     client_max_body_size 20M;     server_name test100.test.org.ua;     access_log /var/log/nginx-access.log;          ssl                  on;     ssl_certificate      /var/sites/test/certs/STAR.crt;     ssl_certificate_key  /var/sites/test/certs/rsa.txt;     ssl_session_timeout  10m;     ssl_protocols  SSLv2 SSLv3 TLSv1;     ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;     ssl_prefer_server_ciphers   on;     location ~* /(css|js|images|media)/ {         rewrite "^/project/(.*)" /$1 break;                 root /var/sites/ubb/htdocs;     } ....................... обращаюсь к любому стилю .css в хроме его видно но пишет, что страница содержит ресурсы, которые являются небезопасными. Может кто-то сталкивался? 16 января 2012, 20:21 от Anton Nagorniy : Всем привет. Вот конфиг: server {     listen *:80;     server_name test100.test.org.ua;     proxy_set_header Host test100.test.org.ua;     location / {         rewrite ^(.*)$ https://test100.test.org.ua$1 permanent;     } } server {     listen 443;     client_max_body_size 20M;     server_name test100.test.org.ua;     access_log /var/log/nginx-access.log;          ssl                  on;     ssl_certificate      /var/sites/test/certs/STAR.crt;     ssl_certificate_key  /var/sites/test/certs/rsa.txt;     ssl_session_timeout  10m;     ssl_protocols  SSLv2 SSLv3 TLSv1;     ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;     ssl_prefer_server_ciphers   on;     location ~* /staticmap {         proxy_pass http://maps.google.com;         proxy_set_header X-Real-IP $remote_addr;     }    ............     location ~* /maps {         proxy_pass http://maps.google.com;         proxy_set_header X-Real-IP $remote_addr;     }         location / {     uwsgi_pass 127.0.0.1:20000;     include uwsgi_params;     } } https://test100.test.org.ua/staticmap?center=48.929232,23.915803&zoom=7&size=169x169&maptype=roadmap&hl=ru&markers=48.929232,23.915803&key=ABQIAAAAdjuQob3sZgFSxuD7BZVo7RTQHxrkcGhVJ9YErQt4UNPyB68Q_RTRSBM7ztEh2vUrYMADpwEXL7LxYA картинка с картой гугл открывается. Если открываю любую страницу сайта (в хроме например), то вижу замочек, с сертификатом всё гуд. Но на странице с картинкой у которой src="<ссылка выше>" хром пишет что не все ресурсы на странице являются безопасными. Более того, сама картинка не открываятся на этой странице(вроде как её там вобще нет) вот лог: 93.75.63.42 - - [16/Jan/2012:17:48:49 +0200] "GET /staticmap?center=48.929232,23.915803&zoom=7&size=169x169&maptype=roadmap&hl=ru&markers=48.929232,23.915803&key=ABQIAAAAdjuQob3sZgFSxuD7BZVo7RTQHxrkcGhVJ9YErQt4UNPyB68Q_RTRSBM7ztEh2vUrYMADpwEXL7LxYA HTTP/1.1" 200 22435 "https://test100.test.org.ua/ru/project/25/" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1" Подскажите может я чего пропустил в настройке location ~* /staticmap? Спасибо _______________________________________________ nginx-ru mailing list nginx-ru на nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru -------------- next part -------------- An HTML attachment was scrubbed... URL: From vromanov на gmail.com Tue Jan 17 04:04:24 2012 From: vromanov на gmail.com (Vladimir Romanov) Date: Tue, 17 Jan 2012 07:04:24 +0300 Subject: Upstream keepalive (http backend) In-Reply-To: References: Message-ID: > Конфигурацию принимает, проксирование работает, но к бекенду приходят > запросы без keep-alive (GET /test HTTP/1.0). Чего тут не хватает? Добавить в Location proxy_set_header Connection Keep-Alive; From ano на bestmx.ru Tue Jan 17 06:32:13 2012 From: ano на bestmx.ru (Andrey N. Oktyabrski) Date: Tue, 17 Jan 2012 09:32:13 +0300 Subject: =?UTF-8?B?UmU6INC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdGL0Lkg0LfQsNC/0YDQvtGBLCA=?= =?UTF-8?B?0L/RgNC4INC+0LHRgNCw0YnQtdC90LjQuCDQuiDRgdGC0LDRgtC40LrQtQ==?= In-Reply-To: References: <4F145F02.8050903@bestmx.ru> Message-ID: <4F1515ED.8050506@bestmx.ru> On 16.01.12 23:06, x00xer wrote: > Дело в том что лог не один. Несколько > зипованых логов плюс основной и тд > Лги ведь не бесконечны. Прийдется где > то хранить промежуточные данные. > Продолжать подсчет с определенного > места > > Анализировать логи в Реал тайме для > отображения этой информации юзеру > кажется задачей совсем не простой. Есть такая хреновина: http://www.hping.org/visitors/ From i.lobahin на nikitaonline.ru Tue Jan 17 07:28:12 2012 From: i.lobahin на nikitaonline.ru (Ilya Lobahin) Date: Tue, 17 Jan 2012 11:28:12 +0400 Subject: =?UTF-8?B?YWNjZXNzX2xvZyDQv9C10YDQtdC+0L/RgNC10LTQtdC70LjRgtGMINGH0LXRgNC1?= =?UTF-8?B?0LcgaWYg0L3QsCDRg9GA0L7QstC90LUgc2VydmVy?= Message-ID: <914945645.20120117112812@nikitaonline.ru> Здравствуйте, коллеги. Пытаюсь сделать так: server { listen ... if ($args ~ coolid){ access_log = /var/log/nginx/special_coolid-access.log } .... } Получаю "access_log" directive is not allowed here Пуркуа? P.S. Основная цель - получить отдельный лог для запросов с coolid в аргументах. -- С уважением, Лобахин Илья From i.lobahin на nikitaonline.ru Tue Jan 17 07:29:49 2012 From: i.lobahin на nikitaonline.ru (Ilya Lobahin) Date: Tue, 17 Jan 2012 11:29:49 +0400 Subject: =?UTF-8?B?UmU6IGFjY2Vzc19sb2cg0L/QtdGA0LXQvtC/0YDQtdC00LXQu9C40YLRjCDRh9C1?= =?UTF-8?B?0YDQtdC3IGlmINC90LAg0YPRgNC+0LLQvdC1IHNlcnZlcg==?= In-Reply-To: <914945645.20120117112812@nikitaonline.ru> References: <914945645.20120117112812@nikitaonline.ru> Message-ID: <9010464319.20120117112949@nikitaonline.ru> Здравствуйте, Ilya. Вы писали 17 января 2012 г., 11:28:12: > Здравствуйте, коллеги. > Пытаюсь сделать так: > server { > listen ... > if ($args ~ coolid){ > access_log = /var/log/nginx/special_coolid-access.log > } > .... > } > Получаю > "access_log" directive is not allowed here > Пуркуа? > P.S. Основная цель - получить отдельный лог для запросов с coolid в > аргументах. Все, углядел в доке. 8-( Почему такое ограничение введено, что if только в локейшене? -- С уважением, Лобахин Илья From sytar.alex на gmail.com Tue Jan 17 07:40:51 2012 From: sytar.alex на gmail.com (Aleksandr Sytar) Date: Tue, 17 Jan 2012 11:40:51 +0400 Subject: =?UTF-8?B?UmU6IGFjY2Vzc19sb2cg0L/QtdGA0LXQvtC/0YDQtdC00LXQu9C40YLRjCDRh9C1?= =?UTF-8?B?0YDQtdC3IGlmINC90LAg0YPRgNC+0LLQvdC1IHNlcnZlcg==?= In-Reply-To: <914945645.20120117112812@nikitaonline.ru> References: <914945645.20120117112812@nikitaonline.ru> Message-ID: 17 января 2012 г. 11:28 пользователь Ilya Lobahin написал: > Здравствуйте, коллеги. > > Пытаюсь сделать так: > server { > listen ... > if ($args ~ coolid){ >   access_log = /var/log/nginx/special_coolid-access.log > } > .... > } > > Получаю > "access_log" directive is not allowed here > > Пуркуа? > > P.S. Основная цель - получить отдельный лог для запросов с coolid в > аргументах. > Добавьте отдельный лог где будет логироваться arg_coolid From nginx-forum на nginx.us Tue Jan 17 07:57:44 2012 From: nginx-forum на nginx.us (x00xer) Date: Tue, 17 Jan 2012 02:57:44 -0500 Subject: =?UTF-8?B?UmU6INC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdGL0Lkg0LfQsNC/0YDQvtGBLCA=?= =?UTF-8?B?0L/RgNC4INC+0LHRgNCw0YnQtdC90LjQuCDQuiDRgdGC0LDRgtC40LrQtQ==?= In-Reply-To: <4F1515ED.8050506@bestmx.ru> References: <4F1515ED.8050506@bestmx.ru> Message-ID: <8364f44e233c9b304c76e634d8323a45.NginxMailingListRussian@forum.nginx.org> Спасибо за ссылку. Но мне то всего нужно подсчитывать сколько раз был скачен определенный(ые) файл(ы). Я просто не хочу с помощью серверного языка отсылать его, а хочу средствами nginx'а их раздавать. Т.е. у пользователся есть урл по которому он может его скачать свободно, но я хочу в реал тайме отображать сколько раз он уже скачан таким образом. Следовательно каждый раз когда запрашивают страницу с отображением кол-ва скачиваний, делать просчет всех лог файлов мутное занятие. Использование софта по ссылке выше врядли поможет, потому как подсчет мне нужен свой и отображение свое. а почему post_action не надежный ? и дорогой ? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221309,221352#msg-221352 From mdounin на mdounin.ru Tue Jan 17 08:33:09 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 17 Jan 2012 12:33:09 +0400 Subject: Upstream keepalive (http backend) In-Reply-To: References: Message-ID: <20120117083309.GM67687@mdounin.ru> Hello! On Tue, Jan 17, 2012 at 07:04:24AM +0300, Vladimir Romanov wrote: > > Конфигурацию принимает, проксирование работает, но к бекенду приходят > > запросы без keep-alive (GET /test HTTP/1.0). Чего тут не хватает? > Добавить в Location > proxy_set_header Connection Keep-Alive; Это не правильный совет. Не надо использовать HTTP/1.0 keep-alives без крайней нужды и понимания последствий. Правильная инструкция доступна тут: http://nginx.org/ru/docs/http/ngx_http_upstream_module.html#keepalive Maxim Dounin From ano на bestmx.ru Tue Jan 17 10:12:20 2012 From: ano на bestmx.ru (Andrey N. Oktyabrski) Date: Tue, 17 Jan 2012 13:12:20 +0300 Subject: =?UTF-8?B?UmU6INC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdGL0Lkg0LfQsNC/0YDQvtGBLCA=?= =?UTF-8?B?0L/RgNC4INC+0LHRgNCw0YnQtdC90LjQuCDQuiDRgdGC0LDRgtC40LrQtQ==?= In-Reply-To: <8364f44e233c9b304c76e634d8323a45.NginxMailingListRussian@forum.nginx.org> References: <4F1515ED.8050506@bestmx.ru> <8364f44e233c9b304c76e634d8323a45.NginxMailingListRussian@forum.nginx.org> Message-ID: <4F154984.7020802@bestmx.ru> On 17.01.12 10:57, x00xer wrote: > Следовательно каждый раз когда > запрашивают страницу с отображением > кол-ва скачиваний, делать просчет всех > лог файлов мутное занятие. Ой... НЕТ! Анализатор лога анализирует лог, считает чего надо, по результатам подсчёта формирует файл, который включается посредством SSI в страницу, на которой отображаются счётчики. Если лог большой, можно ротировать его раз в минуту, сразу напускать на него анализатор и прибавлять полученное значение к предыдущему. From ilya.pirogov на devels.info Tue Jan 17 13:49:28 2012 From: ilya.pirogov на devels.info (=?UTF-8?B?0JjQu9GM0Y8g0J/QuNGA0L7Qs9C+0LI=?=) Date: Tue, 17 Jan 2012 17:49:28 +0400 Subject: =?UTF-8?B?UmU6INC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdGL0Lkg0LfQsNC/0YDQvtGBLCA=?= =?UTF-8?B?0L/RgNC4INC+0LHRgNCw0YnQtdC90LjQuCDQuiDRgdGC0LDRgtC40LrQtQ==?= In-Reply-To: <8364f44e233c9b304c76e634d8323a45.NginxMailingListRussian@forum.nginx.org> References: <4F1515ED.8050506@bestmx.ru> <8364f44e233c9b304c76e634d8323a45.NginxMailingListRussian@forum.nginx.org> Message-ID: 17 января 2012 г. 11:57 пользователь x00xer написал: > Следовательно каждый раз когда > запрашивают страницу с отображением > кол-ва скачиваний, делать просчет всех > лог файлов мутное занятие. Если сделать так, как сказал Maxim Dounin, то просчитывать все логи не придется. К примеру, если счетчики скачиваний лежат в мемкеше, то в простейшем случае скрипт обработки логов может быть такой: #!/bin/bash while read line; do # пример обработки строки из лога URL=$(echo $line | cut -d ' ' -f 7) # инкремент счетчика в memcache echo -e "incr $URL 1\r" | netcat -q 1 localhost 11211 done Соответственно tail -F /path/to/logs | counter.sh будет обрабатывать лог почти в realtime. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на nginx.us Wed Jan 18 08:47:04 2012 From: nginx-forum на nginx.us (x00xer) Date: Wed, 18 Jan 2012 03:47:04 -0500 Subject: =?UTF-8?B?UmU6INC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdGL0Lkg0LfQsNC/0YDQvtGBLCA=?= =?UTF-8?B?0L/RgNC4INC+0LHRgNCw0YnQtdC90LjQuCDQuiDRgdGC0LDRgtC40LrQtQ==?= In-Reply-To: References: Message-ID: <93c3ced2ddcc872babf2c0f7a6403e07.NginxMailingListRussian@forum.nginx.org> можете описать простейший алгоритм реализующий редложенный вариант ? дело в том что скажем есть в мемкеше значение счетчика (20), и предположим при посещении страницы пропарсен текущий лог файл и вычислено что в нем 100 записей. И как нужно изменить теперь значение в мемкеше ? Я себе вижу решение только если в мемкеше хранить кроме значения еще и дату последнего изменения, а из лога вытаскивать только самые свежие записи. но тут вопрос пойдет на секунды, и тут возникает нюанс когда несколько людей может придти в одну и туже секунда к примеру человек 100 как это все посчитается .. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221309,221378#msg-221378 From hell-for-yahoo на umail.ru Wed Jan 18 12:39:25 2012 From: hell-for-yahoo на umail.ru (Andrey Repin) Date: Wed, 18 Jan 2012 16:39:25 +0400 Subject: дополнительный запрос, при обращении к статике In-Reply-To: <93c3ced2ddcc872babf2c0f7a6403e07.NginxMailingListRussian@forum.nginx.org> References: <93c3ced2ddcc872babf2c0f7a6403e07.NginxMailingListRussian@forum.nginx.org> Message-ID: <1761262016.20120118163925@mtu-net.ru> Здравствуйте, Уважаемый(-ая, -ое) x00xer! x> можете описать простейший алгоритм x> реализующий редложенный вариант ? x> дело в том что скажем есть в мемкеше x> значение счетчика (20), и предположим при x> посещении страницы x> пропарсен текущий лог файл и вычислено x> что в нем 100 записей. И как нужно x> изменить теперь значение в мемкеше ? x> Я себе вижу решение только если в x> мемкеше хранить кроме значения еще и x> дату последнего изменения, а из лога x> вытаскивать только самые свежие x> записи. x> но тут вопрос пойдет на секунды, и тут x> возникает нюанс когда несколько людей x> может придти в одну и туже секунда к x> примеру человек 100 как это все x> посчитается .. Пятый раз за топик - НЕ НАДО "парсить лог при посещении". Парсинг лога - одна задача. Показ счётчика - другая задача. Начните уже читать ответы, которые вам пишут люди!!!! -- С уважением Andrey Repin (hell-for-yahoo на umail.ru) среда, 18.01.2012, <16:38> From nginx-forum на nginx.us Wed Jan 18 15:25:11 2012 From: nginx-forum на nginx.us (=?UTF-8?Q? =D0=BA=D0=BE=D0=BB=D0=B1=D0=B0=D1=81=D0=BA=D0=B8=D0=BD ?=) Date: Wed, 18 Jan 2012 10:25:11 -0500 Subject: =?UTF-8?B?bGltaXQgY29ubiDRgNCw0LHQvtGC0LDQtdGCINC90LUg0L3QsCDQstGB0LXRhSA=?= =?UTF-8?B?0YXQvtGB0YLQsNGF?= Message-ID: nginx.conf limit_zone conn_from_one_ip $binary_remote_addr 16m; limit_req_zone $binary_remote_addr zone=lreq:20m rate=2r/s; proxy_cache_path /usr/local/etc/nginx/cache levels=1:2 keys_zone=one:16$ proxy_temp_path /usr/local/etc/nginx/temp; ... include sites/* ; } server { listen 80; server_name site1 ip1; proxy_temp_path /usr/local/etc/nginx/site1; limit_conn conn_from_one_ip 49; server { listen 80; server_name site2 ip3; proxy_temp_path /usr/local/etc/nginx/site2; limit_conn conn_from_one_ip 49; И вот так из 6ти хостов, работает только на 3х Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221395,221395#msg-221395 From nginx-forum на nginx.us Wed Jan 18 18:23:50 2012 From: nginx-forum на nginx.us (=?UTF-8?Q? =D0=BA=D0=BE=D0=BB=D0=B1=D0=B0=D1=81=D0=BA=D0=B8=D0=BD ?=) Date: Wed, 18 Jan 2012 13:23:50 -0500 Subject: =?UTF-8?B?UmU6IGxpbWl0IGNvbiwgbGltaXQgcmVxINC4INC/0YDQvtGH0LDRjyAoZmVhdHVy?= =?UTF-8?B?ZSByZXF1ZXN0KQ==?= In-Reply-To: <201112081658.22051.ne@vbart.ru> References: <201112081658.22051.ne@vbart.ru> Message-ID: <4081aa345e8a05a023bdd7459fb66ebc.NginxMailingListRussian@forum.nginx.org> Если есть возможность добавлять переменные, где мануал почитать? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,219779,221403#msg-221403 From ne на vbart.ru Wed Jan 18 18:30:25 2012 From: ne на vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Wed, 18 Jan 2012 22:30:25 +0400 Subject: =?UTF-8?B?UmU6IGxpbWl0IGNvbiwgbGltaXQgcmVxINC4INC/0YDQvtGH0LDRjyAoZmVhdHVy?= =?UTF-8?B?ZSByZXF1ZXN0KQ==?= In-Reply-To: <4081aa345e8a05a023bdd7459fb66ebc.NginxMailingListRussian@forum.nginx.org> References: <201112081658.22051.ne@vbart.ru> <4081aa345e8a05a023bdd7459fb66ebc.NginxMailingListRussian@forum.nginx.org> Message-ID: <201201182230.25231.ne@vbart.ru> On Wednesday 18 January 2012 22:23:50 колбаскин wrote: > Если есть возможность добавлять > переменные, где мануал почитать? > http://nginx.org/ru/docs/http/ngx_http_rewrite_module.html#set -- Валентин Бартенев From nginx-forum на nginx.us Wed Jan 18 19:26:20 2012 From: nginx-forum на nginx.us (=?UTF-8?Q? =D0=BA=D0=BE=D0=BB=D0=B1=D0=B0=D1=81=D0=BA=D0=B8=D0=BD ?=) Date: Wed, 18 Jan 2012 14:26:20 -0500 Subject: =?UTF-8?B?UmU6IGxpbWl0IGNvbiwgbGltaXQgcmVxINC4INC/0YDQvtGH0LDRjyAoZmVhdHVy?= =?UTF-8?B?ZSByZXF1ZXN0KQ==?= In-Reply-To: References: Message-ID: <420c651801c836222920dc0c35457bd1.NginxMailingListRussian@forum.nginx.org> А почему срабатывают не на всех хостах? http://forum.nginx.org/read.php?21,221395 - я тут спрашивал На одном нормально отрабатывает, на втором нет Нужны ли какие либо модули в nginx для того чтобы работали limit_zone и limit_req ? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,219779,221406#msg-221406 From sytar.alex на gmail.com Wed Jan 18 19:34:18 2012 From: sytar.alex на gmail.com (Aleksander Sytar) Date: Wed, 18 Jan 2012 23:34:18 +0400 Subject: =?UTF-8?B?UmU6IGxpbWl0IGNvbm4g0YDQsNCx0L7RgtCw0LXRgiDQvdC1INC90LAg0LLRgdC1?= =?UTF-8?B?0YUg0YXQvtGB0YLQsNGF?= In-Reply-To: References: Message-ID: <3847C96A-50C0-45C2-8CB1-C4A0B65D5929@gmail.com> 18.01.2012, в 19:25, "колбаскин" написал(а): > nginx.conf > > limit_zone conn_from_one_ip $binary_remote_addr 16m; > limit_req_zone $binary_remote_addr zone=lreq:20m rate=2r/s; > proxy_cache_path /usr/local/etc/nginx/cache levels=1:2 > keys_zone=one:16$ > proxy_temp_path /usr/local/etc/nginx/temp; > > ... > > include sites/* ; > } > > server { > listen 80; > server_name site1 ip1; > proxy_temp_path /usr/local/etc/nginx/site1; > limit_conn conn_from_one_ip 49; > > server { > listen 80; > server_name site2 ip3; > proxy_temp_path /usr/local/etc/nginx/site2; > limit_conn conn_from_one_ip 49; > > И вот так из 6ти хостов, работает только > на 3х > А где видно что не работает? Логи посмотрите From kolesen.a на gmail.com Wed Jan 18 22:24:17 2012 From: kolesen.a на gmail.com (Alexander Kolesen) Date: Thu, 19 Jan 2012 01:24:17 +0300 Subject: =?UTF-8?B?UmU6IGFjY2Vzc19sb2cg0L/QtdGA0LXQvtC/0YDQtdC00LXQu9C40YLRjCDRh9C1?= =?UTF-8?B?0YDQtdC3IGlmINC90LAg0YPRgNC+0LLQvdC1IHNlcnZlcg==?= In-Reply-To: <914945645.20120117112812@nikitaonline.ru> References: <914945645.20120117112812@nikitaonline.ru> Message-ID: <20120118222416.GA22360@macbookpro.wargaming.net> > Здравствуйте, коллеги. > > Пытаюсь сделать так: > server { > listen ... > if ($args ~ coolid){ > access_log = /var/log/nginx/special_coolid-access.log > } > .... > } > > Получаю > "access_log" directive is not allowed here > > Пуркуа? > > P.S. Основная цель - получить отдельный лог для запросов с coolid в > аргументах. Как вариант: map $arg_coolid $access_log { ~^ special_coolid-access.log; default access.log; } server { ... access_log /var/log/nginx/$access_log; ... } Если аргумент coolid присутствует в запросе и не пуст, то логгирование таких запросов будет производиться в special_coolid-access.log. Стоит принимать во внимания особенности, которые перечислены здесь: http://nginx.org/ru/docs/http/ngx_http_log_module.html From vas на mpeks.tomsk.su Thu Jan 19 06:03:15 2012 From: vas на mpeks.tomsk.su (Victor Sudakov) Date: Thu, 19 Jan 2012 13:03:15 +0700 Subject: =?UTF-8?B?bW9kX3JwYWYyINC90LUg0YDQsNCx0L7RgtCw0LXRgj8=?= Message-ID: <20120119060315.GA65591@admin.sibptus.tomsk.ru> Коллеги, Поставил www/mod_rpaf2 к www/apache22 и получаю ошибку при попытке включить модуль: httpd: Syntax error on line 106 of /usr/local/etc/apache22/httpd.conf: Can't locate API module structure `rpaf2_module' in file /usr/local/libexec/apache22/mod_rpaf2.so: Undefined symbol "rpaf2_module" Гугль по запросу "module structure rpaf2_module" ничего не находит. Возможно это слегка оффтопик, но в этом листе наверное есть много пользователей mod_rpaf2, может подскажете что? Или посоветуйте pls другой способ передавать IP адреса клиентов в лог апача. FreeBSD 7.4-RELEASE-p5. $ pkg_info | egrep apache\|rpaf ap22-mod_rpaf2-0.6_1 Make proxied requests appear with client IP apache-2.2.21 Version 2.2.x of Apache web server with prefork MPM. Заранее спасибо. -- Victor Sudakov, VAS4-RIPE, VAS47-RIPN sip:sudakov на sibptus.tomsk.ru From latypoff на yandex.ru Thu Jan 19 06:20:27 2012 From: latypoff на yandex.ru (Denis F. Latypoff) Date: Thu, 19 Jan 2012 13:20:27 +0700 Subject: =?UTF-8?B?UmU6IG1vZF9ycGFmMiDQvdC1INGA0LDQsdC+0YLQsNC10YI/?= In-Reply-To: <20120119060315.GA65591@admin.sibptus.tomsk.ru> References: <20120119060315.GA65591@admin.sibptus.tomsk.ru> Message-ID: <326611326954027@web126.yandex.ru> 19.01.2012, 13:03, "Victor Sudakov" : > Коллеги, > > Поставил www/mod_rpaf2 к www/apache22 и получаю ошибку при попытке > включить модуль: > > httpd: Syntax error on line 106 of /usr/local/etc/apache22/httpd.conf: Can't locate API module structure `rpaf2_module' in file /usr/local/libexec/apache22/mod_rpaf2.so: Undefined symbol "rpaf2_module" LoadModule rpaf_module modules/mod_rpaf-2.0.so > > Гугль по запросу "module structure rpaf2_module" ничего не находит. > Возможно это слегка оффтопик, но в этом листе наверное есть много > пользователей mod_rpaf2, может подскажете что? Или посоветуйте pls > другой способ передавать IP адреса клиентов в лог апача. > > FreeBSD 7.4-RELEASE-p5. > $ pkg_info | egrep apache\|rpaf > ap22-mod_rpaf2-0.6_1 Make proxied requests appear with client IP > apache-2.2.21       Version 2.2.x of Apache web server with prefork MPM. > > Заранее спасибо. > > -- > Victor Sudakov,  VAS4-RIPE, VAS47-RIPN > sip:sudakov на sibptus.tomsk.ru > -- br, Denis F. Latypoff. From rush.zlo на gmail.com Thu Jan 19 06:27:20 2012 From: rush.zlo на gmail.com (=?UTF-8?B?0JXQstCz0LXQvdC40LkgJ1J1c2gnINCd0LXQv9C+0LzQvdGP0YnQuNC5?=) Date: Thu, 19 Jan 2012 10:27:20 +0400 Subject: =?UTF-8?B?UmU6IG1vZF9ycGFmMiDQvdC1INGA0LDQsdC+0YLQsNC10YI/?= In-Reply-To: <326611326954027@web126.yandex.ru> References: <20120119060315.GA65591@admin.sibptus.tomsk.ru> <326611326954027@web126.yandex.ru> Message-ID: Денис он же явно написал что модуль не грузится. Виктор - насколько я помню во FreeBSD нада всё компилять. Вот и перекомпиляйте как то этот модуль, такое ощущение что он от другого апача. 19 января 2012 г. 10:20 пользователь Denis F. Latypoff написал: > mod_rpaf2.so -- Cogito ergo sum From latypoff на yandex.ru Thu Jan 19 06:29:08 2012 From: latypoff на yandex.ru (Denis F. Latypoff) Date: Thu, 19 Jan 2012 13:29:08 +0700 Subject: =?UTF-8?B?UmU6IG1vZF9ycGFmMiDQvdC1INGA0LDQsdC+0YLQsNC10YI/?= In-Reply-To: References: <20120119060315.GA65591@admin.sibptus.tomsk.ru> <326611326954027@web126.yandex.ru> Message-ID: <324601326954548@web142.yandex.ru> 19.01.2012, 13:27, "Евгений 'Rush' Непомнящий" : > Денис он же явно написал что модуль не грузится. > Виктор - насколько я помню во FreeBSD нада всё компилять. Вот и > перекомпиляйте как то этот модуль, такое ощущение что он от другого > апача. Внимательнее: конфиге не mod_rpaf2 а mod_rpaf, а в какой so-шке оно лежит, это уже зависит от дистрибутива/админа. > > 19 января 2012 г. 10:20 пользователь Denis F. Latypoff > написал: > >>  mod_rpaf2.so > -- > Cogito ergo sum -- br, Denis F. Latypoff. From latypoff на yandex.ru Thu Jan 19 06:30:00 2012 From: latypoff на yandex.ru (Denis F. Latypoff) Date: Thu, 19 Jan 2012 13:30:00 +0700 Subject: =?UTF-8?B?UmU6IG1vZF9ycGFmMiDQvdC1INGA0LDQsdC+0YLQsNC10YI/?= In-Reply-To: <324601326954548@web142.yandex.ru> References: <20120119060315.GA65591@admin.sibptus.tomsk.ru> <326611326954027@web126.yandex.ru> <324601326954548@web142.yandex.ru> Message-ID: <329711326954600@web133.yandex.ru> 19.01.2012, 13:29, "Denis F. Latypoff" : > 19.01.2012, 13:27, "Евгений 'Rush' Непомнящий" : > >>  Денис он же явно написал что модуль не грузится. >>  Виктор - насколько я помню во FreeBSD нада всё компилять. Вот и >>  перекомпиляйте как то этот модуль, такое ощущение что он от другого >>  апача. > > Внимательнее: конфиге не mod_rpaf2 а mod_rpaf, а в какой so-шке > оно лежит, это уже зависит от дистрибутива/админа. Тьфу. Не rpaf2_module, а rpaf_module. > >>  19 января 2012 г. 10:20 пользователь Denis F. Latypoff >>   написал: >>>   mod_rpaf2.so >>  -- >>  Cogito ergo sum > -- > br, Denis F. Latypoff. > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- br, Denis F. Latypoff. From vas на mpeks.tomsk.su Thu Jan 19 06:35:42 2012 From: vas на mpeks.tomsk.su (Victor Sudakov) Date: Thu, 19 Jan 2012 13:35:42 +0700 Subject: =?UTF-8?B?UmU6IG1vZF9ycGFmMiDQvdC1INGA0LDQsdC+0YLQsNC10YI/?= In-Reply-To: <20120119060315.GA65591@admin.sibptus.tomsk.ru> References: <20120119060315.GA65591@admin.sibptus.tomsk.ru> Message-ID: <20120119063542.GA66106@admin.sibptus.tomsk.ru> Victor Sudakov wrote: > > Поставил www/mod_rpaf2 к www/apache22 и получаю ошибку при попытке > включить модуль: > > httpd: Syntax error on line 106 of /usr/local/etc/apache22/httpd.conf: Can't locate API module structure `rpaf2_module' in file /usr/local/libexec/apache22/mod_rpaf2.so: Undefined symbol "rpaf2_module" Поизучав вывод "nm -s mod_rpaf2.so", пришёл к заключению, что это make install неправильно формирует строчку для конфига апача. Он пишет LoadModule rpaf2_module libexec/apache22/mod_rpaf2.so а надо бы LoadModule rpaf_module libexec/apache22/mod_rpaf2.so Может кто найдет гуглем моё письмо и сэкономит полчаса. -- Victor Sudakov, VAS4-RIPE, VAS47-RIPN sip:sudakov на sibptus.tomsk.ru From vas на mpeks.tomsk.su Thu Jan 19 08:34:21 2012 From: vas на mpeks.tomsk.su (Victor Sudakov) Date: Thu, 19 Jan 2012 15:34:21 +0700 Subject: =?UTF-8?B?UmU6IG1vZF9ycGFmMiDQvdC1INGA0LDQsdC+0YLQsNC10YI/?= In-Reply-To: <20120119063542.GA66106@admin.sibptus.tomsk.ru> References: <20120119060315.GA65591@admin.sibptus.tomsk.ru> <20120119063542.GA66106@admin.sibptus.tomsk.ru> Message-ID: <20120119083421.GB69097@admin.sibptus.tomsk.ru> Victor Sudakov wrote: > > > > Поставил www/mod_rpaf2 к www/apache22 и получаю ошибку при попытке > > включить модуль: > > > > httpd: Syntax error on line 106 of /usr/local/etc/apache22/httpd.conf: Can't locate API module structure `rpaf2_module' in file /usr/local/libexec/apache22/mod_rpaf2.so: Undefined symbol "rpaf2_module" > > Поизучав вывод "nm -s mod_rpaf2.so", пришёл к заключению, что это make > install неправильно формирует строчку для конфига апача. Он пишет > LoadModule rpaf2_module libexec/apache22/mod_rpaf2.so > а надо бы > LoadModule rpaf_module libexec/apache22/mod_rpaf2.so > > Может кто найдет гуглем моё письмо и сэкономит полчаса. http://www.freebsd.org/cgi/query-pr.cgi?pr=164303 -- Victor Sudakov, VAS4-RIPE, VAS47-RIPN sip:sudakov на sibptus.tomsk.ru From nginx-forum на nginx.us Thu Jan 19 09:26:25 2012 From: nginx-forum на nginx.us (vadlm) Date: Thu, 19 Jan 2012 04:26:25 -0500 Subject: =?UTF-8?B?0JTQtdC60L7QtNC40YDQvtCy0LDQvdC40LUg0YPRgNC70LAu?= Message-ID: Добрый день. Подскажите с такой задачей защиты контента Есть шифрованный урл http://test.server/media/S1uII0zwi%2F1uZ74IWM%2BOztg%2FIDEpMBLw.mp4 После расшифровки получается что-то вроде /media/0001/0001/0001/0001/0524.mp4 и вот теперь надо запроксировать его, к примеру, на другой сервер, получить в ответ контент и выдать юзеру. Т.е. от юзера вся дальнейшая обработка должна быть скрыта (явные редиректы заметные юзеру и т.п. не вполне подходят). С какой стороны к этому подойти? Для тестирования написал модуль дешифровки, связал его с locatin /media - дешифровка ок, выводит в ответ страничку с правильным урлом. но как апстримить или проксить? Не вполне понимаю суть. подскажите плиз. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221437,221437#msg-221437 From nginx-forum на nginx.us Thu Jan 19 09:41:46 2012 From: nginx-forum на nginx.us (=?UTF-8?Q? =D0=BA=D0=BE=D0=BB=D0=B1=D0=B0=D1=81=D0=BA=D0=B8=D0=BD ?=) Date: Thu, 19 Jan 2012 04:41:46 -0500 Subject: =?UTF-8?B?UmU6IGxpbWl0IGNvbm4g0YDQsNCx0L7RgtCw0LXRgiDQvdC1INC90LAg0LLRgdC1?= =?UTF-8?B?0YUg0YXQvtGB0YLQsNGF?= In-Reply-To: <3847C96A-50C0-45C2-8CB1-C4A0B65D5929@gmail.com> References: <3847C96A-50C0-45C2-8CB1-C4A0B65D5929@gmail.com> Message-ID: <8d684ebcc854518bc52517b60eb43793.NginxMailingListRussian@forum.nginx.org> > А где видно что не работает? > Логи посмотрите В том то и дело что когда работает, в логах пишет 2012/01/18 17:00:29 [error] 18712#0: *2092385 limiting connections by zone "conn_from_one_ip", client: x1.19x.1x4.xx, server: xxxxxx.info, request: "GET / HTTP/1.1", host: "xxxxxx.info" а вот на других хостах не работает Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221407,221440#msg-221440 From mdounin на mdounin.ru Thu Jan 19 11:03:16 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Thu, 19 Jan 2012 15:03:16 +0400 Subject: =?UTF-8?B?UmU6INCU0LXQutC+0LTQuNGA0L7QstCw0L3QuNC1INGD0YDQu9CwLg==?= In-Reply-To: References: Message-ID: <20120119110316.GH67687@mdounin.ru> Hello! On Thu, Jan 19, 2012 at 04:26:25AM -0500, vadlm wrote: > Добрый день. > > Подскажите с такой задачей защиты > контента > Есть шифрованный урл > http://test.server/media/S1uII0zwi%2F1uZ74IWM%2BOztg%2FIDEpMBLw.mp4 > После расшифровки получается что-то > вроде /media/0001/0001/0001/0001/0524.mp4 > и вот теперь надо запроксировать его, к > примеру, на другой сервер, получить в > ответ контент и выдать юзеру. > Т.е. от юзера вся дальнейшая обработка > должна быть скрыта (явные редиректы > заметные юзеру и т.п. не вполне > подходят). > > С какой стороны к этому подойти? > Для тестирования написал модуль > дешифровки, связал его с locatin /media - > дешифровка ок, выводит в ответ > страничку с правильным урлом. > но как апстримить или проксить? Не > вполне понимаю суть. подскажите плиз. Я бы рекомендовал как-то так: location /media/ { rewrite ^ $your_decoded_uri break; proxy_pass http://backend; } Переменную $your_decoded_uri - предоставлять модулем. Maxim Dounin From savefrom на gmail.com Thu Jan 19 17:09:26 2012 From: savefrom на gmail.com (SaveFrom.net) Date: Fri, 20 Jan 2012 01:09:26 +0800 Subject: nginx-1.1.13 In-Reply-To: <20120116160450.GB67687@mdounin.ru> References: <20120116160450.GB67687@mdounin.ru> Message-ID: Максим, приветствую. Есть ли в ближайших планах включить патч поддержки переменных в proxy_bindip? 17 января 2012 г. 0:04 пользователь Maxim Dounin написал: > Изменения в nginx 1.1.13 > 16.01.2012 > > *) Добавление: параметры TLSv1.1 и TLSv1.2 в директиве ssl_protocols. > > *) Исправление: параметры директивы limit_req наследовались некорректно; > ошибка появилась в 1.1.12. > > *) Исправление: директива proxy_redirect некорректно обрабатывала > заголовк Refresh при использовании регулярных выражений. > > *) Исправление: директива proxy_cache_use_stale с параметром error не > возвращала ответ из кэша, если все бекенды были признаны > неработающими. > > *) Исправление: директива worker_cpu_affinity могла не работать. > > *) Исправление: nginx не собирался на Solaris; ошибка появилась в > 1.1.12. > > *) Исправление: в модуле ngx_http_mp4_module. > > > Maxim Dounin > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- С уважением, SaveFrom.net. -------------- next part -------------- An HTML attachment was scrubbed... URL: From voron на amhost.net Fri Jan 20 09:51:17 2012 From: voron на amhost.net (Alex Vorona) Date: Fri, 20 Jan 2012 11:51:17 +0200 Subject: =?UTF-8?B?UmU6INCg0LDQt9C90YvQtSBsaW1pdCByZXEgem9uZSDQtNC70Y8g0YDQsNC30L0=?= =?UTF-8?B?0YvRhSAkcmVxdWVzdCBtb3Rob2Q=?= In-Reply-To: <745d213ca37bf7a096b2d2efde2eef4a.NginxMailingListRussian@forum.nginx.org> References: <745d213ca37bf7a096b2d2efde2eef4a.NginxMailingListRussian@forum.nginx.org> Message-ID: <4F193915.6070100@amhost.net> Возможно поможет что-то вроде limit_req_zone $wsgiz zone=wsgi_zone:30m rate=15r/s; location / { set $wsgiz binary_remote_addr; #POST if ($request_method = GET ) { set $wsgiz $binary_remote_addr$remote_port;#add some random data } limit_req zone=wsgi_zone burst=30 nodelay; uwsgi_pass site_one; include uwsgi_params; } From voron на amhost.net Fri Jan 20 10:33:48 2012 From: voron на amhost.net (Alex Vorona) Date: Fri, 20 Jan 2012 12:33:48 +0200 Subject: http keepalive mpm-itk Message-ID: <4F19430C.3080007@amhost.net> Привет, Как себя будет вести nginx с keepalive при запросах на apache mpm-itk, который закрывает keepalive-соединение, если внутри соединения меняется vhost, приводящий к смене UID? С http://mpm-itk.sesse.net/ "if you connect to httpd, make a request and then make a request on the same connection that gets handled by a different uid, mpm-itk simply shuts down the connection. This is perfectly legal according to RFC2616, and all major clients seem to handle it well; the web server simply simulates a timeout, and the client just opens a new connection and retries the request. " From mdounin на mdounin.ru Fri Jan 20 11:35:35 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Fri, 20 Jan 2012 15:35:35 +0400 Subject: http keepalive mpm-itk In-Reply-To: <4F19430C.3080007@amhost.net> References: <4F19430C.3080007@amhost.net> Message-ID: <20120120113535.GA67687@mdounin.ru> Hello! On Fri, Jan 20, 2012 at 12:33:48PM +0200, Alex Vorona wrote: > Привет, > > Как себя будет вести nginx с keepalive при запросах на apache mpm-itk, который закрывает > keepalive-соединение, если внутри соединения меняется vhost, приводящий к смене UID? > > С http://mpm-itk.sesse.net/ > "if you connect to httpd, make a request and then make a request on the same connection > that gets handled by a different uid, mpm-itk simply shuts down the connection. This is > perfectly legal according to RFC2616, and all major clients seem to handle it well; the > web server simply simulates a timeout, and the client just opens a new connection and > retries the request. " Должен пробовать соединиться ещё раз, но там не совсем честно и могут быть проблемы при использовании нескольких бекенд серверов. Maxim Dounin From c.kworr на gmail.com Fri Jan 20 12:29:02 2012 From: c.kworr на gmail.com (Volodymyr Kostyrko) Date: Fri, 20 Jan 2012 14:29:02 +0200 Subject: =?UTF-8?B?bmd4X2h0dHBfdXNlcmlkX21vZHVsZSAtINC90LXRgtC+0YfQvdC+0YHRgtC4INC0?= =?UTF-8?B?0L7QutGD0LzQtdC90YLQsNGG0LjQuCwgY29va2llINC/0YDQtdC00YHQutCw?= =?UTF-8?B?0LfRg9C10Lw=?= Message-ID: <4F195E0E.6060505@gmail.com> Hi all. В документации модуля отсутствует описание userid_mark: синтаксис: userid_mark off | [a-z0-9=]; умолчание: off контекст: http, server, location Директива задаёт первый символ хвоста base64 представления куки. По умолчанию хвост base64 - '=='. "userid_mark A" выдаёт куки, оканчивающиеся на "A=". При этом он перевыдаёт все принятые куки, у которых хвост не такой. Это можно использовать чтобы добавить или поменять P3P или expires. Второе. По идее userid должен уникально идентифицировать каждого пользователя без возможности узнать а кто ещё сейчас чего. На самом деле выдаваемые куки различаются буквально парой байтов. [green] ~> fetch -vvvs http://test/ scheme: [http] user: [] password: [] host: [test] port: [0] document: [/] ---> test:80 looking up test connecting to test:80 requesting http://test/ >>> HEAD / HTTP/1.1 >>> Host: test >>> User-Agent: fetch libfetch/2.0 >>> Connection: close >>> <<< HTTP/1.1 200 OK <<< Server: nginx/1.0.11 <<< Date: Fri, 20 Jan 2012 11:04:18 GMT <<< Content-Type: application/json <<< Connection: close <<< Set-Cookie: uid=wKgIPE8ZSjKvoyMQAwNkAg==; expires=Sat, 19-Jan-13 11:04:18 GMT; path=/ <<< P3P: policyref="/w3c/p3p.xml", CP="NOI CUR ADM PSA OUR STP STA" <<< offset 0, length -1, size -1, clength -1 Unknown [green] ~> fetch -vvvs http://test/ scheme: [http] user: [] password: [] host: [test] port: [0] document: [/] ---> test:80 looking up test connecting to test:80 requesting http://test/ >>> HEAD / HTTP/1.1 >>> Host: test >>> User-Agent: fetch libfetch/2.0 >>> Connection: close >>> <<< HTTP/1.1 200 OK <<< Server: nginx/1.0.11 <<< Date: Fri, 20 Jan 2012 11:04:19 GMT <<< Content-Type: application/json <<< Connection: close <<< Set-Cookie: uid=wKgIPE8ZSjOvoyMQAwNlAg==; expires=Sat, 19-Jan-13 11:04:19 GMT; path=/ <<< P3P: policyref="/w3c/p3p.xml", CP="NOI CUR ADM PSA OUR STP STA" <<< offset 0, length -1, size -1, clength -1 Unknown Т.е. зная во сколько пользователь подключался к сайту можно приблизительно угадать какая у него будет создана сессия. Ну и соответственно в неё вклиниться. Можно вообще мониторить сайт на предмет авторизированных пользователей. -- Sphinx of black quartz judge my vow. From citrin на citrin.ru Fri Jan 20 12:48:06 2012 From: citrin на citrin.ru (Anton Yuzhaninov) Date: Fri, 20 Jan 2012 16:48:06 +0400 Subject: =?UTF-8?B?UmU6IG5neF9odHRwX3VzZXJpZF9tb2R1bGUgLSDQvdC10YLQvtGH0L3QvtGB0YI=?= =?UTF-8?B?0Lgg0LTQvtC60YPQvNC10L3RgtCw0YbQuNC4LCBjb29raWUg0L/RgNC10LQ=?= =?UTF-8?B?0YHQutCw0LfRg9C10Lw=?= In-Reply-To: <4F195E0E.6060505@gmail.com> References: <4F195E0E.6060505@gmail.com> Message-ID: <4F196286.9000207@citrin.ru> On 01/20/12 16:29, Volodymyr Kostyrko wrote: > <<< HTTP/1.1 200 OK > <<< Server: nginx/1.0.11 > <<< Date: Fri, 20 Jan 2012 11:04:19 GMT > <<< Content-Type: application/json > <<< Connection: close > <<< Set-Cookie: uid=wKgIPE8ZSjOvoyMQAwNlAg==; expires=Sat, 19-Jan-13 11:04:19 > GMT; path=/ > <<< P3P: policyref="/w3c/p3p.xml", CP="NOI CUR ADM PSA OUR STP STA" > <<< > offset 0, length -1, size -1, clength -1 > Unknown > > Т.е. зная во сколько пользователь подключался к сайту можно приблизительно > угадать какая у него будет создана сессия. Ну и соответственно в неё вклиниться. > Можно вообще мониторить сайт на предмет авторизированных пользователей. модуль userid создавался совсем не для сессий, и uid использовать как session id плохая идея. В любом случае в этом модуле нет механизма проверки сессий, так что непонятно зачем вообще нужно использовать uid в качестве session id. -- Anton Yuzhaninov From nginx-forum на nginx.us Fri Jan 20 13:13:33 2012 From: nginx-forum на nginx.us (truper) Date: Fri, 20 Jan 2012 08:13:33 -0500 Subject: =?UTF-8?B?0L3QtSDQvtGC0LrQu9C40LrQsNC10YLRgdGPINC30LDQv9C40YHRjCBDbmFtZQ==?= Message-ID: <1f12685af2a55fab8997870d067c66e7.NginxMailingListRussian@forum.nginx.org> Всем привет,добавил запись cname на сайте регистратора домена,а сайт не откликается, nginx стоит поверх apache2 вот конфиг nginx[code]server { listen 80; server_name ow.sdtm.net; access_log /var/log/nginx.access_log; location ~* \.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|xml|docx|xlsx)$ { root /home/ow/www; index index.html index.php; access_log off; expires 30d; } location ~ /\.ht { deny all; } location / { proxy_pass http://127.0.0.1:81/; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-for $remote_addr; proxy_set_header Host $host; proxy_connect_timeout 60; proxy_send_timeout 90; proxy_read_timeout 90; proxy_redirect off; proxy_set_header Connection close; proxy_pass_header Content-Type; proxy_pass_header Content-Disposition; proxy_pass_header Content-Length; } } [/code]Что делать в данном случае? подскажите пожалуйста. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221479,221479#msg-221479 From citrin на citrin.ru Fri Jan 20 13:18:35 2012 From: citrin на citrin.ru (Anton Yuzhaninov) Date: Fri, 20 Jan 2012 17:18:35 +0400 Subject: =?UTF-8?B?UmU6INC90LUg0L7RgtC60LvQuNC60LDQtdGC0YHRjyDQt9Cw0L/QuNGB0YwgQ25h?= =?UTF-8?B?bWU=?= In-Reply-To: <1f12685af2a55fab8997870d067c66e7.NginxMailingListRussian@forum.nginx.org> References: <1f12685af2a55fab8997870d067c66e7.NginxMailingListRussian@forum.nginx.org> Message-ID: <4F1969AB.6030706@citrin.ru> On 01/20/12 17:13, truper wrote: > Всем привет,добавил запись cname на сайте > регистратора домена,а сайт не > откликается, > nginx стоит поверх apache2 1. какой cname был добавлен и что показывает host this_cname действительно ли nginx слушает на данном IP 2. что значит сайт не откликается? connection timeout/refused или есть ответ по http, но не такой как ожидался? Что ожидалось и что наблюдается? -- Anton Yuzhaninov From nginx-forum на nginx.us Fri Jan 20 13:32:03 2012 From: nginx-forum на nginx.us (truper) Date: Fri, 20 Jan 2012 08:32:03 -0500 Subject: =?UTF-8?B?UmU6INC90LUg0L7RgtC60LvQuNC60LDQtdGC0YHRjyDQt9Cw0L/QuNGB0YwgQ25h?= =?UTF-8?B?bWU=?= In-Reply-To: <1f12685af2a55fab8997870d067c66e7.NginxMailingListRussian@forum.nginx.org> References: <1f12685af2a55fab8997870d067c66e7.NginxMailingListRussian@forum.nginx.org> Message-ID: <886a33980221dec978f6938bdf832e47.NginxMailingListRussian@forum.nginx.org> 1.добавленный cname,www.ow CNAME ow.sdtm.net. извините,а куда нужно писать команду "host this_cname"? 2.есть ответ по http,но не работает html и css т.е дизайн вообще умер,т.к вся статика идет на nginx,а динамика на apache2(php и др) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221479,221482#msg-221482 From c.kworr на gmail.com Fri Jan 20 13:29:16 2012 From: c.kworr на gmail.com (Volodymyr Kostyrko) Date: Fri, 20 Jan 2012 15:29:16 +0200 Subject: =?UTF-8?B?UmU6IG5neF9odHRwX3VzZXJpZF9tb2R1bGUgLSDQvdC10YLQvtGH0L3QvtGB0YI=?= =?UTF-8?B?0Lgg0LTQvtC60YPQvNC10L3RgtCw0YbQuNC4LCBjb29raWUg0L/RgNC10LQ=?= =?UTF-8?B?0YHQutCw0LfRg9C10Lw=?= In-Reply-To: <4F196286.9000207@citrin.ru> References: <4F195E0E.6060505@gmail.com> <4F196286.9000207@citrin.ru> Message-ID: <4F196C2C.9040105@gmail.com> Anton Yuzhaninov wrote: > On 01/20/12 16:29, Volodymyr Kostyrko wrote: >> <<< HTTP/1.1 200 OK <<< Server: nginx/1.0.11 <<< Date: Fri, 20 Jan >> 2012 11:04:19 GMT <<< Content-Type: application/json <<< >> Connection: close <<< Set-Cookie: uid=wKgIPE8ZSjOvoyMQAwNlAg==; >> expires=Sat, 19-Jan-13 11:04:19 GMT; path=/ <<< P3P: >> policyref="/w3c/p3p.xml", CP="NOI CUR ADM PSA OUR STP STA" <<< >> offset 0, length -1, size -1, clength -1 Unknown >> >> Т.е. зная во сколько пользователь подключался к сайту можно >> приблизительно угадать какая у него будет создана сессия. Ну и >> соответственно в неё вклиниться. Можно вообще мониторить сайт на >> предмет авторизированных пользователей. > > модуль userid создавался совсем не для сессий, и uid использовать как > session id плохая идея. > > В любом случае в этом модуле нет механизма проверки сессий, так что > непонятно зачем вообще нужно использовать uid в качестве session id. Ладно, тут я прогнал насчёт сессий. Но факт в том что куки могут свободно повторяться, а это уже совсем не похоже на поведение mod_uid. Вот например из доки на mod_uid от апача: ==== Почему не mod_usertrack из поставки Apache Потому что у него есть несколько недостатков: нет гарантий, что двум пользователям не будет выдана одинаковая cookie, хотя конечно включение getpid(), remote_ip и времени до миллисекунд сводит эту вероятность к минимуму нет поддержки многосерверной работы - а в этом случае возможность выдачи одинаковой cookie возрастает в логе хочется иметь возможность видеть и выданную пользователю cookie, причем видеть ее отдельно, mod_usertrack их перемешивает. Хочется иметь "номер сервиса" (см. выше) - чтобы понимать на какой из наших сервисов пользователь зашел при первом своем визите. ==== Может лучше добавить в документацию хотя-бы короткое описание поведения модуля чтобы его не путали по функционалу с mod_uid. Вроде: ==== Модуль ngx_http_userid_module выдаёт сookies для идентификации клиентов. Для записи в лог можно использовать переменные $uid_got и $uid_set. Модуль совместим с модулем mod_uid для Apache, хотя в отличии от mod_uid нет гарантии что двум пользователям не будет выдана одинаковая cookie и нет поддержки многосерверной работы - а в этом случае возможность выдачи одинаковой cookie возрастает. ==== -- Sphinx of black quartz judge my vow. From c.kworr на gmail.com Fri Jan 20 13:31:20 2012 From: c.kworr на gmail.com (Volodymyr Kostyrko) Date: Fri, 20 Jan 2012 15:31:20 +0200 Subject: =?UTF-8?B?UmU6INC90LUg0L7RgtC60LvQuNC60LDQtdGC0YHRjyDQt9Cw0L/QuNGB0YwgQ25h?= =?UTF-8?B?bWU=?= In-Reply-To: <1f12685af2a55fab8997870d067c66e7.NginxMailingListRussian@forum.nginx.org> References: <1f12685af2a55fab8997870d067c66e7.NginxMailingListRussian@forum.nginx.org> Message-ID: <4F196CA8.60601@gmail.com> truper wrote: > Всем привет,добавил запись cname на сайте > регистратора домена,а сайт не > откликается, > nginx стоит поверх apache2 > > вот конфиг nginx[code]server { > listen 80; > server_name ow.sdtm.net; ow.sdtm.net has address 10.164.1.212 Сервер на этом адресе поднят? Это серая сеть, видимость сохраняется? -- Sphinx of black quartz judge my vow. From nginx-forum на nginx.us Fri Jan 20 13:37:19 2012 From: nginx-forum на nginx.us (truper) Date: Fri, 20 Jan 2012 08:37:19 -0500 Subject: =?UTF-8?B?UmU6INC90LUg0L7RgtC60LvQuNC60LDQtdGC0YHRjyDQt9Cw0L/QuNGB0YwgQ25h?= =?UTF-8?B?bWU=?= In-Reply-To: <886a33980221dec978f6938bdf832e47.NginxMailingListRussian@forum.nginx.org> References: <1f12685af2a55fab8997870d067c66e7.NginxMailingListRussian@forum.nginx.org> <886a33980221dec978f6938bdf832e47.NginxMailingListRussian@forum.nginx.org> Message-ID: <3437469e0331dd0acd0b620c654ede6b.NginxMailingListRussian@forum.nginx.org> да именно на этом,это адресе моей локальной сети,сайт откликается при в воде просто ow.sdtm.net Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221479,221485#msg-221485 From igor на sysoev.ru Fri Jan 20 13:39:37 2012 From: igor на sysoev.ru (Igor Sysoev) Date: Fri, 20 Jan 2012 17:39:37 +0400 Subject: =?UTF-8?B?UmU6IG5neF9odHRwX3VzZXJpZF9tb2R1bGUgLSDQvdC10YLQvtGH0L3QvtGB0YI=?= =?UTF-8?B?0Lgg0LTQvtC60YPQvNC10L3RgtCw0YbQuNC4LCBjb29raWUg0L/RgNC10LQ=?= =?UTF-8?B?0YHQutCw0LfRg9C10Lw=?= In-Reply-To: <4F196C2C.9040105@gmail.com> References: <4F195E0E.6060505@gmail.com> <4F196286.9000207@citrin.ru> <4F196C2C.9040105@gmail.com> Message-ID: <20120120133936.GA51182@nginx.com> On Fri, Jan 20, 2012 at 03:29:16PM +0200, Volodymyr Kostyrko wrote: > > Anton Yuzhaninov wrote: > > On 01/20/12 16:29, Volodymyr Kostyrko wrote: > >> <<< HTTP/1.1 200 OK <<< Server: nginx/1.0.11 <<< Date: Fri, 20 Jan > >> 2012 11:04:19 GMT <<< Content-Type: application/json <<< > >> Connection: close <<< Set-Cookie: uid=wKgIPE8ZSjOvoyMQAwNlAg==; > >> expires=Sat, 19-Jan-13 11:04:19 GMT; path=/ <<< P3P: > >> policyref="/w3c/p3p.xml", CP="NOI CUR ADM PSA OUR STP STA" <<< > >> offset 0, length -1, size -1, clength -1 Unknown > >> > >> Т.е. зная во сколько пользователь подключался к сайту можно > >> приблизительно угадать какая у него будет создана сессия. Ну и > >> соответственно в неё вклиниться. Можно вообще мониторить сайт на > >> предмет авторизированных пользователей. > > > > модуль userid создавался совсем не для сессий, и uid использовать как > > session id плохая идея. > > > > В любом случае в этом модуле нет механизма проверки сессий, так что > > непонятно зачем вообще нужно использовать uid в качестве session id. > > Ладно, тут я прогнал насчёт сессий. Но факт в том что куки могут > свободно повторяться, а это уже совсем не похоже на поведение mod_uid. > Вот например из доки на mod_uid от апача: > > ==== > Почему не mod_usertrack из поставки Apache > > Потому что у него есть несколько недостатков: > нет гарантий, что двум пользователям не будет выдана одинаковая cookie, > хотя конечно включение getpid(), remote_ip и времени до миллисекунд > сводит эту вероятность к минимуму > нет поддержки многосерверной работы - а в этом случае возможность выдачи > одинаковой cookie возрастает > в логе хочется иметь возможность видеть и выданную пользователю cookie, > причем видеть ее отдельно, mod_usertrack их перемешивает. > Хочется иметь "номер сервиса" (см. выше) - чтобы понимать на какой из > наших сервисов пользователь зашел при первом своем визите. > ==== > > Может лучше добавить в документацию хотя-бы короткое описание поведения > модуля чтобы его не путали по функционалу с mod_uid. Вроде: > > ==== > Модуль ngx_http_userid_module выдаёт сookies для идентификации клиентов. > Для записи в лог можно использовать переменные $uid_got и $uid_set. > Модуль совместим с модулем mod_uid для Apache, хотя в отличии от mod_uid > нет гарантии что двум пользователям не будет выдана одинаковая cookie и > нет поддержки многосерверной работы - а в этом случае возможность выдачи > одинаковой cookie возрастает. > ==== ngx_http_userid_module формирует куку так же, как mod_uid (за исключением баги c network order в ngx_http_userid_module) плюс к номеру процесса добавляются младшие биты микросекунд во время старта процесса. -- Igor Sysoev From c.kworr на gmail.com Fri Jan 20 13:39:38 2012 From: c.kworr на gmail.com (Volodymyr Kostyrko) Date: Fri, 20 Jan 2012 15:39:38 +0200 Subject: =?UTF-8?B?UmU6INC90LUg0L7RgtC60LvQuNC60LDQtdGC0YHRjyDQt9Cw0L/QuNGB0YwgQ25h?= =?UTF-8?B?bWU=?= In-Reply-To: <886a33980221dec978f6938bdf832e47.NginxMailingListRussian@forum.nginx.org> References: <1f12685af2a55fab8997870d067c66e7.NginxMailingListRussian@forum.nginx.org> <886a33980221dec978f6938bdf832e47.NginxMailingListRussian@forum.nginx.org> Message-ID: <4F196E9A.40804@gmail.com> truper wrote: > 1.добавленный cname,www.ow CNAME ow.sdtm.net. > извините,а куда нужно писать команду > "host this_cname"? ping <имя хоста> Как добавлен CNAME не понял, если имелось в виду www.ow.sdtm.net (www CNAME ow.sdtm.net) то указанный конфиг не будет отвечать на такие запросы, поскольку в нём явно имя сервера прописано ow.sdtm.net. Поменяйте на: server_name .ow.sdtm.net; или server_name ow.sdtm.net www.ow.sdtm.net; > 2.есть ответ по http,но не работает html и css > т.е дизайн вообще умер,т.к вся статика > идет на nginx,а динамика на apache2(php и др) Всё так запутано... Т.е. динамика есть и отдаётся? С какого домена? -- Sphinx of black quartz judge my vow. From nginx-forum на nginx.us Fri Jan 20 14:01:38 2012 From: nginx-forum на nginx.us (4arodej) Date: Fri, 20 Jan 2012 09:01:38 -0500 Subject: RewriteCond in nginx Message-ID: Добрый день! Имеется такой кусочек .htaccess: RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !^kernel/external/.*$ RewriteRule ^(.*)$ index.php?link=$1&%{QUERY_STRING} [L] Правильно ли я понимаю, что его необходимо записать в виде: if (!-e $request_filename) { if ($request_uri = !^kernel/external/.*$){ rewrite ^(.*)$ /index.php?link=$1 break; } } ? При запуске nginx ругается на вторую строку "invalid variable name". Может переменной $request_uri нет в nginx 0.5.33 (ubuntu 8.04 lts) или я туплю под вечер? :) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221488,221488#msg-221488 From nginx-forum на nginx.us Fri Jan 20 14:04:40 2012 From: nginx-forum на nginx.us (truper) Date: Fri, 20 Jan 2012 09:04:40 -0500 Subject: =?UTF-8?B?UmU6INC90LUg0L7RgtC60LvQuNC60LDQtdGC0YHRjyDQt9Cw0L/QuNGB0YwgQ25h?= =?UTF-8?B?bWU=?= In-Reply-To: <3437469e0331dd0acd0b620c654ede6b.NginxMailingListRussian@forum.nginx.org> References: <1f12685af2a55fab8997870d067c66e7.NginxMailingListRussian@forum.nginx.org> <886a33980221dec978f6938bdf832e47.NginxMailingListRussian@forum.nginx.org> <3437469e0331dd0acd0b620c654ede6b.NginxMailingListRussian@forum.nginx.org> Message-ID: действительно,я что-то чушь несу.. динамика откликается с ow.sdtm.net а так,попробывал ваши рекомендации,что-то не помогло Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221479,221489#msg-221489 From igor на sysoev.ru Fri Jan 20 14:06:41 2012 From: igor на sysoev.ru (Igor Sysoev) Date: Fri, 20 Jan 2012 18:06:41 +0400 Subject: RewriteCond in nginx In-Reply-To: References: Message-ID: <20120120140641.GA52552@nginx.com> On Fri, Jan 20, 2012 at 09:01:38AM -0500, 4arodej wrote: > Добрый день! > > Имеется такой кусочек .htaccess: > > RewriteCond %{REQUEST_FILENAME} !-d > RewriteCond %{REQUEST_FILENAME} !-f > RewriteCond %{REQUEST_URI} !^kernel/external/.*$ > RewriteRule ^(.*)$ index.php?link=$1&%{QUERY_STRING} [L] > > Правильно ли я понимаю, что его > необходимо записать в виде: > > if (!-e $request_filename) { > if ($request_uri = !^kernel/external/.*$){ > rewrite ^(.*)$ > /index.php?link=$1 break; > } > } > > ? > > При запуске nginx ругается на вторую > строку "invalid variable name". Может переменной > $request_uri нет в nginx 0.5.33 (ubuntu 8.04 lts) или я > туплю под вечер? :) location /kernel/external { ... } location / { try_files $uri $uri/ /index.php?link=$uri&$args; } -- Igor Sysoev From nginx-forum на nginx.us Fri Jan 20 14:20:44 2012 From: nginx-forum на nginx.us (4arodej) Date: Fri, 20 Jan 2012 09:20:44 -0500 Subject: RewriteCond in nginx In-Reply-To: References: Message-ID: Наверное моя версия сильно устарела: unknown directive "try_files". Попробую ещё на выходных подумать, поэкспериментировать. Спасибо, Игорь! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221488,221491#msg-221491 From nginx-forum на nginx.us Fri Jan 20 15:04:16 2012 From: nginx-forum на nginx.us (truper) Date: Fri, 20 Jan 2012 10:04:16 -0500 Subject: =?UTF-8?B?UmU6INC90LUg0L7RgtC60LvQuNC60LDQtdGC0YHRjyDQt9Cw0L/QuNGB0YwgQ25h?= =?UTF-8?B?bWU=?= In-Reply-To: References: <1f12685af2a55fab8997870d067c66e7.NginxMailingListRussian@forum.nginx.org> <886a33980221dec978f6938bdf832e47.NginxMailingListRussian@forum.nginx.org> <3437469e0331dd0acd0b620c654ede6b.NginxMailingListRussian@forum.nginx.org> Message-ID: <9d7124646f7c408b5055127b58c6b0d4.NginxMailingListRussian@forum.nginx.org> все заработало,спасибо :) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221479,221493#msg-221493 From c.kworr на gmail.com Fri Jan 20 14:20:02 2012 From: c.kworr на gmail.com (Volodymyr Kostyrko) Date: Fri, 20 Jan 2012 16:20:02 +0200 Subject: =?UTF-8?B?UmU6INC90LUg0L7RgtC60LvQuNC60LDQtdGC0YHRjyDQt9Cw0L/QuNGB0YwgQ25h?= =?UTF-8?B?bWU=?= In-Reply-To: References: <1f12685af2a55fab8997870d067c66e7.NginxMailingListRussian@forum.nginx.org> <886a33980221dec978f6938bdf832e47.NginxMailingListRussian@forum.nginx.org> <3437469e0331dd0acd0b620c654ede6b.NginxMailingListRussian@forum.nginx.org> Message-ID: <4F197812.10808@gmail.com> truper wrote: > действительно,я что-то чушь несу.. > динамика откликается с ow.sdtm.net а > так,попробывал ваши > рекомендации,что-то не помогло Попробуйте добавить в server_name тот домен с которого у вас не качается статика. -- Sphinx of black quartz judge my vow. From c.kworr на gmail.com Fri Jan 20 15:17:20 2012 From: c.kworr на gmail.com (Volodymyr Kostyrko) Date: Fri, 20 Jan 2012 17:17:20 +0200 Subject: =?UTF-8?B?UmU6IG5neF9odHRwX3VzZXJpZF9tb2R1bGUgLSDQvdC10YLQvtGH0L3QvtGB0YI=?= =?UTF-8?B?0Lgg0LTQvtC60YPQvNC10L3RgtCw0YbQuNC4LCBjb29raWUg0L/RgNC10LQ=?= =?UTF-8?B?0YHQutCw0LfRg9C10Lw=?= In-Reply-To: <20120120133936.GA51182@nginx.com> References: <4F195E0E.6060505@gmail.com> <4F196286.9000207@citrin.ru> <4F196C2C.9040105@gmail.com> <20120120133936.GA51182@nginx.com> Message-ID: <4F198580.9000002@gmail.com> Igor Sysoev wrote: > ngx_http_userid_module формирует куку так же, как mod_uid (за исключением > баги c network order в ngx_http_userid_module) плюс к номеру процесса > добавляются младшие биты микросекунд во время старта процесса. Ну значит напрасно кипишую. Дока то лаконичная до безобразия... Про $uid_reset тоже ничего не написано, есть подозрение что это тоже зависит от userid_mark... Ещё один глупый вопрос, можно ли получить идентификатор отдельно от его названия? $uid_got/$uid_set содержит с названием вида "uid=foobar", $cookie_uid содержит кодированный и только если у клиента оно уже есть. Первое что приходит в голову: if ($uid_got ~ '^uid=(.*)') { set $uid $1; } if ($uid_set ~ '^uid=(.*)') { set $uid $1; } -- Sphinx of black quartz judge my vow. From nginx-forum на nginx.us Fri Jan 20 15:52:37 2012 From: nginx-forum на nginx.us (=?UTF-8?Q? =D0=BA=D0=BE=D0=BB=D0=B1=D0=B0=D1=81=D0=BA=D0=B8=D0=BD ?=) Date: Fri, 20 Jan 2012 10:52:37 -0500 Subject: =?UTF-8?B?UmU6IGxpbWl0IGNvbm4g0YDQsNCx0L7RgtCw0LXRgiDQvdC1INC90LAg0LLRgdC1?= =?UTF-8?B?0YUg0YXQvtGB0YLQsNGF?= In-Reply-To: <3847C96A-50C0-45C2-8CB1-C4A0B65D5929@gmail.com> References: <3847C96A-50C0-45C2-8CB1-C4A0B65D5929@gmail.com> Message-ID: Может кто напишет почему не работает ограничение? [root на all /usr/home/alex]# nginx -V nginx version: nginx/1.0.11 configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt='-I /usr/local/include' --with-ld-opt='-L /usr/local/lib' --conf-path=/usr/local/etc/nginx/nginx.conf --sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid --error-log-path=/var/log/nginx-error.log --user=www --group=www --with-ipv6 --with-google_perftools_module --http-client-body-temp-path=/var/tmp/nginx/client_body_temp --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp --http-proxy-temp-path=/var/tmp/nginx/proxy_temp --http-scgi-temp-path=/var/tmp/nginx/scgi_temp --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi_temp --http-log-path=/var/log/nginx-access.log --with-http_stub_status_module --with-pcre [root на all /usr/home/alex]# --------------- nginx.conf events { worker_connections 65536; } http { #access_log off; #error_log off; limit_zone conn_from_one_ip $binary_remote_addr 16m; limit_zone conn_from_one_ip_2 $binary_remote_addr 16m; ------------------- server { listen 80; server_name site.ru; proxy_temp_path /usr/local/etc/nginx/site; limit_conn conn_from_one_ip_2 49; location @nocached { Правило не срабатывает Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221407,221496#msg-221496 From ne на vbart.ru Fri Jan 20 16:02:12 2012 From: ne на vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Fri, 20 Jan 2012 20:02:12 +0400 Subject: =?UTF-8?B?UmU6IGxpbWl0IGNvbm4g0YDQsNCx0L7RgtCw0LXRgiDQvdC1INC90LAg0LLRgdC1?= =?UTF-8?B?0YUg0YXQvtGB0YLQsNGF?= In-Reply-To: References: <3847C96A-50C0-45C2-8CB1-C4A0B65D5929@gmail.com> Message-ID: <201201202002.12923.ne@vbart.ru> On Friday 20 January 2012 19:52:37 колбаскин wrote: > Может кто напишет почему не работает > ограничение? > Как вы тестировали? Опишите ваши действия воспроизводящие проблему. -- Валентин Бартенев From nginx-forum на nginx.us Sun Jan 22 18:22:50 2012 From: nginx-forum на nginx.us (Craken) Date: Sun, 22 Jan 2012 13:22:50 -0500 Subject: RewriteCond in nginx In-Reply-To: References: Message-ID: Так а что думать то? Скачайте самую последнюю стабильную версию и Ваша проблема будет решена! Не вижу смысла ничего экспериментировать ))) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221488,221521#msg-221521 From n.g.i.n.x.e.r на gmail.com Sun Jan 22 21:21:45 2012 From: n.g.i.n.x.e.r на gmail.com (=?UTF-8?B?0KDQvtC80LDQvQ==?=) Date: Mon, 23 Jan 2012 00:21:45 +0300 Subject: htaccess -> 404 Message-ID: Вроде бы простая задачка но что то не получается ее реализовать. Есть у меня файлик index.php, на который идут все запросы location / { ... try_files $uri $uri/ /index.php?$uri&$args; } и есть файлик .htaccess Хочу чтобы при запросе к файлу .htaccess выдавалась ошибка 404 сгенерированная в недрах /index.php. попробовал так location ~ /\.(ht) { return 404; } location / { ... error_page 404 = /index.php?$uri&$args; } но не получается. Отдается стандартная страница nginx. Подскажите решение задачки. From mdounin на mdounin.ru Sun Jan 22 21:35:15 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 23 Jan 2012 01:35:15 +0400 Subject: htaccess -> 404 In-Reply-To: References: Message-ID: <20120122213515.GF67687@mdounin.ru> Hello! On Mon, Jan 23, 2012 at 12:21:45AM +0300, Роман wrote: > Вроде бы простая задачка но что то не получается ее реализовать. > > Есть у меня файлик index.php, на который идут все запросы > > > location / { > ... > try_files $uri $uri/ /index.php?$uri&$args; > } > > и есть файлик .htaccess > > Хочу чтобы при запросе к файлу .htaccess выдавалась ошибка 404 > сгенерированная в недрах /index.php. > > > попробовал так > > location ~ /\.(ht) { Just a side note: скобки вокруг "ht" - лишние. > return 404; > } > > location / { > ... > error_page 404 = /index.php?$uri&$args; > } > > > но не получается. > Отдается стандартная страница nginx. > > Подскажите решение задачки. Указывать "error_page 404" надо там, где возникает 404'я ошибка. Или на более высоких уровнях, чтобы в нужное место оно отнаследовалось. В вашем случае 404'я ошибка возникает в "location ~ /\.ht", соответственно нужно указать error_page либо там, либо (что обычно более логично) - на уровне server. error_page 404 ... location / { try_files ... } location ~ /\.ht { return 404; } Maxim Dounin From n.g.i.n.x.e.r на gmail.com Sun Jan 22 21:41:29 2012 From: n.g.i.n.x.e.r на gmail.com (=?UTF-8?B?0KDQvtC80LDQvQ==?=) Date: Mon, 23 Jan 2012 00:41:29 +0300 Subject: htaccess -> 404 In-Reply-To: <20120122213515.GF67687@mdounin.ru> References: <20120122213515.GF67687@mdounin.ru> Message-ID: спасибо. From maxim на nginx.com Mon Jan 23 10:54:47 2012 From: maxim на nginx.com (Maxim Konovalov) Date: Mon, 23 Jan 2012 14:54:47 +0400 Subject: nginx is hiring In-Reply-To: <4E8D6825.1020102@nginx.com> References: <4E8D6825.1020102@nginx.com> Message-ID: <4F1D3C77.9040705@nginx.com> Привет, мы подросли, но рук по-прежнему не хватает. Поэтому опять ищем одного-двух человек в наш коллектив. С учетом предыдущего опыта, пара корректировок к изложенному ниже: - мы пока не научились правильно оформлять на работу граждан СНГ (теория вопроса понятна). Поэтому людей без российского гражданства дергать напрасно не будем. - крайне желательно иметь возможность очной встречи в Москве или окрестностях, куда мы можем, например, приехать на встречу самостоятельно. Остальное все в силе. Максим. On 10/6/11 12:34 PM, Maxim Konovalov wrote: > Привет, > > как многие здесь знают, Игорь открыл компанию, которая занимается > развитием nginx. Мы сейчас ищем толковых программистов, готовых > влиться в нашу небольшую команду. > > Что нужно от вас. > > Первое: опыт профессионального программирования unix/userspace на C > 3-5 лет или лучше, продвинутый/экспертный уровень. Понимание > архитектур современных операционных систем. Владение инструментами > разработки под unix. Уверенные навыки unix user. > > Второе, но не менее важное, чем первое. Понимание, что стартап -- > это не про модные офисы, сказочные опционы и доли, инвесторов и IPO, > быстрый выход в кэш и безбедную пенсию. Это в первую очередь работа, > в нашем случае над уникальным проектом, успех которого зависит от > нас. Это риски, в том числе персональные. > > Штампы про самомотивацию, аккуратность, исполнительность и т.д. > перечислять не буду. > > Условия работы простые: мы платим белую зарплату, строго фултайм > строго в офисе в Москве. Зарплатная вилка, как нам кажется, вполне > конкурентная для рынка. > > Предвосхищая вопросы по поводу удаленки: мы пытаемся привлекать > людей на такой режим работы. Но сейчас речь именно о фултайме в > Москве. > > Ваши соображения, резюме, CV можно отправлять мне лично (не в лист) > на maxim на nginx.com. Или звонить по телефону ниже. > > Спасибо, > > Максим. > -- Maxim Konovalov +7 (910) 4293178 http://nginx.com/ From nginx-forum на nginx.us Mon Jan 23 11:29:00 2012 From: nginx-forum на nginx.us (coramba) Date: Mon, 23 Jan 2012 06:29:00 -0500 Subject: =?UTF-8?B?0LrQtdGI0LjRgNC+0LLQsNC90LjQtSBwaHAg0YHQutGA0LjQv9GC0L7Qsg==?= Message-ID: Приветствую! Сори если вопрос нубский, но перечитав кучу статей решения не нашел. Задача следующая есть php скрипт выдающий png-картику. Актуальность картинки 2-3 часа, после чего надо генерировать новую. Изначально был написан вариант при котором полученная картинка сохранялась в файл, а потом раздавалась nginx'ом как статика. Но такой вариант неудобен тем, что нужно "ручками" удалять полученные файлы каждые три часа. Тогда возникла идея кешировать nginx'ом ответ скрипта на требуемое время. Но реализовать задумку получилось только частично. Работа скрипта явно кешируется (содержимое картинки не меняется в течении срока кеширования), но при этом браузер получает код 200, а не 304 который требуется, и соответственно запрашивает картинку повторно. Подскажите пожалуйста в чем ошибка? фагмент конфига: ==============8<---------------------------------------------------------------- fastcgi_cache_path /var/cache/nginx levels= keys_zone=wholepage:64m; location ~*WoT/(.+)/dogtag.png { ... add_header Cache-Control private; add_header Expires 10m; expires 10m; rewrite ^/WoT/(.+)/dogtag.png$ /WoT/dogtag.php?text=$1; } location ~*WoT/dogtag.php { ... add_header Cache-Control private; add_header Expires 10m; expires 10m; fastcgi_cache wholepage; fastcgi_cache_valid 304 30s; fastcgi_cache_valid any 1m; fastcgi_cache_key "$request_method|$http_if_none_match|$host|$request_uri"; fastcgi_hide_header "Set-Cookie"; fastcgi_ignore_headers "Cache-Control" "Expires"; include /etc/nginx/fastcgi_params; fastcgi_pass unix:/tmp/fastcgi-www-img.socket; } ==============8<---------------------------------------------------------------- Версия nginx 0.8.54 С уважением, Денис Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221536,221536#msg-221536 From nginx-forum на nginx.us Mon Jan 23 12:39:04 2012 From: nginx-forum на nginx.us (xlt) Date: Mon, 23 Jan 2012 07:39:04 -0500 Subject: =?UTF-8?B?0JLQvtC/0YDQvtGB0Ysg0L/QviDRgNCw0LfRgNCw0LHQvtGC0LrQtSDQvNC+0LQ=?= =?UTF-8?B?0YPQu9GP?= Message-ID: Как правильно выделить память из пула для переменной? В первом варианте, не выделяется дополнительно память для ngx_html_code, а во втором вариант для ngx_html_code выделяется всего 8 byte. С с знаком не очень хорошо, прошу сильно не пинать. И второй вопрос, как открыть правильно не блокируемое соединение с другим http сервером, чтобы получить от него данные к примеру в xml формате, и потом распарсерить и на основе этих данных в браузер уже пользователю выбросить результат. Вариант 1: static ngx_int_t ngx_http_gogogo_handler(ngx_http_request_t *r){ // то что выдаем в браузер u_char ngx_html_code[] = "Hello, world!"; // ngx_int_t rc; ngx_buf_t *buf; ngx_chain_t out; rc = ngx_http_discard_request_body(r); if (rc != NGX_OK && rc != NGX_AGAIN){ ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "Failed ngx_http_discard_request_body()"); return rc; } // Если размер параметров больше 0 то, выдаем их в браузер if(r->args.len > 0){ * ngx_html_code = (u_char *) ngx_pcalloc(r->pool, r->args.len + 1); ngx_cpymem(ngx_html_code, r->args.data, r->args.len); } } Вариант 2: static ngx_int_t ngx_http_gogogo_handler(ngx_http_request_t *r){ u_char ngx_hello[] = "Hello, world!"; // ngx_int_t rc; ngx_buf_t *ngx_html_code; // очищаем body-раздел rc = ngx_http_discard_request_body(r); if (rc != NGX_OK && rc != NGX_AGAIN){ ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "Failed ngx_http_discard_request_body()"); return rc; } if(r->args.len > 0){ ngx_html_code = ngx_pcalloc(r->pool, r->args.len + 1); if (ngx_html_code == NULL){ return NGX_HTTP_INTERNAL_SERVER_ERROR; } ngx_cpymem(ngx_html_code, r->args.data, r->args.len); }else{ ngx_html_code = ngx_pcalloc(r->pool, sizeof(ngx_hello)); if (ngx_html_code == NULL){ return NGX_HTTP_INTERNAL_SERVER_ERROR; } ngx_cpymem(ngx_html_code, ngx_hello, sizeof(ngx_hello)); } } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221537,221537#msg-221537 From mdounin на mdounin.ru Mon Jan 23 13:08:26 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 23 Jan 2012 17:08:26 +0400 Subject: =?UTF-8?B?UmU6INC60LXRiNC40YDQvtCy0LDQvdC40LUgcGhwINGB0LrRgNC40L/RgtC+0LI=?= In-Reply-To: References: Message-ID: <20120123130826.GM67687@mdounin.ru> Hello! On Mon, Jan 23, 2012 at 06:29:00AM -0500, coramba wrote: > Приветствую! > > Сори если вопрос нубский, но перечитав > кучу статей решения не нашел. > Задача следующая есть php скрипт > выдающий png-картику. Актуальность > картинки 2-3 часа, после чего надо > генерировать новую. Изначально был > написан вариант при котором полученная > картинка сохранялась в файл, а потом > раздавалась nginx'ом как статика. Но такой > вариант неудобен тем, что нужно > "ручками" удалять полученные файлы > каждые три часа. > > Тогда возникла идея кешировать nginx'ом > ответ скрипта на требуемое время. Но > реализовать задумку получилось только > частично. Работа скрипта явно > кешируется (содержимое картинки не > меняется в течении срока кеширования), > но при этом браузер получает код 200, а не > 304 который требуется, и соответственно > запрашивает картинку повторно. > Подскажите пожалуйста в чем ошибка? Чтобы было 304, надо не забывать отдавать заголовок Last-Modified. Maxim Dounin From nginx-forum на nginx.us Mon Jan 23 14:40:58 2012 From: nginx-forum на nginx.us (coramba) Date: Mon, 23 Jan 2012 09:40:58 -0500 Subject: =?UTF-8?B?UmU6INC60LXRiNC40YDQvtCy0LDQvdC40LUgcGhwINGB0LrRgNC40L/RgtC+0LI=?= In-Reply-To: <20120123130826.GM67687@mdounin.ru> References: <20120123130826.GM67687@mdounin.ru> Message-ID: Оп-па! =) Помогло! Огромное спасибо, Максим! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221536,221540#msg-221540 From nginx-forum на nginx.us Mon Jan 23 14:49:06 2012 From: nginx-forum на nginx.us (coramba) Date: Mon, 23 Jan 2012 09:49:06 -0500 Subject: =?UTF-8?B?UmU6INC60LXRiNC40YDQvtCy0LDQvdC40LUgcGhwINGB0LrRgNC40L/RgtC+0LI=?= In-Reply-To: References: <20120123130826.GM67687@mdounin.ru> Message-ID: <9dae24dbf465f0551380d46acc9bcaee.NginxMailingListRussian@forum.nginx.org> Подсказка Маскима помогла, но теперь появилась другая проблема. При вызове картинки из под FireFox она успешно падает в кеш и отуда раздается всем желающим не зависимо от их браузера в течении всего времени кеширования. НО. Если обратится к этой же картинке из IE или Opera(Mobile) то если есть "кешированая" версия мы получим ее, а если в кеше пусто, то создастся новая, но в кеш она при этом не попадет! В чем может быть затык? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221536,221542#msg-221542 From nginx-forum на nginx.us Mon Jan 23 14:50:21 2012 From: nginx-forum на nginx.us (coramba) Date: Mon, 23 Jan 2012 09:50:21 -0500 Subject: =?UTF-8?B?0LIg0LTQvtCz0L7QvdC60YM6INC60LXRiNC40YDQvtCy0LDQvdC40LUgcGhwINGB?= =?UTF-8?B?0LrRgNC40L/RgtC+0LI=?= In-Reply-To: <9dae24dbf465f0551380d46acc9bcaee.NginxMailingListRussian@forum.nginx.org> References: <20120123130826.GM67687@mdounin.ru> <9dae24dbf465f0551380d46acc9bcaee.NginxMailingListRussian@forum.nginx.org> Message-ID: <1c424f4a1ac799fc4b6699fdd3c43cf5.NginxMailingListRussian@forum.nginx.org> Last Modified отдаю скриптом, если это имеет значение Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221536,221543#msg-221543 From mdounin на mdounin.ru Mon Jan 23 15:03:37 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 23 Jan 2012 19:03:37 +0400 Subject: =?UTF-8?B?UmU6INC60LXRiNC40YDQvtCy0LDQvdC40LUgcGhwINGB0LrRgNC40L/RgtC+0LI=?= In-Reply-To: <9dae24dbf465f0551380d46acc9bcaee.NginxMailingListRussian@forum.nginx.org> References: <20120123130826.GM67687@mdounin.ru> <9dae24dbf465f0551380d46acc9bcaee.NginxMailingListRussian@forum.nginx.org> Message-ID: <20120123150336.GU67687@mdounin.ru> Hello! On Mon, Jan 23, 2012 at 09:49:06AM -0500, coramba wrote: > Подсказка Маскима помогла, но теперь > появилась другая проблема. При вызове > картинки из под FireFox она успешно падает > в кеш и отуда раздается всем желающим > не зависимо от их браузера в течении > всего времени кеширования. НО. Если > обратится к этой же картинке из IE или > Opera(Mobile) то если есть "кешированая" > версия мы получим ее, а если в кеше > пусто, то создастся новая, но в кеш она > при этом не попадет! > В чем может быть затык? Подозреваю, что в fastcgi_ignore_headers нужно добавить Set-Cookie. Ну или поправить бекенд, чтобы не пытался ставить лишнего. Maxim Dounin From nginx-forum на nginx.us Mon Jan 23 15:11:50 2012 From: nginx-forum на nginx.us (coramba) Date: Mon, 23 Jan 2012 10:11:50 -0500 Subject: =?UTF-8?B?UmU6INC60LXRiNC40YDQvtCy0LDQvdC40LUgcGhwINGB0LrRgNC40L/RgtC+0LI=?= In-Reply-To: <20120123150336.GU67687@mdounin.ru> References: <20120123150336.GU67687@mdounin.ru> Message-ID: <8eb365083fabc6ee91164e696e757d24.NginxMailingListRussian@forum.nginx.org> Maxim Dounin Wrote: ------------------------------------------------------- > Hello! > > On Mon, Jan 23, 2012 at 09:49:06AM -0500, coramba > wrote: > > > Подсказка Маскима > помогла, но теперь > > появилась другая > проблема. При вызове > > картинки из под FireFox она > успешно падает > > в кеш и отуда раздается > всем желающим > > не зависимо от их браузера > в течении > > всего времени > кеширования. НО. Если > > обратится к этой же > картинке из IE или > > Opera(Mobile) то если есть > "кешированая" > > версия мы получим ее, а > если в кеше > > пусто, то создастся новая, > но в кеш она > > при этом не попадет! > > В чем может быть затык? > > Подозреваю, что в > fastcgi_ignore_headers нужно добавить > > Set-Cookie. Ну или поправить > бекенд, чтобы не пытался > ставить > лишнего. > > Maxim Dounin Максим, еще один плюс в карму! =) Помогло. Не подскажите ли ссылочку на более развернутую документацию по этой части, что бы избежать дальнейших глупых вопросах. А то в основной доке все весьма лаконично описывается. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221536,221545#msg-221545 From nginx-forum на nginx.us Mon Jan 23 15:15:15 2012 From: nginx-forum на nginx.us (coramba) Date: Mon, 23 Jan 2012 10:15:15 -0500 Subject: =?UTF-8?B?UmU6INC60LXRiNC40YDQvtCy0LDQvdC40LUgcGhwINGB0LrRgNC40L/RgtC+0LI=?= In-Reply-To: <8eb365083fabc6ee91164e696e757d24.NginxMailingListRussian@forum.nginx.org> References: <20120123150336.GU67687@mdounin.ru> <8eb365083fabc6ee91164e696e757d24.NginxMailingListRussian@forum.nginx.org> Message-ID: <60d00a033e8ef8f6d38862316836d650.NginxMailingListRussian@forum.nginx.org> И еще один вопрос, ответ на который в документации я не нашел... При попытке задать размер кеш-зоны хотя бы гиг получаю ошибку > [alert]: mmap(MAP_ANON|MAP_SHARED, 1073741824) failed (12: Cannot allocate memory) Оперативка, на которую, как я понял, жалуется нгинкс на моей VDS действительно тесная, 512m, но ведь кеш хранится на винте? Или я неправильно понял? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221536,221546#msg-221546 From mdounin на mdounin.ru Mon Jan 23 15:23:00 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 23 Jan 2012 19:23:00 +0400 Subject: =?UTF-8?B?UmU6INC60LXRiNC40YDQvtCy0LDQvdC40LUgcGhwINGB0LrRgNC40L/RgtC+0LI=?= In-Reply-To: <8eb365083fabc6ee91164e696e757d24.NginxMailingListRussian@forum.nginx.org> References: <20120123150336.GU67687@mdounin.ru> <8eb365083fabc6ee91164e696e757d24.NginxMailingListRussian@forum.nginx.org> Message-ID: <20120123152300.GV67687@mdounin.ru> Hello! On Mon, Jan 23, 2012 at 10:11:50AM -0500, coramba wrote: [...] > Не подскажите ли ссылочку на более > развернутую документацию по этой > части, что бы избежать дальнейших > глупых вопросах. А то в основной доке > все весьма лаконично описывается. Совсем развёрнутая документация - в исходниках. Нечто чуть более подробное, чем в документации, можно попробовать почитать на wiki (e.g. [1]). Но тут надо иметь ввиду, что информация на wiki не всегда соответствует реальному положению вещей. Так что начинать лучше с внимательного прочтения официальной документации, там большинство вещей если и не расжёвывается подробно, то по крайней мере упоминается. [1] http://wiki.nginx.org/HttpProxyModule#proxy_cache Maxim Dounin From mdounin на mdounin.ru Mon Jan 23 15:24:47 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 23 Jan 2012 19:24:47 +0400 Subject: =?UTF-8?B?UmU6INC60LXRiNC40YDQvtCy0LDQvdC40LUgcGhwINGB0LrRgNC40L/RgtC+0LI=?= In-Reply-To: <60d00a033e8ef8f6d38862316836d650.NginxMailingListRussian@forum.nginx.org> References: <20120123150336.GU67687@mdounin.ru> <8eb365083fabc6ee91164e696e757d24.NginxMailingListRussian@forum.nginx.org> <60d00a033e8ef8f6d38862316836d650.NginxMailingListRussian@forum.nginx.org> Message-ID: <20120123152447.GW67687@mdounin.ru> Hello! On Mon, Jan 23, 2012 at 10:15:15AM -0500, coramba wrote: > И еще один вопрос, ответ на который в > документации я не нашел... > > При попытке задать размер кеш-зоны хотя > бы гиг получаю ошибку > > [alert]: mmap(MAP_ANON|MAP_SHARED, 1073741824) failed (12: Cannot > allocate memory) > > Оперативка, на которую, как я понял, > жалуется нгинкс на моей VDS > действительно тесная, 512m, но ведь кеш > хранится на винте? Или я неправильно > понял? Размер зоны - это именно размер в памяти. Занимаемое место на диске ограничивается с помощью параметра max_size. Подробнее тут: http://nginx.org/ru/docs/http/ngx_http_fastcgi_module.html#fastcgi_cache_path Maxim Dounin From nginx-forum на nginx.us Mon Jan 23 17:10:57 2012 From: nginx-forum на nginx.us (coramba) Date: Mon, 23 Jan 2012 12:10:57 -0500 Subject: =?UTF-8?B?UmU6INC60LXRiNC40YDQvtCy0LDQvdC40LUgcGhwINGB0LrRgNC40L/RgtC+0LI=?= In-Reply-To: References: Message-ID: Принял, спасибо! Ушел курить маны =) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221536,221549#msg-221549 From ss.smok на gmail.com Tue Jan 24 14:26:07 2012 From: ss.smok на gmail.com (Alexander F.) Date: Tue, 24 Jan 2012 17:26:07 +0300 Subject: =?UTF-8?B?0JzQvtC00LjRhNC40LrQsNGG0LjRjyBVUkwg0LIgbmdpbng=?= Message-ID: Приветствую. Есть веб-сервер с nginx, отдающий картинки с бэкенда, URL картинок выглядит как: http://www.server.ru/cache/a1234/100483674_1337085766.jpg Некоторые нехорошие почтовые сервисы при получении письма с такой ссылкой (в контексте html письма) ее модифицируют: ставят либо восклицательный знак, либо знак пробела "%20"; к примеру почтовый сервер libero.it приводят вышеуказанный URL к виду: http://www.server.ru/cache/a1234/100483!674_1337085766.jpg Соответственно, клиенты получают 404, что неприятно. Вопрос: возможно ли средствами nginx вырезать такие символы или их игнорировать, что бы клиенты не получали 404 ошибку. Если возможно реализовать сторонними модулями, буду рад любым наводкам. Спасибо. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From swood на fotofor.biz Tue Jan 24 14:29:17 2012 From: swood на fotofor.biz (Anton Kiryushkin) Date: Tue, 24 Jan 2012 18:29:17 +0400 Subject: =?UTF-8?B?UmU6INCc0L7QtNC40YTQuNC60LDRhtC40Y8gVVJMINCyIG5naW54?= In-Reply-To: References: Message-ID: Смотрите в стороне lua ) 24 января 2012 г. 18:26 пользователь Alexander F. написал: > Приветствую. > Есть веб-сервер с nginx, отдающий картинки с бэкенда, URL картинок выглядит > как: > http://www.server.ru/cache/a1234/100483674_1337085766.jpg > > Некоторые нехорошие почтовые сервисы при получении письма с такой ссылкой (в > контексте html письма) ее модифицируют: ставят либо восклицательный знак, > либо знак пробела "%20"; к примеру почтовый сервер libero.it приводят > вышеуказанный URL к виду: > http://www.server.ru/cache/a1234/100483!674_1337085766.jpg > Соответственно, клиенты получают 404, что неприятно. > > Вопрос: возможно ли средствами nginx вырезать такие символы или их > игнорировать, что бы клиенты не получали 404 ошибку. > Если возможно реализовать сторонними модулями, буду рад любым наводкам. > Спасибо. > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Best regards, Anton Kiryushkin, From ss.smok на gmail.com Tue Jan 24 14:32:46 2012 From: ss.smok на gmail.com (Alexander F.) Date: Tue, 24 Jan 2012 17:32:46 +0300 Subject: =?UTF-8?B?UmU6INCc0L7QtNC40YTQuNC60LDRhtC40Y8gVVJMINCyIG5naW54?= In-Reply-To: References: Message-ID: Спасибо за совет, но, к сожалению, знанием данного языка не обладаю. Возможно есть подобные готовые решения? 2012/1/24 Anton Kiryushkin > Смотрите в стороне lua ) > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mdounin на mdounin.ru Tue Jan 24 14:58:58 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 24 Jan 2012 18:58:58 +0400 Subject: =?UTF-8?B?UmU6INCc0L7QtNC40YTQuNC60LDRhtC40Y8gVVJMINCyIG5naW54?= In-Reply-To: References: Message-ID: <20120124145858.GI67687@mdounin.ru> Hello! On Tue, Jan 24, 2012 at 05:26:07PM +0300, Alexander F. wrote: > Приветствую. > Есть веб-сервер с nginx, отдающий картинки с бэкенда, URL картинок выглядит > как: > http://www.server.ru/cache/a1234/100483674_1337085766.jpg > > Некоторые нехорошие почтовые сервисы при получении письма с такой ссылкой > (в контексте html письма) ее модифицируют: ставят либо восклицательный > знак, либо знак пробела "%20"; к примеру почтовый сервер libero.it приводят > вышеуказанный URL к виду: > http://www.server.ru/cache/a1234/100483!674_1337085766.jpg > Соответственно, клиенты получают 404, что неприятно. Это выглядит как явный и однозначный косяк почтового сервера. Но почему-то я в это не верю, и более вероятным мне представляется косяк при формировании сообщений, e.g. вы формируете слишком длинные строки, которые в результате резбиваются на несколько и собираются обратно неправильно. Возможно, имеет смысл зайти именно с этой стороны, а не городить затычки. > Вопрос: возможно ли средствами nginx вырезать такие символы или их > игнорировать, что бы клиенты не получали 404 ошибку. Вырезать один восклицательный знак можно как-то так: location /cache/ { rewrite ^([!]*)!(.*) $1$2 break; proxy_pass ... } В более общем случае (вырезать всё, что не alphanumeric/slash/dot, до трёх символов) как-то так: location /cache/ { rewrite ^([/a-z0-9.]+).([/a-z0-9.]*) $1$2; rewrite ^([/a-z0-9.]+).([/a-z0-9.]*) $1$2; rewrite ^([/a-z0-9.]+).([/a-z0-9.]*) $1$2; break; proxy_pass ... } Maxim Dounin From ne на vbart.ru Tue Jan 24 15:01:49 2012 From: ne на vbart.ru (=?utf-8?b?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Tue, 24 Jan 2012 19:01:49 +0400 Subject: =?UTF-8?B?UmU6INCc0L7QtNC40YTQuNC60LDRhtC40Y8gVVJMINCyIG5naW54?= In-Reply-To: References: Message-ID: <201201241901.49620.ne@vbart.ru> On Tuesday 24 January 2012 18:26:07 Alexander F. wrote: > Приветствую. > Есть веб-сервер с nginx, отдающий картинки с бэкенда, URL картинок выглядит > как: > http://www.server.ru/cache/a1234/100483674_1337085766.jpg > > Некоторые нехорошие почтовые сервисы при получении письма с такой ссылкой > (в контексте html письма) ее модифицируют: ставят либо восклицательный > знак, либо знак пробела "%20"; к примеру почтовый сервер libero.it приводят > вышеуказанный URL к виду: > http://www.server.ru/cache/a1234/100483!674_1337085766.jpg > Соответственно, клиенты получают 404, что неприятно. > > Вопрос: возможно ли средствами nginx вырезать такие символы или их > игнорировать, что бы клиенты не получали 404 ошибку. > Если возможно реализовать сторонними модулями, буду рад любым наводкам. Можно попробовать обойтись регулярным выражением. location /cache/ { rewrite ^/cache/([^\s!]*)[\s!]([^\s!]*)$ /cache/$1$2 last; } -- Валентин Бартенев From greenh на gmail.com Tue Jan 24 16:19:13 2012 From: greenh на gmail.com (greenh) Date: Tue, 24 Jan 2012 18:19:13 +0200 Subject: =?UTF-8?B?0LzQuNGB0YLQuNGH0LXRgdC60LjQtSDQt9Cw0L/RgNC+0YHRiyDQuCByZXNwb25z?= =?UTF-8?B?ZSA0MDA=?= Message-ID: Добрый день Подскажите плз, в какую сторону смотреть Имеется сервер-балансер на nginx, выполняющий роль api нашего приложения. В качестве клиентов выступают сторонние приложения. И в какой то момент команда разработчиков выяснила, что балансер очень часто отвечает 400. в процессе анализа выяснилось, что 400 отдает именно балансер. а не хосты за ним, и, что характерно, при этом отдает тело ответа но не отдает заголовки, и соответственно клиенты сходят с ума. При анализе логов выяснилось, что часть запросов действительно невалидные (например, вместо адреса - UA) А часть - вполне правильные. Вопрос - можно ли как то положить в лог весь запрос и можно ли включить отдачу заголовков при ответе 400 nginx 0.8.54, ubuntu Спасибо From ss.smok на gmail.com Tue Jan 24 16:23:31 2012 From: ss.smok на gmail.com (Alexander F.) Date: Tue, 24 Jan 2012 19:23:31 +0300 Subject: =?UTF-8?B?UmU6INCc0L7QtNC40YTQuNC60LDRhtC40Y8gVVJMINCyIG5naW54?= In-Reply-To: <201201241901.49620.ne@vbart.ru> References: <201201241901.49620.ne@vbart.ru> Message-ID: Валентин Бартенев, огромное спасибо,Ваш метод подошел. 2012/1/24 Maxim Dounin > Это выглядит как явный и однозначный косяк почтового сервера. Но > почему-то я в это не верю, и более вероятным мне представляется > косяк при формировании сообщений, e.g. вы формируете слишком > длинные строки, которые в результате резбиваются на несколько и > собираются обратно неправильно. Возможно, имеет смысл зайти > именно с этой стороны, а не городить затычки. Эта мысль приходила, пробовали в рассылке делать тег с новой строки, что бы не резалось по длине, однако это не помогло. К счастью, замечена проблема только у достаточно популярного итальянского почтовика и еще одного, подставляющего пробелы, но его подопрем таким же костылем. Всем спасибо за помощь. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From ne на vbart.ru Tue Jan 24 16:52:17 2012 From: ne на vbart.ru (=?utf-8?b?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Tue, 24 Jan 2012 20:52:17 +0400 Subject: =?UTF-8?B?UmU6INCc0L7QtNC40YTQuNC60LDRhtC40Y8gVVJMINCyIG5naW54?= In-Reply-To: References: <201201241901.49620.ne@vbart.ru> Message-ID: <201201242052.17513.ne@vbart.ru> On Tuesday 24 January 2012 20:23:31 Alexander F. wrote: > Валентин Бартенев, огромное спасибо,Ваш метод подошел. Только учтите, что я в своем примере перепутал last с break. -- Валентин Бартенев From ss.smok на gmail.com Tue Jan 24 17:12:26 2012 From: ss.smok на gmail.com (Alexander F.) Date: Tue, 24 Jan 2012 20:12:26 +0300 Subject: =?UTF-8?B?UmU6INCc0L7QtNC40YTQuNC60LDRhtC40Y8gVVJMINCyIG5naW54?= In-Reply-To: <201201242052.17513.ne@vbart.ru> References: <201201241901.49620.ne@vbart.ru> <201201242052.17513.ne@vbart.ru> Message-ID: 2012/1/24 Валентин Бартенев > On Tuesday 24 January 2012 20:23:31 Alexander F. wrote: > > Валентин Бартенев, огромное спасибо,Ваш метод подошел. > > Только учтите, что я в своем примере перепутал last с break. > С учетом того, что в дальнейшем идет другой реврайт, мне подошла директива rewrite; , что в результате фильтрует все имеющиеся восклицательные знаки в url. Если кто столкнется с подобной граблей: rewrite ^/cache/(.*))!(.*)$ /cache/$1$2 redirect; rewrite ^/cache/(.*)/(.*)$ /pictures/p/hp_$1/$2; и в другом локейшене уходит на proxy_pass. Возникла другая проблема - не могу понять как отфильтровать аналогичным образом знак пробела. То есть я думал изначально ловить по %20 , но, знак процента nginx как то воспринимает не так, как нужно. Либо что 404 отдает - не реагирует на присутствие реврайта в url, либо режет почти весь url по любой цифре 20. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From ne на vbart.ru Tue Jan 24 17:32:11 2012 From: ne на vbart.ru (=?utf-8?b?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Tue, 24 Jan 2012 21:32:11 +0400 Subject: =?UTF-8?B?UmU6INCc0L7QtNC40YTQuNC60LDRhtC40Y8gVVJMINCyIG5naW54?= In-Reply-To: References: <201201242052.17513.ne@vbart.ru> Message-ID: <201201242132.11342.ne@vbart.ru> On Tuesday 24 January 2012 21:12:26 Alexander F. wrote: [...] > Возникла другая проблема - не могу понять как отфильтровать аналогичным > образом знак пробела. > То есть я думал изначально ловить по %20 , но, знак процента nginx как то > воспринимает не так, как нужно. Либо что 404 отдает - не реагирует на > присутствие реврайта в url, либо режет почти весь url по любой цифре 20. Вообще-то мой пример как раз ловил пробел и восклицательный знак: [\s!] Поскольку nginx использует уже декодированный URI, то %20 становится символом пробела в буквальном смысле. -- Валентин Бартенев From savefrom на gmail.com Tue Jan 24 19:06:18 2012 From: savefrom на gmail.com (SaveFrom.net) Date: Wed, 25 Jan 2012 03:06:18 +0800 Subject: =?UTF-8?B?UmU6INCd0LUg0YDQsNCx0L7RgtCw0LXRgiBtZXJnZV9zbGFzaGVzIG9mZiDQv9GA?= =?UTF-8?B?0Lgg0YDQtdC00LjRgNC10LrRgtCw0YU=?= In-Reply-To: References: Message-ID: Добрый вечер, Письмо не заметили или это не бага? 15 января 2012 г. 19:35 пользователь SaveFrom.net написал: > Здравствуйте, > > Запрос http://sfrom.net/http://bar > > Ответ http://savefrom.net/http:/bar > > Ожидали http://savefrom.net/http://bar > (пропал слеш в uri) > > Конфиг > server { > listen xxx; > server_name sfrom.net www.sfrom.net; > merge_slashes off; > rewrite '^\/https?:' 'http://savefrom.net$uri?foo' permanent; > rewrite ^ 'http://savefrom.net/http:/$uri?foo' permanent; > } > > > Linux 2.6.18-238.1.1.1.el5 > > nginx: nginx version: nginx/1.1.2 > nginx: built by gcc 4.1.2 20080704 (Red Hat 4.1.2-50) > nginx: TLS SNI support disabled > nginx: configure arguments: --conf-path=/etc/nginx/nginx.conf > --sbin-path=/usr/sbin/nginx --error-log-path=/var/log/nginx/error.log > --http-log-path=/var/log/nginx/access.log > --http-client-body-temp-path=/var/spool/nginx/tmp/client > --http-proxy-temp-path=/var/spool/nginx/tmp/proxy > --http-fastcgi-temp-path=/var/spool/nginx/tmp/fastcgi > --pid-path=/var/run/nginx.pid --user=nginx --group=nginx > --with-http_ssl_module --with-http_gzip_static_module > --with-http_stub_status_module > > -- > С уважением, Антон > -- С уважением, SaveFrom.net. -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum на nginx.us Tue Jan 24 21:04:05 2012 From: nginx-forum на nginx.us (Craken) Date: Tue, 24 Jan 2012 16:04:05 -0500 Subject: =?UTF-8?B?UmU6INC80LjRgdGC0LjRh9C10YHQutC40LUg0LfQsNC/0YDQvtGB0Ysg0LggcmVz?= =?UTF-8?B?cG9uc2UgNDAw?= In-Reply-To: References: Message-ID: <058c155d8fa985246cc9848b733bc40a.NginxMailingListRussian@forum.nginx.org> Добавьте в логирование переменную $request_body и увидите что приходит на nginx Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221575,221592#msg-221592 From hell-for-yahoo на umail.ru Wed Jan 25 01:21:19 2012 From: hell-for-yahoo на umail.ru (Andrey Repin) Date: Wed, 25 Jan 2012 05:21:19 +0400 Subject: Модификация URL в nginx In-Reply-To: References: Message-ID: <39389888.20120125052119@mtu-net.ru> Здравствуйте, Уважаемый(-ая, -ое) Alexander F.! >> Смотрите в стороне lua ) AF> Спасибо за совет, но, к сожалению, знанием данного языка не обладаю. AF> Возможно есть подобные готовые решения? Там знать то нечего, тем более на уровне такого простого реврайта. На худой коснец постите свой код здесь, общественность поможет довести до блеска. Да, и топ-постить тоже не надо. -- С уважением Andrey Repin (hell-for-yahoo на umail.ru) среда, 25.01.2012, <05:20> From thedzhon на gmail.com Wed Jan 25 04:12:17 2012 From: thedzhon на gmail.com (Eugene Mamin) Date: Wed, 25 Jan 2012 08:12:17 +0400 Subject: =?UTF-8?B?RndkOiDQntCx0YDQsNCx0L7RgtC60LAg0LfQsNCz0L7Qu9C+0LLQutC+0LIg0L8=?= =?UTF-8?B?0YDQvtGC0L7QutC+0LvQsCBNZXJjdXJpYWwu?= In-Reply-To: References: Message-ID: Здравствуйте, nginx стоит прокси-сервером для авторизации и перенаправления запросов к локально запущенному сервису mercurial (hg). Столкнулся с проблемой, описанной здесь: http://mercurial.selenic.com/bts/issue3194. Если коротко, то nginx "портит" HTTP заголовки, после чего сервер mercurial обработать запрос корректно не может. Ставил значения директив: ignore_invalid_headers off; underscores_in_headers on; merge_slashes off; но результата не получил. Особо отмечаю, что проблема появилась не так давно, т.е. в работоспособности самой конфигурации сомневаться не приходится. На сервере nginx-1.0.11, ArchLinux. Хотел было залогировать все заголовки, как их видит nginx, но не нашел такой возможности. Могу лишь утверждать, что без nginx сам mercurial работает. Заголовки могут быть примерно такими (вывод лога hg serve): 178.76.212.86 - - [24/Jan/2012 22:20:38] "GET /concorde?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D0b75949a12b936df4c501b0b890211f29662e048 178.76.212.86 - - [24/Jan/2012 22:20:39] "GET /concorde?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks. Есть ли возможность обеспечить передачу заголовков на апстрим без каких-либо модификаций и изменений со стороны nginx ? С уважением, Евгений Мамин. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From ano на bestmx.ru Wed Jan 25 06:13:25 2012 From: ano на bestmx.ru (Andrey N. Oktyabrski) Date: Wed, 25 Jan 2012 09:13:25 +0300 Subject: =?UTF-8?B?UmU6IEZ3ZDog0J7QsdGA0LDQsdC+0YLQutCwINC30LDQs9C+0LvQvtCy0LrQvtCy?= =?UTF-8?B?INC/0YDQvtGC0L7QutC+0LvQsCBNZXJjdXJpYWwu?= In-Reply-To: References: Message-ID: <4F1F9D85.2010208@bestmx.ru> On 25.01.12 07:12, Eugene Mamin wrote: > Могу лишь утверждать, что без nginx сам mercurial работает. А он и с nginx работает: ### Mercurial ### server { listen 3443; server_name hg.bestmx.ru; ssl on; ssl_certificate server.crt; ssl_certificate_key server.key; ssl_protocols SSLv2 SSLv3 TLSv1; ssl_prefer_server_ciphers on; auth_basic "Mercurial"; auth_basic_user_file /path/to/hg.passwd; location / { proxy_pass http://127.0.0.1:8765; proxy_set_header X-Url-Scheme $scheme; proxy_buffering off; } } From thedzhon на gmail.com Wed Jan 25 05:24:50 2012 From: thedzhon на gmail.com (Eugene Mamin) Date: Wed, 25 Jan 2012 09:24:50 +0400 Subject: =?UTF-8?B?UmU6IEZ3ZDog0J7QsdGA0LDQsdC+0YLQutCwINC30LDQs9C+0LvQvtCy0LrQvtCy?= =?UTF-8?B?INC/0YDQvtGC0L7QutC+0LvQsCBNZXJjdXJpYWwu?= In-Reply-To: <4F1F9D85.2010208@bestmx.ru> References: <4F1F9D85.2010208@bestmx.ru> Message-ID: 2012/1/25 Andrey N. Oktyabrski > On 25.01.12 07:12, Eugene Mamin wrote: > >> Могу лишь утверждать, что без nginx сам mercurial работает. >> > А он и с nginx работает: > Привел конфигурацию к такому виду: http://pastebin.com/TNvKpEgp Как следствие, получаю все тот же результат: D:\Projects\CMaked\concorde>hg pull --debug using http://hg.dzhon.in/concorde sending capabilities command pulling from http://hg.dzhon.in/concorde query 1; heads sending batch command abort: HTTP Error 500: Internal Server Error Важно отметить, что это происходит только если клиентской машиной является Windows. Но опять же, убираем посредника nginx и все работает. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From ru на nginx.com Wed Jan 25 06:46:46 2012 From: ru на nginx.com (Ruslan Ermilov) Date: Wed, 25 Jan 2012 06:46:46 +0000 Subject: =?UTF-8?B?UmU6IEZ3ZDog0J7QsdGA0LDQsdC+0YLQutCwINC30LDQs9C+0LvQvtCy0LrQvtCy?= =?UTF-8?B?INC/0YDQvtGC0L7QutC+0LvQsCBNZXJjdXJpYWwu?= In-Reply-To: References: <4F1F9D85.2010208@bestmx.ru> Message-ID: <20120125064646.GB83139@lo0.su> On Wed, Jan 25, 2012 at 09:24:50AM +0400, Eugene Mamin wrote: > 2012/1/25 Andrey N. Oktyabrski > > > On 25.01.12 07:12, Eugene Mamin wrote: > > > >> Могу лишь утверждать, что без nginx сам mercurial работает. > >> > > А он и с nginx работает: > > > > Привел конфигурацию к такому виду: > http://pastebin.com/TNvKpEgp > > Как следствие, получаю все тот же результат: > D:\Projects\CMaked\concorde>hg pull --debug > using http://hg.dzhon.in/concorde > sending capabilities command > pulling from http://hg.dzhon.in/concorde > query 1; heads > sending batch command > abort: HTTP Error 500: Internal Server Error > > Важно отметить, что это происходит только если клиентской машиной является > Windows. Но опять же, убираем посредника nginx и все работает. Было бы здорово увидеть заголовки до и после nginx. Тогда сразу бы стало понятно, в чём разница. Можно это сделать через tcpdump или wireshark на стороне Linux, или же средствами самого nginx. Если отлаживать средствами nginx, то отладочный лог лучше будет включить только для соединений с проблемным Windows-хостом. Как это сделать, написано тут: http://nginx.org/ru/docs/debugging_log.html From thedzhon на gmail.com Wed Jan 25 07:15:04 2012 From: thedzhon на gmail.com (Eugene Mamin) Date: Wed, 25 Jan 2012 11:15:04 +0400 Subject: =?UTF-8?B?UmU6IEZ3ZDog0J7QsdGA0LDQsdC+0YLQutCwINC30LDQs9C+0LvQvtCy0LrQvtCy?= =?UTF-8?B?INC/0YDQvtGC0L7QutC+0LvQsCBNZXJjdXJpYWwu?= In-Reply-To: <20120125064646.GB83139@lo0.su> References: <4F1F9D85.2010208@bestmx.ru> <20120125064646.GB83139@lo0.su> Message-ID: Вот лог самого nginx (нас интересует ?cmd=batch): http://ftp.dzhon.in/nginx_error.log Вот лог tcpdump -A 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)': http://ftp.dzhon.in/nginx_dump 2012/1/25 Ruslan Ermilov > On Wed, Jan 25, 2012 at 09:24:50AM +0400, Eugene Mamin wrote: > > 2012/1/25 Andrey N. Oktyabrski > > > > > On 25.01.12 07:12, Eugene Mamin wrote: > > > > > >> Могу лишь утверждать, что без nginx сам mercurial работает. > > >> > > > А он и с nginx работает: > > > > > > > Привел конфигурацию к такому виду: > > http://pastebin.com/TNvKpEgp > > > > Как следствие, получаю все тот же результат: > > D:\Projects\CMaked\concorde>hg pull --debug > > using http://hg.dzhon.in/concorde > > sending capabilities command > > pulling from http://hg.dzhon.in/concorde > > query 1; heads > > sending batch command > > abort: HTTP Error 500: Internal Server Error > > > > Важно отметить, что это происходит только если клиентской машиной > является > > Windows. Но опять же, убираем посредника nginx и все работает. > > Было бы здорово увидеть заголовки до и после nginx. > Тогда сразу бы стало понятно, в чём разница. > Можно это сделать через tcpdump или wireshark на > стороне Linux, или же средствами самого nginx. > > Если отлаживать средствами nginx, то отладочный лог > лучше будет включить только для соединений с проблемным > Windows-хостом. Как это сделать, написано тут: > http://nginx.org/ru/docs/debugging_log.html > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From onokonem на gmail.com Wed Jan 25 08:26:43 2012 From: onokonem на gmail.com (Daniel Podolsky) Date: Wed, 25 Jan 2012 12:26:43 +0400 Subject: =?UTF-8?B?UmU6IEZ3ZDog0J7QsdGA0LDQsdC+0YLQutCwINC30LDQs9C+0LvQvtCy0LrQvtCy?= =?UTF-8?B?INC/0YDQvtGC0L7QutC+0LvQsCBNZXJjdXJpYWwu?= In-Reply-To: References: <4F1F9D85.2010208@bestmx.ru> <20120125064646.GB83139@lo0.su> Message-ID: > Вот лог самого nginx (нас интересует ?cmd=batch): > http://ftp.dzhon.in/nginx_error.log > Вот лог tcpdump -A 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - > ((tcp[12]&0xf0)>>2)) != 0)': http://ftp.dzhon.in/nginx_dump Вы в платную техподдержку пишете? Если нет, то надо бы постить разницу между заголовками от клиента и от nginx. (и в каком-нибудь виде таком, удобочитаемом...) From thedzhon на gmail.com Wed Jan 25 08:29:36 2012 From: thedzhon на gmail.com (Eugene Mamin) Date: Wed, 25 Jan 2012 12:29:36 +0400 Subject: =?UTF-8?B?UmU6IEZ3ZDog0J7QsdGA0LDQsdC+0YLQutCwINC30LDQs9C+0LvQvtCy0LrQvtCy?= =?UTF-8?B?INC/0YDQvtGC0L7QutC+0LvQsCBNZXJjdXJpYWwu?= In-Reply-To: References: <4F1F9D85.2010208@bestmx.ru> <20120125064646.GB83139@lo0.su> Message-ID: Я бы с радостью сделал, как вы просите, подскажите только команды и ключи. Не имею опыта в подобных делах, к сожалению. Да, извините, если это выглядело нагло. 2012/1/25 Daniel Podolsky > > Вот лог самого nginx (нас интересует ?cmd=batch): > > http://ftp.dzhon.in/nginx_error.log > > Вот лог tcpdump -A 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - > > ((tcp[12]&0xf0)>>2)) != 0)': http://ftp.dzhon.in/nginx_dump > Вы в платную техподдержку пишете? > Если нет, то надо бы постить разницу между заголовками от клиента и от > nginx. > (и в каком-нибудь виде таком, удобочитаемом...) > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From ano на bestmx.ru Wed Jan 25 09:31:46 2012 From: ano на bestmx.ru (Andrey N. Oktyabrski) Date: Wed, 25 Jan 2012 12:31:46 +0300 Subject: =?UTF-8?B?UmU6IEZ3ZDog0J7QsdGA0LDQsdC+0YLQutCwINC30LDQs9C+0LvQvtCy0LrQvtCy?= =?UTF-8?B?INC/0YDQvtGC0L7QutC+0LvQsCBNZXJjdXJpYWwu?= In-Reply-To: References: <4F1F9D85.2010208@bestmx.ru> <20120125064646.GB83139@lo0.su> Message-ID: <4F1FCC02.9070909@bestmx.ru> Вообще-то, кто использует символ "_" в именах хостов, тот должен быть готов к сюрпризам. Скорее всего проблема не в этом, просто заметка на полях. Попробуйте установить заголовок Host где-то так: proxy_set_header Host $host; Должно помочь. From ru на nginx.com Wed Jan 25 08:44:19 2012 From: ru на nginx.com (Ruslan Ermilov) Date: Wed, 25 Jan 2012 08:44:19 +0000 Subject: =?UTF-8?B?UmU6IEZ3ZDog0J7QsdGA0LDQsdC+0YLQutCwINC30LDQs9C+0LvQvtCy0LrQvtCy?= =?UTF-8?B?INC/0YDQvtGC0L7QutC+0LvQsCBNZXJjdXJpYWwu?= In-Reply-To: References: <4F1F9D85.2010208@bestmx.ru> <20120125064646.GB83139@lo0.su> Message-ID: <20120125084419.GF83139@lo0.su> On Wed, Jan 25, 2012 at 11:15:04AM +0400, Eugene Mamin wrote: > Вот лог самого nginx (нас интересует ?cmd=batch): > http://ftp.dzhon.in/nginx_error.log > Вот лог tcpdump -A 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - > ((tcp[12]&0xf0)>>2)) != 0)': http://ftp.dzhon.in/nginx_dump От клиента к nginx: GET /concorde?cmd=batch HTTP/1.1 Accept-Encoding: identity host: hg.dzhon.in vary: X-HgArg-1 accept: application/mercurial-0.1 user-agent: mercurial/proto-1.0 От nginx к mercurial: GET /concorde?cmd=batch HTTP/1.0 Host: mercurial_backend Connection: close Accept-Encoding: identity vary: X-HgArg-1 accept: application/mercurial-0.1 user-agent: mercurial/proto-1.0 Поменялось: значение заголовка Host, версия HTTP и как следствие соединение стало не keepalive. Вроде как ничего страшного. Я думаю, но не уверен, что проблема в том, что по протоколу в запросе должно быть поле "X-HgArg1: cmds=...", но его почему-то нет, клиент, судя по tcpdump'у, его не посылает, а nginx его выдумать сам не может. Чтобы это подтвердить, можно подсоединиться к mercurial вручную (telnet/nc), и послать ему первый GET запрос. По идее вернёт тот же 500, по той же причине. Если вдруг не вернёт, а отработает нормально, попытаться найти в чём проблема, постепенно превращая первый запрос во второй. Если же и на первый запрос Mercurial вернёт 500, значит от клиента приходит "кривой" запрос, и чтобы попытаться понять, в чём же дело, нужно проанализировать разницу в заголовках запросов/ответов, с и без nginx. > 2012/1/25 Ruslan Ermilov > > > On Wed, Jan 25, 2012 at 09:24:50AM +0400, Eugene Mamin wrote: > > > 2012/1/25 Andrey N. Oktyabrski > > > > > > > On 25.01.12 07:12, Eugene Mamin wrote: > > > > > > > >> Могу лишь утверждать, что без nginx сам mercurial работает. > > > >> > > > > А он и с nginx работает: > > > > > > > > > > Привел конфигурацию к такому виду: > > > http://pastebin.com/TNvKpEgp > > > > > > Как следствие, получаю все тот же результат: > > > D:\Projects\CMaked\concorde>hg pull --debug > > > using http://hg.dzhon.in/concorde > > > sending capabilities command > > > pulling from http://hg.dzhon.in/concorde > > > query 1; heads > > > sending batch command > > > abort: HTTP Error 500: Internal Server Error > > > > > > Важно отметить, что это происходит только если клиентской машиной > > является > > > Windows. Но опять же, убираем посредника nginx и все работает. > > > > Было бы здорово увидеть заголовки до и после nginx. > > Тогда сразу бы стало понятно, в чём разница. > > Можно это сделать через tcpdump или wireshark на > > стороне Linux, или же средствами самого nginx. > > > > Если отлаживать средствами nginx, то отладочный лог > > лучше будет включить только для соединений с проблемным > > Windows-хостом. Как это сделать, написано тут: > > http://nginx.org/ru/docs/debugging_log.html > > > > _______________________________________________ > > nginx-ru mailing list > > nginx-ru на nginx.org > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Ruslan Ermilov From ru на nginx.com Wed Jan 25 08:47:50 2012 From: ru на nginx.com (Ruslan Ermilov) Date: Wed, 25 Jan 2012 08:47:50 +0000 Subject: =?UTF-8?B?UmU6IEZ3ZDog0J7QsdGA0LDQsdC+0YLQutCwINC30LDQs9C+0LvQvtCy0LrQvtCy?= =?UTF-8?B?INC/0YDQvtGC0L7QutC+0LvQsCBNZXJjdXJpYWwu?= In-Reply-To: References: <4F1F9D85.2010208@bestmx.ru> <20120125064646.GB83139@lo0.su> Message-ID: <20120125084750.GG83139@lo0.su> On Wed, Jan 25, 2012 at 12:29:36PM +0400, Eugene Mamin wrote: > Я бы с радостью сделал, как вы просите, > подскажите только команды и ключи. Не > имею опыта в подобных делах, к сожалению. > Да, извините, если это выглядело нагло. Да нет, всё нормально, так даже лучше, видны IP-адреса :) и отметки времени, и можно точно понять, кто там клиент, а кто -- сервер. А tcpdump -r или strings запустить не составило большого труда. > 2012/1/25 Daniel Podolsky <[1]onokonem на gmail.com> > > > Вот лог самого nginx (нас интересует > ?cmd=batch): > > [2]http://ftp.dzhon.in/nginx_error.log > > Вот лог tcpdump -A 'tcp port 80 and (((ip[2:2] - > ((ip[0]&0xf)<<2)) - > > ((tcp[12]&0xf0)>>2)) != 0)': [3]http://ftp.dzhon.in/nginx_dump > Вы в платную техподдержку пишете? > Если нет, то надо бы постить разницу > между заголовками от клиента и от nginx. > (и в каком-нибудь виде таком, > удобочитаемом...) From greenh на gmail.com Wed Jan 25 08:59:23 2012 From: greenh на gmail.com (greenh) Date: Wed, 25 Jan 2012 10:59:23 +0200 Subject: =?UTF-8?B?UmU6INC80LjRgdGC0LjRh9C10YHQutC40LUg0LfQsNC/0YDQvtGB0Ysg0LggcmVz?= =?UTF-8?B?cG9uc2UgNDAw?= In-Reply-To: <058c155d8fa985246cc9848b733bc40a.NginxMailingListRussian@forum.nginx.org> References: <058c155d8fa985246cc9848b733bc40a.NginxMailingListRussian@forum.nginx.org> Message-ID: 24 января 2012 г. 23:04 пользователь Craken написал: > Добавьте в логирование переменную > $request_body и увидите что приходит на nginx В лог попадает только тело запроса, без заголовков. А нет возможности положить в лог весь запрос? From onokonem на gmail.com Wed Jan 25 09:08:45 2012 From: onokonem на gmail.com (Daniel Podolsky) Date: Wed, 25 Jan 2012 13:08:45 +0400 Subject: =?UTF-8?B?UmU6IEZ3ZDog0J7QsdGA0LDQsdC+0YLQutCwINC30LDQs9C+0LvQvtCy0LrQvtCy?= =?UTF-8?B?INC/0YDQvtGC0L7QutC+0LvQsCBNZXJjdXJpYWwu?= In-Reply-To: References: <4F1F9D85.2010208@bestmx.ru> <20120125064646.GB83139@lo0.su> Message-ID: > Я бы с радостью сделал, как вы просите, подскажите только команды и ключи. > Не имею опыта в подобных делах, к сожалению. Да, извините, если это > выглядело нагло. Да причем тут "нагло" :) Просто - бессмысленно... про команды: снять дамп соединения удобнее всего утилитой ngrep, с ключом -W byline для получение разницы между дампами годится утилита diff. From nginx-forum на nginx.us Wed Jan 25 09:22:02 2012 From: nginx-forum на nginx.us (coramba) Date: Wed, 25 Jan 2012 04:22:02 -0500 Subject: =?UTF-8?B?0L3QtSDQv9C+0LvQvdGL0Lkg0YHQsdGA0L7RgSDQutC10YjQsA==?= Message-ID: <04c26204521b5c61a95c28f1deadaa99.NginxMailingListRussian@forum.nginx.org> Доброго времени суток! Дано: Настроенное кеширование ответов пхп-бекэнда. Время кеширования 6 часов. Требуется: Зная ключ страницы сбросить кеш только для нее до истечения срока актуальности (по тригеру). В доках сказано, что имя файла с кешем это md5 от ключа. Но как найти что бы потереть нужный файл, даже получив его имя, во вложенных папках кеша? Или таки есть "прямой" путь? =) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221614,221614#msg-221614 From thedzhon на gmail.com Wed Jan 25 09:47:04 2012 From: thedzhon на gmail.com (Eugene Mamin) Date: Wed, 25 Jan 2012 13:47:04 +0400 Subject: =?UTF-8?B?UmU6IEZ3ZDog0J7QsdGA0LDQsdC+0YLQutCwINC30LDQs9C+0LvQvtCy0LrQvtCy?= =?UTF-8?B?INC/0YDQvtGC0L7QutC+0LvQsCBNZXJjdXJpYWwu?= In-Reply-To: <20120125084419.GF83139@lo0.su> References: <4F1F9D85.2010208@bestmx.ru> <20120125064646.GB83139@lo0.su> <20120125084419.GF83139@lo0.su> Message-ID: Да, попробовал телнетом постучать прямо на hg serve, получил ту же 500-ую от меркуриала :) В конфигурации задал следующие директивы, чтобы максимально приблизить заголовки: proxy_http_version 1.1; proxy_set_header Host $host; Теперь имеем такие данные (логи tcpdump): http://ftp.dzhon.in/nginx_ -- запрос hg pull через nginx http://ftp.dzhon.in/hg__ -- запрос hg pull напрямую к hg serve. 2012/1/25 Ruslan Ermilov > On Wed, Jan 25, 2012 at 11:15:04AM +0400, Eugene Mamin wrote: > > Вот лог самого nginx (нас интересует ?cmd=batch): > > http://ftp.dzhon.in/nginx_error.log > > Вот лог tcpdump -A 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - > > ((tcp[12]&0xf0)>>2)) != 0)': http://ftp.dzhon.in/nginx_dump > > От клиента к nginx: > GET /concorde?cmd=batch HTTP/1.1 > Accept-Encoding: identity > host: hg.dzhon.in > vary: X-HgArg-1 > accept: application/mercurial-0.1 > user-agent: mercurial/proto-1.0 > > От nginx к mercurial: > GET /concorde?cmd=batch HTTP/1.0 > Host: mercurial_backend > Connection: close > Accept-Encoding: identity > vary: X-HgArg-1 > accept: application/mercurial-0.1 > user-agent: mercurial/proto-1.0 > > Поменялось: значение заголовка Host, версия HTTP и как > следствие соединение стало не keepalive. Вроде как > ничего страшного. Я думаю, но не уверен, что проблема > в том, что по протоколу в запросе должно быть поле > "X-HgArg1: cmds=...", но его почему-то нет, клиент, > судя по tcpdump'у, его не посылает, а nginx его выдумать > сам не может. > > Чтобы это подтвердить, можно подсоединиться к mercurial > вручную (telnet/nc), и послать ему первый GET запрос. > По идее вернёт тот же 500, по той же причине. Если вдруг > не вернёт, а отработает нормально, попытаться найти в > чём проблема, постепенно превращая первый запрос во > второй. > > Если же и на первый запрос Mercurial вернёт 500, значит > от клиента приходит "кривой" запрос, и чтобы попытаться > понять, в чём же дело, нужно проанализировать разницу в > заголовках запросов/ответов, с и без nginx. > > > 2012/1/25 Ruslan Ermilov > > > > > On Wed, Jan 25, 2012 at 09:24:50AM +0400, Eugene Mamin wrote: > > > > 2012/1/25 Andrey N. Oktyabrski > > > > > > > > > On 25.01.12 07:12, Eugene Mamin wrote: > > > > > > > > > >> Могу лишь утверждать, что без nginx сам mercurial работает. > > > > >> > > > > > А он и с nginx работает: > > > > > > > > > > > > > Привел конфигурацию к такому виду: > > > > http://pastebin.com/TNvKpEgp > > > > > > > > Как следствие, получаю все тот же результат: > > > > D:\Projects\CMaked\concorde>hg pull --debug > > > > using http://hg.dzhon.in/concorde > > > > sending capabilities command > > > > pulling from http://hg.dzhon.in/concorde > > > > query 1; heads > > > > sending batch command > > > > abort: HTTP Error 500: Internal Server Error > > > > > > > > Важно отметить, что это происходит только если клиентской машиной > > > является > > > > Windows. Но опять же, убираем посредника nginx и все работает. > > > > > > Было бы здорово увидеть заголовки до и после nginx. > > > Тогда сразу бы стало понятно, в чём разница. > > > Можно это сделать через tcpdump или wireshark на > > > стороне Linux, или же средствами самого nginx. > > > > > > Если отлаживать средствами nginx, то отладочный лог > > > лучше будет включить только для соединений с проблемным > > > Windows-хостом. Как это сделать, написано тут: > > > http://nginx.org/ru/docs/debugging_log.html > > > > > > _______________________________________________ > > > nginx-ru mailing list > > > nginx-ru на nginx.org > > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > > > _______________________________________________ > > nginx-ru mailing list > > nginx-ru на nginx.org > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > -- > Ruslan Ermilov > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на nginx.us Wed Jan 25 09:48:16 2012 From: nginx-forum на nginx.us (coramba) Date: Wed, 25 Jan 2012 04:48:16 -0500 Subject: =?UTF-8?B?UmU6INC90LUg0L/QvtC70L3Ri9C5INGB0LHRgNC+0YEg0LrQtdGI0LA=?= In-Reply-To: <04c26204521b5c61a95c28f1deadaa99.NginxMailingListRussian@forum.nginx.org> References: <04c26204521b5c61a95c28f1deadaa99.NginxMailingListRussian@forum.nginx.org> Message-ID: как найти путь разобрался. для levels=1:2 путь будет $fileName = md5($nginxKey); $cacheFile = "/path/to/cache/".substr($fileName ,-1,1).'/'.substr($fileName ,-3,2).'/'.$fileName ; но все равно интересен вопрос, нет ли родного механизма для сброса кеша? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221614,221616#msg-221616 From jd на jdwuzhere.ru Wed Jan 25 09:57:12 2012 From: jd на jdwuzhere.ru (Vladimir Sopot) Date: Wed, 25 Jan 2012 13:57:12 +0400 Subject: =?UTF-8?B?UmU6INC90LUg0L/QvtC70L3Ri9C5INGB0LHRgNC+0YEg0LrQtdGI0LA=?= In-Reply-To: <04c26204521b5c61a95c28f1deadaa99.NginxMailingListRussian@forum.nginx.org> References: <04c26204521b5c61a95c28f1deadaa99.NginxMailingListRussian@forum.nginx.org> Message-ID: http://labs.frickle.com/nginx_ngx_cache_purge/ On Jan 25, 2012, at 1:22 PM, coramba wrote: > Доброго времени суток! > > Дано: > Настроенное кеширование ответов > пхп-бекэнда. Время кеширования 6 часов. > > Требуется: > Зная ключ страницы сбросить кеш только > для нее до истечения срока > актуальности (по тригеру). > > В доках сказано, что имя файла с кешем > это md5 от ключа. Но как найти что бы > потереть нужный файл, даже получив его > имя, во вложенных папках кеша? Или таки > есть "прямой" путь? =) > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221614,221614#msg-221614 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From nginx-forum на nginx.us Wed Jan 25 10:09:41 2012 From: nginx-forum на nginx.us (coramba) Date: Wed, 25 Jan 2012 05:09:41 -0500 Subject: =?UTF-8?B?UmU6INC90LUg0L/QvtC70L3Ri9C5INGB0LHRgNC+0YEg0LrQtdGI0LA=?= In-Reply-To: <04c26204521b5c61a95c28f1deadaa99.NginxMailingListRussian@forum.nginx.org> References: <04c26204521b5c61a95c28f1deadaa99.NginxMailingListRussian@forum.nginx.org> Message-ID: То, что надо! Спасибо Владимир! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221614,221618#msg-221618 From ru на nginx.com Wed Jan 25 10:53:33 2012 From: ru на nginx.com (Ruslan Ermilov) Date: Wed, 25 Jan 2012 10:53:33 +0000 Subject: =?UTF-8?B?UmU6IEZ3ZDog0J7QsdGA0LDQsdC+0YLQutCwINC30LDQs9C+0LvQvtCy0LrQvtCy?= =?UTF-8?B?INC/0YDQvtGC0L7QutC+0LvQsCBNZXJjdXJpYWwu?= In-Reply-To: References: <4F1F9D85.2010208@bestmx.ru> <20120125064646.GB83139@lo0.su> <20120125084419.GF83139@lo0.su> Message-ID: <20120125105333.GH83139@lo0.su> On Wed, Jan 25, 2012 at 01:47:04PM +0400, Eugene Mamin wrote: > Да, попробовал телнетом постучать прямо на hg serve, получил ту же 500-ую > от меркуриала :) > > В конфигурации задал следующие директивы, чтобы максимально приблизить > заголовки: > proxy_http_version 1.1; > proxy_set_header Host $host; > > Теперь имеем такие данные (логи tcpdump): > http://ftp.dzhon.in/nginx_ -- запрос hg pull через nginx > http://ftp.dzhon.in/hg__ -- запрос hg pull напрямую к hg serve. Разница такая: : --- hg_ 2012-01-25 14:06:36.000000000 +0400 : +++ nginx_ 2012-01-25 14:07:02.000000000 +0400 : @@ -1,41 +1,27 @@ : GET /concorde?cmd=capabilities HTTP/1.1 : Accept-Encoding: identity : -host: hg.dzhon.in:7777 : +host: hg.dzhon.in : accept: application/mercurial-0.1 : user-agent: mercurial/proto-1.0 : HTTP/1.1 200 Script output follows : -Server: BaseHTTP/0.3 Python/2.7.2 : -Date: Wed, 25 Jan 2012 09:35:20 GMT : +Server: nginx/1.1.12 : +Date: Wed, 25 Jan 2012 09:34:44 GMT : Content-Type: application/mercurial-0.1 : Content-Length: 130 : +Connection: keep-alive : lookup changegroupsubset branchmap pushkey known getbundle unbundlehash batch stream unbundle=HG10GZ,HG10BZ,HG10UN httpheader=1024 : GET /concorde?cmd=batch HTTP/1.1 : Accept-Encoding: identity : -x-hgarg-1: cmds=heads+%3Bknown+nodes%3D0b75949a12b936df4c501b0b890211f29662e048 : -host: hg.dzhon.in:7777 : +host: hg.dzhon.in : vary: X-HgArg-1 : accept: application/mercurial-0.1 : user-agent: mercurial/proto-1.0 : -HTTP/1.1 200 Script output follows : -Server: BaseHTTP/0.3 Python/2.7.2 : -Date: Wed, 25 Jan 2012 09:35:21 GMT : -Content-Type: application/mercurial-0.1 : -Content-Length: 43 : -0b75949a12b936df4c501b0b890211f29662e048 : - : -GET /concorde?cmd=listkeys HTTP/1.1 : -Accept-Encoding: identity : -x-hgarg-1: namespace=bookmarks : -host: hg.dzhon.in:7777 : -vary: X-HgArg-1 : -accept: application/mercurial-0.1 : -user-agent: mercurial/proto-1.0 : - : -HTTP/1.1 200 Script output follows : -Server: BaseHTTP/0.3 Python/2.7.2 : -Date: Wed, 25 Jan 2012 09:35:21 GMT : -Content-Type: application/mercurial-0.1 : -Connection: close : +HTTP/1.1 500 Internal Server Error : +Server: nginx/1.1.12 : +Date: Wed, 25 Jan 2012 09:34:44 GMT : +Transfer-Encoding: chunked : +Connection: keep-alive : +Internal Server Error Т.е. первый запрос отличается слегка по значению Host, а ответ -- по значению Server и Connection: keepalive. А вот уже второй запрос приходит от клиента без требуемого по протоколу заголовка x-hgarg-1. Давайте попробуем вернуть оригинальное значение заголовка Server, вдруг и вправду Windows-клиент на него смотрит зачем-то: proxy_pass_header Server; From thedzhon на gmail.com Wed Jan 25 11:51:01 2012 From: thedzhon на gmail.com (Eugene Mamin) Date: Wed, 25 Jan 2012 15:51:01 +0400 Subject: =?UTF-8?B?UmU6IEZ3ZDog0J7QsdGA0LDQsdC+0YLQutCwINC30LDQs9C+0LvQvtCy0LrQvtCy?= =?UTF-8?B?INC/0YDQvtGC0L7QutC+0LvQsCBNZXJjdXJpYWwu?= In-Reply-To: <20120125105333.GH83139@lo0.su> References: <4F1F9D85.2010208@bestmx.ru> <20120125064646.GB83139@lo0.su> <20120125084419.GF83139@lo0.su> <20120125105333.GH83139@lo0.su> Message-ID: Вернул, получается вот так (ошибка осталась): http://ftp.dzhon.in/nginx_pass_Server P.S. Пользуясь случаем, очень благодарен вам за активную помощь! 2012/1/25 Ruslan Ermilov > On Wed, Jan 25, 2012 at 01:47:04PM +0400, Eugene Mamin wrote: > > Да, попробовал телнетом постучать прямо на hg serve, получил ту же 500-ую > > от меркуриала :) > > > > В конфигурации задал следующие директивы, чтобы максимально приблизить > > заголовки: > > proxy_http_version 1.1; > > proxy_set_header Host $host; > > > > Теперь имеем такие данные (логи tcpdump): > > http://ftp.dzhon.in/nginx_ -- запрос hg pull через nginx > > http://ftp.dzhon.in/hg__ -- запрос hg pull напрямую к hg serve. > > Разница такая: > > : --- hg_ 2012-01-25 14:06:36.000000000 +0400 > : +++ nginx_ 2012-01-25 14:07:02.000000000 +0400 > : @@ -1,41 +1,27 @@ > : GET /concorde?cmd=capabilities HTTP/1.1 > : Accept-Encoding: identity > : -host: hg.dzhon.in:7777 > : +host: hg.dzhon.in > : accept: application/mercurial-0.1 > : user-agent: mercurial/proto-1.0 > > : HTTP/1.1 200 Script output follows > : -Server: BaseHTTP/0.3 Python/2.7.2 > : -Date: Wed, 25 Jan 2012 09:35:20 GMT > : +Server: nginx/1.1.12 > : +Date: Wed, 25 Jan 2012 09:34:44 GMT > : Content-Type: application/mercurial-0.1 > : Content-Length: 130 > : +Connection: keep-alive > : lookup changegroupsubset branchmap pushkey known getbundle unbundlehash > batch stream unbundle=HG10GZ,HG10BZ,HG10UN httpheader=1024 > > : GET /concorde?cmd=batch HTTP/1.1 > : Accept-Encoding: identity > : -x-hgarg-1: > cmds=heads+%3Bknown+nodes%3D0b75949a12b936df4c501b0b890211f29662e048 > : -host: hg.dzhon.in:7777 > : +host: hg.dzhon.in > : vary: X-HgArg-1 > : accept: application/mercurial-0.1 > : user-agent: mercurial/proto-1.0 > > : -HTTP/1.1 200 Script output follows > : -Server: BaseHTTP/0.3 Python/2.7.2 > : -Date: Wed, 25 Jan 2012 09:35:21 GMT > : -Content-Type: application/mercurial-0.1 > : -Content-Length: 43 > : -0b75949a12b936df4c501b0b890211f29662e048 > : - > : -GET /concorde?cmd=listkeys HTTP/1.1 > : -Accept-Encoding: identity > : -x-hgarg-1: namespace=bookmarks > : -host: hg.dzhon.in:7777 > : -vary: X-HgArg-1 > : -accept: application/mercurial-0.1 > : -user-agent: mercurial/proto-1.0 > : - > : -HTTP/1.1 200 Script output follows > : -Server: BaseHTTP/0.3 Python/2.7.2 > : -Date: Wed, 25 Jan 2012 09:35:21 GMT > : -Content-Type: application/mercurial-0.1 > : -Connection: close > : +HTTP/1.1 500 Internal Server Error > : +Server: nginx/1.1.12 > : +Date: Wed, 25 Jan 2012 09:34:44 GMT > : +Transfer-Encoding: chunked > : +Connection: keep-alive > : +Internal Server Error > > Т.е. первый запрос отличается слегка по значению Host, > а ответ -- по значению Server и Connection: keepalive. > А вот уже второй запрос приходит от клиента без > требуемого по протоколу заголовка x-hgarg-1. > Давайте попробуем вернуть оригинальное значение заголовка > Server, вдруг и вправду Windows-клиент на него смотрит > зачем-то: > > proxy_pass_header Server; > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mdounin на mdounin.ru Wed Jan 25 12:48:51 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Wed, 25 Jan 2012 16:48:51 +0400 Subject: =?UTF-8?B?UmU6IEZ3ZDog0J7QsdGA0LDQsdC+0YLQutCwINC30LDQs9C+0LvQvtCy0LrQvtCy?= =?UTF-8?B?INC/0YDQvtGC0L7QutC+0LvQsCBNZXJjdXJpYWwu?= In-Reply-To: References: Message-ID: <20120125124851.GL67687@mdounin.ru> Hello! On Wed, Jan 25, 2012 at 08:12:17AM +0400, Eugene Mamin wrote: > Здравствуйте, nginx стоит прокси-сервером для авторизации и > перенаправления запросов к локально запущенному сервису mercurial (hg). > Столкнулся с проблемой, описанной здесь: > http://mercurial.selenic.com/bts/issue3194. Если коротко, то nginx "портит" > HTTP заголовки, после чего сервер mercurial обработать запрос корректно не > может. Упомянутый тикет никакой конкретики не содержит, так что говорить о том, что на самом деле происходит - неуместно. > Ставил значения директив: ignore_invalid_headers > off; underscores_in_headers on; merge_slashes off; но результата не > получил. Особо отмечаю, что проблема появилась не так давно, т.е. в > работоспособности самой конфигурации сомневаться не приходится. > На сервере nginx-1.0.11, ArchLinux. > Хотел было залогировать все заголовки, как их видит nginx, но не нашел > такой возможности. Могу лишь утверждать, что без nginx сам mercurial > работает. > Заголовки могут быть примерно такими (вывод лога hg serve): > > 178.76.212.86 - - [24/Jan/2012 22:20:38] "GET /concorde?cmd=batch HTTP/1.1" > 200 - > x-hgarg-1:cmds=heads+%3Bknown+nodes%3D0b75949a12b936df4c501b0b890211f29662e048 > 178.76.212.86 - - [24/Jan/2012 22:20:39] "GET /concorde?cmd=listkeys > HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks. > > Есть ли возможность обеспечить передачу заголовков на апстрим без > каких-либо модификаций и изменений со стороны nginx ? Должно работать (и у меня в тестах работает, проверял 1.9.1 и 2.0.2) без каких-либо ухищрений в конфигах, достаточно просто написать location / { proxy_pass http://127.0.0.1:8080; } Если не работает - нужен debug log, конфиг на котором воспроизводится, вывод nginx -V. А равно точная версия Mercurial'а и его вывод при возникновении проблемы. Как делать debug log описано тут: http://wiki.nginx.org/Debugging http://nginx.org/en/docs/debugging_log.html Maxim Dounin From mdounin на mdounin.ru Wed Jan 25 13:10:52 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Wed, 25 Jan 2012 17:10:52 +0400 Subject: =?UTF-8?B?UmU6IEZ3ZDog0J7QsdGA0LDQsdC+0YLQutCwINC30LDQs9C+0LvQvtCy0LrQvtCy?= =?UTF-8?B?INC/0YDQvtGC0L7QutC+0LvQsCBNZXJjdXJpYWwu?= In-Reply-To: <20120125105333.GH83139@lo0.su> References: <4F1F9D85.2010208@bestmx.ru> <20120125064646.GB83139@lo0.su> <20120125084419.GF83139@lo0.su> <20120125105333.GH83139@lo0.su> Message-ID: <20120125131051.GM67687@mdounin.ru> Hello! On Wed, Jan 25, 2012 at 10:53:33AM +0000, Ruslan Ermilov wrote: > On Wed, Jan 25, 2012 at 01:47:04PM +0400, Eugene Mamin wrote: > > Да, попробовал телнетом постучать прямо на hg serve, получил ту же 500-ую > > от меркуриала :) > > > > В конфигурации задал следующие директивы, чтобы максимально приблизить > > заголовки: > > proxy_http_version 1.1; > > proxy_set_header Host $host; > > > > Теперь имеем такие данные (логи tcpdump): > > http://ftp.dzhon.in/nginx_ -- запрос hg pull через nginx > > http://ftp.dzhon.in/hg__ -- запрос hg pull напрямую к hg serve. > > Разница такая: > > : --- hg_ 2012-01-25 14:06:36.000000000 +0400 > : +++ nginx_ 2012-01-25 14:07:02.000000000 +0400 > : @@ -1,41 +1,27 @@ > : GET /concorde?cmd=capabilities HTTP/1.1 > : Accept-Encoding: identity > : -host: hg.dzhon.in:7777 > : +host: hg.dzhon.in > : accept: application/mercurial-0.1 > : user-agent: mercurial/proto-1.0 > > : HTTP/1.1 200 Script output follows > : -Server: BaseHTTP/0.3 Python/2.7.2 > : -Date: Wed, 25 Jan 2012 09:35:20 GMT > : +Server: nginx/1.1.12 > : +Date: Wed, 25 Jan 2012 09:34:44 GMT > : Content-Type: application/mercurial-0.1 > : Content-Length: 130 > : +Connection: keep-alive > : lookup changegroupsubset branchmap pushkey known getbundle unbundlehash batch stream unbundle=HG10GZ,HG10BZ,HG10UN httpheader=1024 > > : GET /concorde?cmd=batch HTTP/1.1 > : Accept-Encoding: identity > : -x-hgarg-1: cmds=heads+%3Bknown+nodes%3D0b75949a12b936df4c501b0b890211f29662e048 > : -host: hg.dzhon.in:7777 > : +host: hg.dzhon.in > : vary: X-HgArg-1 > : accept: application/mercurial-0.1 > : user-agent: mercurial/proto-1.0 Т.е. ответы на запрос capabilities идентичны, а следом за этим nginx'у приходит запрос без заголовка x-hgarg-1, но с заголовком "vary: X-HgArg-1". Кто-то по дороге от mercurial'а до nginx'а снёс заголовок "x-hgarg-1", скорее всего какой-то шибко умный антивирус/firewall, пытающийся фильтровать 80-й порт. Maxim Dounin From mdounin на mdounin.ru Wed Jan 25 13:30:31 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Wed, 25 Jan 2012 17:30:31 +0400 Subject: =?UTF-8?B?UmU6INCd0LUg0YDQsNCx0L7RgtCw0LXRgiBtZXJnZV9zbGFzaGVzIG9mZiDQv9GA?= =?UTF-8?B?0Lgg0YDQtdC00LjRgNC10LrRgtCw0YU=?= In-Reply-To: References: Message-ID: <20120125133031.GO67687@mdounin.ru> Hello! On Wed, Jan 25, 2012 at 03:06:18AM +0800, SaveFrom.net wrote: > Добрый вечер, > > Письмо не заметили или это не бага? > > 15 января 2012 г. 19:35 пользователь SaveFrom.net написал: > > > Здравствуйте, > > > > Запрос http://sfrom.net/http://bar > > > > Ответ http://savefrom.net/http:/bar > > > > Ожидали http://savefrom.net/http://bar > > (пропал слеш в uri) > > > > Конфиг > > server { > > listen xxx; > > server_name sfrom.net www.sfrom.net; > > merge_slashes off; > > rewrite '^\/https?:' 'http://savefrom.net$uri?foo' permanent; > > rewrite ^ 'http://savefrom.net/http:/$uri?foo' permanent; > > } merge_slashes имеет смысл указывать только в сервере по умолчанию, т.к. он работает на этапе парсинга заголовков запроса, до того как name-based виртуальный сервер определён. Если приведённый блок server{} не является сервером по умолчанию - поведение ожидаемо. Maxim Dounin From ne на vbart.ru Wed Jan 25 13:36:21 2012 From: ne на vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Wed, 25 Jan 2012 17:36:21 +0400 Subject: =?UTF-8?B?UmU6INC80LjRgdGC0LjRh9C10YHQutC40LUg0LfQsNC/0YDQvtGB0Ysg0LggcmVz?= =?UTF-8?B?cG9uc2UgNDAw?= In-Reply-To: References: <058c155d8fa985246cc9848b733bc40a.NginxMailingListRussian@forum.nginx.org> Message-ID: <201201251736.21350.ne@vbart.ru> On Wednesday 25 January 2012 12:59:23 greenh wrote: > 24 января 2012 г. 23:04 пользователь Craken написал: > > Добавьте в логирование переменную > > $request_body и увидите что приходит на nginx > > В лог попадает только тело запроса, без заголовков. А нет возможности > положить в лог весь запрос? Заголовки можно увидеть если включить debug log. http://nginx.org/ru/docs/debugging_log.html -- Валентин Бартенев From thedzhon на gmail.com Wed Jan 25 13:39:55 2012 From: thedzhon на gmail.com (Eugene Mamin) Date: Wed, 25 Jan 2012 17:39:55 +0400 Subject: =?UTF-8?B?UmU6IEZ3ZDog0J7QsdGA0LDQsdC+0YLQutCwINC30LDQs9C+0LvQvtCy0LrQvtCy?= =?UTF-8?B?INC/0YDQvtGC0L7QutC+0LvQsCBNZXJjdXJpYWwu?= In-Reply-To: <20120125131051.GM67687@mdounin.ru> References: <4F1F9D85.2010208@bestmx.ru> <20120125064646.GB83139@lo0.su> <20120125084419.GF83139@lo0.su> <20120125105333.GH83139@lo0.su> <20120125131051.GM67687@mdounin.ru> Message-ID: К сожалению, в точку. Не ожидал, что будет виной всему антивирус Dr.Web (который мало того, что у меня без firewall, так еще и был практически обесточен: http://ftp.dzhon.in/1.png). Принципиально исключал версию о сетевом экране на клиентской машине, поскольку внимательно за этим слежу, а тут такая незадача. Спасибо за помощь, уважаемые. После удаления Dr.Web из системы все заработало как надо. 2012/1/25 Maxim Dounin > Hello! > > On Wed, Jan 25, 2012 at 10:53:33AM +0000, Ruslan Ermilov wrote: > > > On Wed, Jan 25, 2012 at 01:47:04PM +0400, Eugene Mamin wrote: > > > Да, попробовал телнетом постучать прямо на hg serve, получил ту же > 500-ую > > > от меркуриала :) > > > > > > В конфигурации задал следующие директивы, чтобы максимально приблизить > > > заголовки: > > > proxy_http_version 1.1; > > > proxy_set_header Host $host; > > > > > > Теперь имеем такие данные (логи tcpdump): > > > http://ftp.dzhon.in/nginx_ -- запрос hg pull через nginx > > > http://ftp.dzhon.in/hg__ -- запрос hg pull напрямую к hg serve. > > > > Разница такая: > > > > : --- hg_ 2012-01-25 14:06:36.000000000 +0400 > > : +++ nginx_ 2012-01-25 14:07:02.000000000 +0400 > > : @@ -1,41 +1,27 @@ > > : GET /concorde?cmd=capabilities HTTP/1.1 > > : Accept-Encoding: identity > > : -host: hg.dzhon.in:7777 > > : +host: hg.dzhon.in > > : accept: application/mercurial-0.1 > > : user-agent: mercurial/proto-1.0 > > > > : HTTP/1.1 200 Script output follows > > : -Server: BaseHTTP/0.3 Python/2.7.2 > > : -Date: Wed, 25 Jan 2012 09:35:20 GMT > > : +Server: nginx/1.1.12 > > : +Date: Wed, 25 Jan 2012 09:34:44 GMT > > : Content-Type: application/mercurial-0.1 > > : Content-Length: 130 > > : +Connection: keep-alive > > : lookup changegroupsubset branchmap pushkey known getbundle > unbundlehash batch stream unbundle=HG10GZ,HG10BZ,HG10UN httpheader=1024 > > > > : GET /concorde?cmd=batch HTTP/1.1 > > : Accept-Encoding: identity > > : -x-hgarg-1: > cmds=heads+%3Bknown+nodes%3D0b75949a12b936df4c501b0b890211f29662e048 > > : -host: hg.dzhon.in:7777 > > : +host: hg.dzhon.in > > : vary: X-HgArg-1 > > : accept: application/mercurial-0.1 > > : user-agent: mercurial/proto-1.0 > > Т.е. ответы на запрос capabilities идентичны, а следом за этим > nginx'у приходит запрос без заголовка x-hgarg-1, но с заголовком > "vary: X-HgArg-1". > > Кто-то по дороге от mercurial'а до nginx'а снёс заголовок > "x-hgarg-1", скорее всего какой-то шибко умный антивирус/firewall, > пытающийся фильтровать 80-й порт. > > Maxim Dounin > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From savefrom на gmail.com Wed Jan 25 13:43:46 2012 From: savefrom на gmail.com (SaveFrom.net) Date: Wed, 25 Jan 2012 21:43:46 +0800 Subject: =?UTF-8?B?UmU6INCd0LUg0YDQsNCx0L7RgtCw0LXRgiBtZXJnZV9zbGFzaGVzIG9mZiDQv9GA?= =?UTF-8?B?0Lgg0YDQtdC00LjRgNC10LrRgtCw0YU=?= In-Reply-To: <20120125133031.GO67687@mdounin.ru> References: <20120125133031.GO67687@mdounin.ru> Message-ID: Максим, спасибо за ответ. 25 января 2012 г. 21:30 пользователь Maxim Dounin написал: > Hello! > > On Wed, Jan 25, 2012 at 03:06:18AM +0800, SaveFrom.net wrote: > > > Добрый вечер, > > > > Письмо не заметили или это не бага? > > > > 15 января 2012 г. 19:35 пользователь SaveFrom.net >написал: > > > > > Здравствуйте, > > > > > > Запрос http://sfrom.net/http://bar > > > > > > Ответ http://savefrom.net/http:/bar > > > > > > Ожидали http://savefrom.net/http://bar > > > (пропал слеш в uri) > > > > > > Конфиг > > > server { > > > listen xxx; > > > server_name sfrom.net www.sfrom.net; > > > merge_slashes off; > > > rewrite '^\/https?:' 'http://savefrom.net$uri?foo' permanent; > > > rewrite ^ 'http://savefrom.net/http:/$uri?foo' permanent; > > > } > > merge_slashes имеет смысл указывать только в сервере по умолчанию, > т.к. он работает на этапе парсинга заголовков запроса, до того как > name-based виртуальный сервер определён. > > Если приведённый блок server{} не является сервером по умолчанию - > поведение ожидаемо. > > Maxim Dounin > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- С уважением, SaveFrom.net. -------------- next part -------------- An HTML attachment was scrubbed... URL: From onokonem на gmail.com Wed Jan 25 13:58:27 2012 From: onokonem на gmail.com (Daniel Podolsky) Date: Wed, 25 Jan 2012 17:58:27 +0400 Subject: =?UTF-8?B?UmU6IEZ3ZDog0J7QsdGA0LDQsdC+0YLQutCwINC30LDQs9C+0LvQvtCy0LrQvtCy?= =?UTF-8?B?INC/0YDQvtGC0L7QutC+0LvQsCBNZXJjdXJpYWwu?= In-Reply-To: References: <4F1F9D85.2010208@bestmx.ru> <20120125064646.GB83139@lo0.su> <20120125084419.GF83139@lo0.su> <20120125105333.GH83139@lo0.su> <20120125131051.GM67687@mdounin.ru> Message-ID: > После удаления Dr.Web из системы все заработало как надо. то есть - напрямую с mercurial оно работало, а через nginx frontend - нет? или просто в первом письме была неверная информация? From thedzhon на gmail.com Wed Jan 25 14:00:03 2012 From: thedzhon на gmail.com (Eugene Mamin) Date: Wed, 25 Jan 2012 18:00:03 +0400 Subject: =?UTF-8?B?UmU6IEZ3ZDog0J7QsdGA0LDQsdC+0YLQutCwINC30LDQs9C+0LvQvtCy0LrQvtCy?= =?UTF-8?B?INC/0YDQvtGC0L7QutC+0LvQsCBNZXJjdXJpYWwu?= In-Reply-To: References: <4F1F9D85.2010208@bestmx.ru> <20120125064646.GB83139@lo0.su> <20120125084419.GF83139@lo0.su> <20120125105333.GH83139@lo0.su> <20120125131051.GM67687@mdounin.ru> Message-ID: Напрямую к mercurial я подключался на другом порту, к сожалению. 2012/1/25 Daniel Podolsky > > После удаления Dr.Web из системы все заработало как надо. > то есть - напрямую с mercurial оно работало, а через nginx frontend - > нет? или просто в первом письме была неверная информация? > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From ru на nginx.com Wed Jan 25 14:02:58 2012 From: ru на nginx.com (Ruslan Ermilov) Date: Wed, 25 Jan 2012 14:02:58 +0000 Subject: =?UTF-8?B?UmU6IEZ3ZDog0J7QsdGA0LDQsdC+0YLQutCwINC30LDQs9C+0LvQvtCy0LrQvtCy?= =?UTF-8?B?INC/0YDQvtGC0L7QutC+0LvQsCBNZXJjdXJpYWwu?= In-Reply-To: References: <4F1F9D85.2010208@bestmx.ru> <20120125064646.GB83139@lo0.su> <20120125084419.GF83139@lo0.su> <20120125105333.GH83139@lo0.su> <20120125131051.GM67687@mdounin.ru> Message-ID: <20120125140258.GJ83139@lo0.su> On Wed, Jan 25, 2012 at 05:39:55PM +0400, Eugene Mamin wrote: > К сожалению, в точку. Не ожидал, что будет виной всему антивирус Dr.Web > (который мало того, что у меня без firewall, так еще и был практически > обесточен: http://ftp.dzhon.in/1.png). Принципиально исключал версию о > сетевом экране на клиентской машине, поскольку внимательно за этим слежу, а > тут такая незадача. Спасибо за помощь, уважаемые. После удаления Dr.Web из > системы все заработало как надо. В благодарность за помощь :) было бы здорово, если бы об этом из первых уст услышали товарищи из Mercurial, считающие виноватым в этом nginx (см. упомянутый вами тикет). From ru на nginx.com Wed Jan 25 14:04:01 2012 From: ru на nginx.com (Ruslan Ermilov) Date: Wed, 25 Jan 2012 14:04:01 +0000 Subject: =?UTF-8?B?UmU6IEZ3ZDog0J7QsdGA0LDQsdC+0YLQutCwINC30LDQs9C+0LvQvtCy0LrQvtCy?= =?UTF-8?B?INC/0YDQvtGC0L7QutC+0LvQsCBNZXJjdXJpYWwu?= In-Reply-To: References: <4F1F9D85.2010208@bestmx.ru> <20120125064646.GB83139@lo0.su> <20120125084419.GF83139@lo0.su> <20120125105333.GH83139@lo0.su> <20120125131051.GM67687@mdounin.ru> Message-ID: <20120125140401.GK83139@lo0.su> On Wed, Jan 25, 2012 at 05:58:27PM +0400, Daniel Podolsky wrote: > > После удаления Dr.Web из системы все заработало как надо. > то есть - напрямую с mercurial оно работало, а через nginx frontend - > нет? или просто в первом письме была неверная информация? Порты разные -- напрямую был порт 7777, через nginx -- порт 80. From thedzhon на gmail.com Wed Jan 25 14:17:33 2012 From: thedzhon на gmail.com (Eugene Mamin) Date: Wed, 25 Jan 2012 18:17:33 +0400 Subject: =?UTF-8?B?UmU6IEZ3ZDog0J7QsdGA0LDQsdC+0YLQutCwINC30LDQs9C+0LvQvtCy0LrQvtCy?= =?UTF-8?B?INC/0YDQvtGC0L7QutC+0LvQsCBNZXJjdXJpYWwu?= In-Reply-To: <20120125140258.GJ83139@lo0.su> References: <4F1F9D85.2010208@bestmx.ru> <20120125064646.GB83139@lo0.su> <20120125084419.GF83139@lo0.su> <20120125105333.GH83139@lo0.su> <20120125131051.GM67687@mdounin.ru> <20120125140258.GJ83139@lo0.su> Message-ID: Отписал в тикет на ломанном английском (ох уж этот разговорный). Думаю, что меня поймут: http://mercurial.selenic.com/bts/msg18733 Еще раз спасибо за помощь! 2012/1/25 Ruslan Ermilov > On Wed, Jan 25, 2012 at 05:39:55PM +0400, Eugene Mamin wrote: > > К сожалению, в точку. Не ожидал, что будет виной всему антивирус Dr.Web > > (который мало того, что у меня без firewall, так еще и был практически > > обесточен: http://ftp.dzhon.in/1.png). Принципиально исключал версию о > > сетевом экране на клиентской машине, поскольку внимательно за этим > слежу, а > > тут такая незадача. Спасибо за помощь, уважаемые. После удаления Dr.Web > из > > системы все заработало как надо. > > В благодарность за помощь :) было бы здорово, если бы об этом из > первых уст услышали товарищи из Mercurial, считающие виноватым в > этом nginx (см. упомянутый вами тикет). > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From hell-for-yahoo на umail.ru Wed Jan 25 16:51:16 2012 From: hell-for-yahoo на umail.ru (Andrey Repin) Date: Wed, 25 Jan 2012 20:51:16 +0400 Subject: Fwd: Обработка заголовков протокола Mercurial. In-Reply-To: References: <4F1F9D85.2010208@bestmx.ru> <20120125064646.GB83139@lo0.su> <20120125084419.GF83139@lo0.su> <20120125105333.GH83139@lo0.su> <20120125131051.GM67687@mdounin.ru> Message-ID: <1056779884.20120125205116@mtu-net.ru> Здравствуйте, Уважаемый(-ая, -ое) Eugene Mamin! EM> К сожалению, в точку. Не ожидал, что будет виной всему антивирус Dr.Web EM> (который мало того, что у меня без firewall, так еще и был практически EM> обесточен: http://ftp.dzhon.in/1.png). Принципиально исключал версию о EM> сетевом экране на клиентской машине, поскольку внимательно за этим слежу, а EM> тут такая незадача. Спасибо за помощь, уважаемые. После удаления Dr.Web из EM> системы все заработало как надо. Темните вы что-то. Если он был без firewall, он никак не мог фильтровать веб-трафик. -- С уважением Andrey Repin (hell-for-yahoo на umail.ru) среда, 25.01.2012, <20:50> From thedzhon на gmail.com Wed Jan 25 17:09:28 2012 From: thedzhon на gmail.com (Eugene Mamin) Date: Wed, 25 Jan 2012 21:09:28 +0400 Subject: =?UTF-8?B?UmU6IFJlWzJdOiBGd2Q6INCe0LHRgNCw0LHQvtGC0LrQsCDQt9Cw0LPQvtC70L4=?= =?UTF-8?B?0LLQutC+0LIg0L/RgNC+0YLQvtC60L7Qu9CwIE1lcmN1cmlhbC4=?= In-Reply-To: <1056779884.20120125205116@mtu-net.ru> References: <4F1F9D85.2010208@bestmx.ru> <20120125064646.GB83139@lo0.su> <20120125084419.GF83139@lo0.su> <20120125105333.GH83139@lo0.su> <20120125131051.GM67687@mdounin.ru> <1056779884.20120125205116@mtu-net.ru> Message-ID: Нет, более того, как мне уже верно посоветовали, стоит написать об этом где-нибудь на хабре, дабы получить вынужденные комментарии от создателей чудного средства защиты. Да, скриншот я приложил как раз, чтобы заранее ответить на любые унции сомнения. 2012/1/25 Andrey Repin > Здравствуйте, Уважаемый(-ая, -ое) Eugene Mamin! > > EM> К сожалению, в точку. Не ожидал, что будет виной всему антивирус Dr.Web > EM> (который мало того, что у меня без firewall, так еще и был практически > EM> обесточен: http://ftp.dzhon.in/1.png). Принципиально исключал версию > о > EM> сетевом экране на клиентской машине, поскольку внимательно за этим > слежу, а > EM> тут такая незадача. Спасибо за помощь, уважаемые. После удаления > Dr.Web из > EM> системы все заработало как надо. > > Темните вы что-то. > Если он был без firewall, он никак не мог фильтровать веб-трафик. > > > -- > С уважением > > Andrey Repin (hell-for-yahoo на umail.ru) среда, 25.01.2012, <20:50> > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From hell-for-yahoo на umail.ru Wed Jan 25 22:50:10 2012 From: hell-for-yahoo на umail.ru (Andrey Repin) Date: Thu, 26 Jan 2012 02:50:10 +0400 Subject: Fwd: Обработка заголовков протокола Mercurial. In-Reply-To: References: <4F1F9D85.2010208@bestmx.ru> <20120125064646.GB83139@lo0.su> <20120125084419.GF83139@lo0.su> <20120125105333.GH83139@lo0.su> <20120125131051.GM67687@mdounin.ru> <1056779884.20120125205116@mtu-net.ru> Message-ID: <377620994.20120126025010@mtu-net.ru> Здравствуйте, Уважаемый(-ая, -ое) Eugene Mamin! EM> Нет, более того, как мне уже верно посоветовали, стоит написать об этом EM> где-нибудь на хабре, дабы получить вынужденные комментарии от создателей EM> чудного средства защиты. Вы что, журналист? Что вам так скандалы нравятся? Не приходит в голову задать вопрос в техподдержку? EM> Да, скриншот я приложил как раз, чтобы заранее EM> ответить на любые унции сомнения. 404 not found ваш скриншот. И кончайте топпостить, читать же невозможно. -- С уважением Andrey Repin (hell-for-yahoo на umail.ru) четверг, 26.01.2012, <02:48> From ekruglov на gmail.com Thu Jan 26 09:10:09 2012 From: ekruglov на gmail.com (Kruglov Eugenie) Date: Thu, 26 Jan 2012 12:10:09 +0300 Subject: =?UTF-8?B?UmU6INC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdGL0Lkg0LfQsNC/0YDQvtGBLCA=?= =?UTF-8?B?0L/RgNC4INC+0LHRgNCw0YnQtdC90LjQuCDQuiDRgdGC0LDRgtC40LrQtQ==?= In-Reply-To: References: Message-ID: 2012/1/16 x00xer > Ищется способ подсчета скачиваний > определенного файла. > > Было бы здорово если б nginx мог сделать > запрос к бэкенду, или выполнить > сконфигуренную заранее комманду через > шелл. > Тогда при каждом обращении к > определенному файлу можно было бы > получать свежую информацию об этом. > backnd + X-Accel-Redirect чем вас не устраивает? -- Faithfully yours, Eugenie ICQ #701217 GTalk ekruglov на gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum на nginx.us Thu Jan 26 10:18:59 2012 From: nginx-forum на nginx.us (sirko_el) Date: Thu, 26 Jan 2012 05:18:59 -0500 Subject: =?UTF-8?B?0JXRgdGC0Ywg0LvQuCDQstC+0LfQvNC+0LbQvdC+0YHRgtGMINGA0LDQt9Cz0YA=?= =?UTF-8?B?0YPQt9C40YLRjCDQutCw0L3QsNC7INGBINC/0L7QvNC+0YnRjNGOIHJld3Jp?= =?UTF-8?B?dGUg0L3QsCB1cHN0cmVhbT8=?= Message-ID: <8751666b6939c39890c7b7bcca210c0b.NginxMailingListRussian@forum.nginx.org> Приветствую всех. Краткое введение. Есть проект, работающий на нескольких серверах, каждый из которых выполняет свое логическое назначение, время от времени общаясь с другими серверами, на каждом работает nginx+php-fpm. Один из серверов балансирует с помощью location и proxy_pass на остальные, на нем же находится статика. В определенный момент оказалось, что нагрузка на балансировщик составила 90%-95% стомегабитного канала. Было принято решение выделить сервер для статики. При организации взаимодействия пришлось использовать rewrite на IP статик сервера, так как location не разгружал канал(и это понятно). После вынесения статики оказалось, что на статик сервере нагрузка составила 70-80 МБит/с. Теперь вопрос. Есть ли механизмы в nginx, позволяющие организовать rewrite не на сервер а на upstream, для введения дополнительных серверов статики? Заранее благодарю за ответы. P.S. Если будут альтернативные варианты, с удовольствием рассмотрю. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221662,221662#msg-221662 From citrin на citrin.ru Thu Jan 26 10:37:33 2012 From: citrin на citrin.ru (Anton Yuzhaninov) Date: Thu, 26 Jan 2012 14:37:33 +0400 Subject: =?UTF-8?B?UmU6IEZ3ZDog0J7QsdGA0LDQsdC+0YLQutCwINC30LDQs9C+0LvQvtCy0LrQvtCy?= =?UTF-8?B?INC/0YDQvtGC0L7QutC+0LvQsCBNZXJjdXJpYWwu?= In-Reply-To: <1056779884.20120125205116@mtu-net.ru> References: <4F1F9D85.2010208@bestmx.ru> <20120125064646.GB83139@lo0.su> <20120125084419.GF83139@lo0.su> <20120125105333.GH83139@lo0.su> <20120125131051.GM67687@mdounin.ru> <1056779884.20120125205116@mtu-net.ru> Message-ID: <4F212CED.9030705@citrin.ru> On 01/25/12 20:51, Andrey Repin wrote: > Темните вы что-то. > Если он был без firewall, он никак не мог фильтровать веб-трафик. Я винду знаю плохо, но насколько понимаю антивирусы прописывают в ресстре dll-ки со своими функциями для перехватывания трафика. Когда в настройках антивируса файрвол отключен, то код из dll-ок все равно дергается, но уже внутри кода антивируса данные должны передаваться без проверки. Так что теоретически возможно, что код антивируса портит заголовки, даже если не проверяет трафик на вирусы. -- Anton Yuzhaninov From ne на vbart.ru Thu Jan 26 11:06:25 2012 From: ne на vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Thu, 26 Jan 2012 15:06:25 +0400 Subject: =?UTF-8?B?UmU6IEZ3ZDogINCe0LHRgNCw0LHQvtGC0LrQsCDQt9Cw0LPQvtC70L7QstC60L4=?= =?UTF-8?B?0LIg0L/RgNC+0YLQvtC60L7Qu9CwIE1lcmN1cmlhbC4=?= In-Reply-To: <377620994.20120126025010@mtu-net.ru> References: <377620994.20120126025010@mtu-net.ru> Message-ID: <201201261506.25317.ne@vbart.ru> On Thursday 26 January 2012 02:50:10 Andrey Repin wrote: [...] > > EM> Да, скриншот я приложил как раз, чтобы заранее > EM> ответить на любые унции сомнения. > > 404 not found ваш скриншот. > Вы, вероятно, пытались со скобочкой на конце открыть. http://ftp.dzhon.in/1.png - 200 http://ftp.dzhon.in/1.png) - 404 -- Валентин Бартенев From nginx-forum на nginx.us Thu Jan 26 13:50:03 2012 From: nginx-forum на nginx.us (Craken) Date: Thu, 26 Jan 2012 08:50:03 -0500 Subject: =?UTF-8?B?UmU6INCV0YHRgtGMINC70Lgg0LLQvtC30LzQvtC20L3QvtGB0YLRjCDRgNCw0Lc=?= =?UTF-8?B?0LPRgNGD0LfQuNGC0Ywg0LrQsNC90LDQuyDRgSDQv9C+0LzQvtGJ0YzRjiBy?= =?UTF-8?B?ZXdyaXRlINC90LAgdXBzdHJlYW0/?= In-Reply-To: <8751666b6939c39890c7b7bcca210c0b.NginxMailingListRussian@forum.nginx.org> References: <8751666b6939c39890c7b7bcca210c0b.NginxMailingListRussian@forum.nginx.org> Message-ID: <64d1027bd402a82e45b5673dfa344a6d.NginxMailingListRussian@forum.nginx.org> Вы хотите с нескольких серверов по очереди брать статику? P.S. попробуйте еще включить gzip_comp_level на максимум. Может немножко спадет нагрузка на канал Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221662,221667#msg-221667 From slava.kokorin на gmail.com Thu Jan 26 14:08:17 2012 From: slava.kokorin на gmail.com (Slava Kokorin) Date: Thu, 26 Jan 2012 18:08:17 +0400 Subject: =?UTF-8?B?UmU6INCV0YHRgtGMINC70Lgg0LLQvtC30LzQvtC20L3QvtGB0YLRjCDRgNCw0Lc=?= =?UTF-8?B?0LPRgNGD0LfQuNGC0Ywg0LrQsNC90LDQuyDRgSDQv9C+0LzQvtGJ0YzRjiBy?= =?UTF-8?B?ZXdyaXRlINC90LAgdXBzdHJlYW0/?= In-Reply-To: <8751666b6939c39890c7b7bcca210c0b.NginxMailingListRussian@forum.nginx.org> References: <8751666b6939c39890c7b7bcca210c0b.NginxMailingListRussian@forum.nginx.org> Message-ID: 26 января 2012 г. 14:18 пользователь sirko_el написал: > Приветствую всех. > Краткое введение. Есть проект, > работающий на нескольких серверах, > каждый из которых выполняет свое > логическое назначение, время от > времени общаясь с другими серверами, на > каждом работает nginx+php-fpm. Один из > серверов балансирует с помощью location и > proxy_pass на остальные, на нем же находится > статика. > Можно сделать не один, а два таких сервера. Входящий трафик поделить через round robin dns например. > В определенный момент оказалось, что > нагрузка на балансировщик составила > 90%-95% стомегабитного канала. Было > принято решение выделить сервер для > статики. При организации > взаимодействия пришлось использовать > rewrite на IP статик сервера, так как location не > разгружал канал(и это понятно). После > вынесения статики оказалось, что на > статик сервере нагрузка составила 70-80 > МБит/с. > > Теперь вопрос. Есть ли механизмы в nginx, > позволяющие организовать rewrite не на > сервер а на upstream, для введения > дополнительных серверов статики? > Заранее благодарю за ответы. > P.S. Если будут альтернативные варианты, > с удовольствием рассмотрю. > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,221662,221662#msg-221662 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Regards, Slava ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на nginx.us Thu Jan 26 14:16:42 2012 From: nginx-forum на nginx.us (sirko_el) Date: Thu, 26 Jan 2012 09:16:42 -0500 Subject: =?UTF-8?B?UmU6INCV0YHRgtGMINC70Lgg0LLQvtC30LzQvtC20L3QvtGB0YLRjCDRgNCw0Lc=?= =?UTF-8?B?0LPRgNGD0LfQuNGC0Ywg0LrQsNC90LDQuyDRgSDQv9C+0LzQvtGJ0YzRjiBy?= =?UTF-8?B?ZXdyaXRlINC90LAgdXBzdHJlYW0/?= In-Reply-To: <64d1027bd402a82e45b5673dfa344a6d.NginxMailingListRussian@forum.nginx.org> References: <8751666b6939c39890c7b7bcca210c0b.NginxMailingListRussian@forum.nginx.org> <64d1027bd402a82e45b5673dfa344a6d.NginxMailingListRussian@forum.nginx.org> Message-ID: Попробуем. Спасибо. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221662,221669#msg-221669 From tolyar на mx.ru Thu Jan 26 14:29:35 2012 From: tolyar на mx.ru (Zherdev Anatoly) Date: Thu, 26 Jan 2012 18:29:35 +0400 Subject: =?UTF-8?B?0JTQvtC60YPQvNC10L3RgtCw0YbQuNGPINC90LAgcmV0dXJu?= Message-ID: <20120126182935.5679488d@dwarf> Добрый день. В документации на сайте http://nginx.org/ru/docs/http/ngx_http_rewrite_module.html#return в описании директивы return указан только один формат использования - return код; По факту можно использовать конструкции вида: return http://site.tld/ return 301 http://site.tld/ (причем 301 если верить документации, не разрешен) Это официально поддерживаемые форматы, или они могут исчезнуть в новых версиях ? Если официально поддерживаемые, то обновите пожалуйста документацию. -- Anatoly Zherdev From igor на sysoev.ru Thu Jan 26 14:35:36 2012 From: igor на sysoev.ru (Igor Sysoev) Date: Thu, 26 Jan 2012 18:35:36 +0400 Subject: =?UTF-8?B?UmU6INCU0L7QutGD0LzQtdC90YLQsNGG0LjRjyDQvdCwIHJldHVybg==?= In-Reply-To: <20120126182935.5679488d@dwarf> References: <20120126182935.5679488d@dwarf> Message-ID: <20120126143536.GA54853@nginx.com> On Thu, Jan 26, 2012 at 06:29:35PM +0400, Zherdev Anatoly wrote: > Добрый день. > > В документации на сайте > http://nginx.org/ru/docs/http/ngx_http_rewrite_module.html#return > в описании директивы return указан только один формат > использования - return код; > > По факту можно использовать конструкции вида: > > return http://site.tld/ > return 301 http://site.tld/ (причем 301 если верить документации, не > разрешен) > > Это официально поддерживаемые форматы, или они могут исчезнуть в новых > версиях ? Если официально поддерживаемые, то обновите пожалуйста > документацию. Поддерживаемые. Обновим. -- Igor Sysoev From artist на academ.org Thu Jan 26 17:42:44 2012 From: artist на academ.org (Bokhan Artem) Date: Fri, 27 Jan 2012 00:42:44 +0700 Subject: =?UTF-8?B?0L/RgNC+0LHQtdC70Ysg0LIgdXNlcmlkINCy0LzQtdGB0YLQviDRgdC40LzQstC+?= =?UTF-8?B?0LvQsCAr?= Message-ID: <4F219094.50003@academ.org> Приветствую. От большого количества клиентов userid возвращается с пробелом вместо "+", например, "rBBMZkxPLk SaGN7BRPaAg==" вместо "rBBMZkxPLk+SaGN7BRPaAg==". Не знаю причину - вероятно, ошибка в каких-либо браузерах либо неправильная установка куки. Выдержка с одного из серверов из error.log за день: 701887 ошибок "client sent invalid userid cookie" с 25756 уникальными ip-адресами Может быть имеет смысл сделать опцию к UserIdModule, позволяющую обходить проблему? From mdounin на mdounin.ru Fri Jan 27 11:05:00 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Fri, 27 Jan 2012 15:05:00 +0400 Subject: =?UTF-8?B?UmU6INC/0YDQvtCx0LXQu9GLINCyIHVzZXJpZCDQstC80LXRgdGC0L4g0YHQuNC8?= =?UTF-8?B?0LLQvtC70LAgKw==?= In-Reply-To: <4F219094.50003@academ.org> References: <4F219094.50003@academ.org> Message-ID: <20120127110500.GH67687@mdounin.ru> Hello! On Fri, Jan 27, 2012 at 12:42:44AM +0700, Bokhan Artem wrote: > Приветствую. > > От большого количества клиентов userid возвращается с пробелом > вместо "+", например, "rBBMZkxPLk SaGN7BRPaAg==" вместо > "rBBMZkxPLk+SaGN7BRPaAg==". Не знаю причину - вероятно, ошибка в > каких-либо браузерах либо неправильная установка куки. > > Выдержка с одного из серверов из error.log за день: 701887 ошибок > "client sent invalid userid cookie" с 25756 уникальными ip-адресами > > Может быть имеет смысл сделать опцию к UserIdModule, позволяющую > обходить проблему? Я бы скорее задумался о том, чтобы не слать клиентам base64. В крайнем случае - base64url. Maxim Dounin From nginx-forum на nginx.us Fri Jan 27 13:25:46 2012 From: nginx-forum на nginx.us (=?UTF-8?Q? =D0=BA=D0=BE=D0=BB=D0=B1=D0=B0=D1=81=D0=BA=D0=B8=D0=BD ?=) Date: Fri, 27 Jan 2012 08:25:46 -0500 Subject: =?UTF-8?B?UmU6IGxpbWl0IGNvbm4g0YDQsNCx0L7RgtCw0LXRgiDQvdC1INC90LAg0LLRgdC1?= =?UTF-8?B?0YUg0YXQvtGB0YLQsNGF?= In-Reply-To: <3847C96A-50C0-45C2-8CB1-C4A0B65D5929@gmail.com> References: <3847C96A-50C0-45C2-8CB1-C4A0B65D5929@gmail.com> Message-ID: <3d9a15648f5a16d4ae4ef8069b6cd677.NginxMailingListRussian@forum.nginx.org> Я программой флудилкой даю нагрузку на определенный хост и вот на определенных хостах ограничение работает (я вижу это в error.log nginx), а на других нет. Конфиг и вырезку из лога я написал выше... Вот мне и интересно что еще влияет на работу ограничения в nginx Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221407,221689#msg-221689 From nginx-forum на nginx.us Fri Jan 27 13:38:06 2012 From: nginx-forum на nginx.us (alw) Date: Fri, 27 Jan 2012 08:38:06 -0500 Subject: nginx, php, location Message-ID: <0c7d374b5577f54f548b129037f2f376.NginxMailingListRussian@forum.nginx.org> Добрый день. 1. В чем глубинный смысл описывать location / {....} в конфиге nginx? Чем плохо описывать необходимые рерайты и обращения к прокси непосредственно в server {...}? 2. Есть некий сайт на php. Есть у него админка, доступ к которой закрыт через AuthBasic. Кусок конфига: location /admin/ { auth_basic "Restricted"; auth_basic_user_file user.passwd; include /etc/nginx/conf.d/common-loc.inc; } location / { куча рерайтов include /etc/nginx/conf.d/common-loc.inc; } в common-loc.inc: location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; } Вложенные location - хорошо или не очень? Если нет, то как изящнее/правильнее подобную схему описать? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221691,221691#msg-221691 From artist на academ.org Fri Jan 27 13:44:14 2012 From: artist на academ.org (Artem Bokhan) Date: Fri, 27 Jan 2012 20:44:14 +0700 Subject: =?UTF-8?B?UmU6INC/0YDQvtCx0LXQu9GLINCyIHVzZXJpZCDQstC80LXRgdGC0L4g0YHQuNC8?= =?UTF-8?B?0LLQvtC70LAgKw==?= In-Reply-To: <20120127110500.GH67687@mdounin.ru> References: <4F219094.50003@academ.org> <20120127110500.GH67687@mdounin.ru> Message-ID: <4F22AA2E.7090309@academ.org> On 27.01.2012 18:05, Maxim Dounin wrote: > Может быть имеет смысл сделать опцию к UserIdModule, позволяющую > обходить проблему? > Я бы скорее задумался о том, чтобы не слать клиентам base64. В > крайнем случае - base64url. Не совсем понял контекст ответа :) С обратной совместимостью модуля то ничего не поделаешь. > Maxim Dounin > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From artist на academ.org Fri Jan 27 13:56:19 2012 From: artist на academ.org (Artem Bokhan) Date: Fri, 27 Jan 2012 20:56:19 +0700 Subject: =?UTF-8?B?UmU6INC/0YDQvtCx0LXQu9GLINCyIHVzZXJpZCDQstC80LXRgdGC0L4g0YHQuNC8?= =?UTF-8?B?0LLQvtC70LAgKw==?= In-Reply-To: <4F22AA2E.7090309@academ.org> References: <4F219094.50003@academ.org> <20120127110500.GH67687@mdounin.ru> <4F22AA2E.7090309@academ.org> Message-ID: <4F22AD03.2050908@academ.org> On 27.01.2012 20:44, Artem Bokhan wrote: > On 27.01.2012 18:05, Maxim Dounin wrote: >> Может быть имеет смысл сделать опцию к UserIdModule, позволяющую >> обходить проблему? >> Я бы скорее задумался о том, чтобы не слать клиентам base64. В >> крайнем случае - base64url. > Не совсем понял контекст ответа :) С обратной совместимостью модуля то ничего > не поделаешь. > > В том смысле что куку генерит nginx, а не что-то написанное нами. Все уиды, выданные пользователям, отменять нельзя. К тому же, модуль наверняка совместим с apache. From igor на sysoev.ru Fri Jan 27 14:00:46 2012 From: igor на sysoev.ru (Igor Sysoev) Date: Fri, 27 Jan 2012 18:00:46 +0400 Subject: =?UTF-8?B?UmU6INC/0YDQvtCx0LXQu9GLINCyIHVzZXJpZCDQstC80LXRgdGC0L4g0YHQuNC8?= =?UTF-8?B?0LLQvtC70LAgKw==?= In-Reply-To: <4F219094.50003@academ.org> References: <4F219094.50003@academ.org> Message-ID: <20120127140046.GA18031@nginx.com> On Fri, Jan 27, 2012 at 12:42:44AM +0700, Bokhan Artem wrote: > Приветствую. > > От большого количества клиентов userid возвращается с пробелом вместо > "+", например, "rBBMZkxPLk SaGN7BRPaAg==" вместо > "rBBMZkxPLk+SaGN7BRPaAg==". Не знаю причину - вероятно, ошибка в > каких-либо браузерах либо неправильная установка куки. > > Выдержка с одного из серверов из error.log за день: 701887 ошибок > "client sent invalid userid cookie" с 25756 уникальными ip-адресами Есть ощущение, что это не браузеры, а боты. Их даже можно так вычислять :) -- Igor Sysoev From artist на academ.org Fri Jan 27 15:06:15 2012 From: artist на academ.org (Artem Bokhan) Date: Fri, 27 Jan 2012 22:06:15 +0700 Subject: =?UTF-8?B?UmU6INC/0YDQvtCx0LXQu9GLINCyIHVzZXJpZCDQstC80LXRgdGC0L4g0YHQuNC8?= =?UTF-8?B?0LLQvtC70LAgKw==?= In-Reply-To: <20120127140046.GA18031@nginx.com> References: <4F219094.50003@academ.org> <20120127140046.GA18031@nginx.com> Message-ID: <4F22BD67.2020503@academ.org> On 27.01.2012 21:00, Igor Sysoev wrote: > On Fri, Jan 27, 2012 at 12:42:44AM +0700, Bokhan Artem wrote: >> Приветствую. >> >> От большого количества клиентов userid возвращается с пробелом вместо >> "+", например, "rBBMZkxPLk SaGN7BRPaAg==" вместо >> "rBBMZkxPLk+SaGN7BRPaAg==". Не знаю причину - вероятно, ошибка в >> каких-либо браузерах либо неправильная установка куки. >> >> Выдержка с одного из серверов из error.log за день: 701887 ошибок >> "client sent invalid userid cookie" с 25756 уникальными ip-адресами > Есть ощущение, что это не браузеры, а боты. Их даже можно так вычислять :) > > Нет, это реальные посетители. From mdounin на mdounin.ru Fri Jan 27 15:23:58 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Fri, 27 Jan 2012 19:23:58 +0400 Subject: =?UTF-8?B?UmU6INC/0YDQvtCx0LXQu9GLINCyIHVzZXJpZCDQstC80LXRgdGC0L4g0YHQuNC8?= =?UTF-8?B?0LLQvtC70LAgKw==?= In-Reply-To: <4F22AA2E.7090309@academ.org> References: <4F219094.50003@academ.org> <20120127110500.GH67687@mdounin.ru> <4F22AA2E.7090309@academ.org> Message-ID: <20120127152358.GI67687@mdounin.ru> Hello! On Fri, Jan 27, 2012 at 08:44:14PM +0700, Artem Bokhan wrote: > On 27.01.2012 18:05, Maxim Dounin wrote: > >Может быть имеет смысл сделать опцию к UserIdModule, позволяющую > >обходить проблему? > >Я бы скорее задумался о том, чтобы не слать клиентам base64. В > >крайнем случае - base64url. > Не совсем понял контекст ответа :) С обратной совместимостью модуля > то ничего не поделаешь. Обратная совместимость - это отдельный вопрос. В данном случае - достаточно продолжать принимать то, что nginx принимает сейчас. А с невозможностью использования base64 (не url) в мире web-разработки я уже неоднократно сталкивался, и особого смысла продолжать ходить по тем же самым граблям - не вижу. Maxim Dounin From mdounin на mdounin.ru Fri Jan 27 16:03:36 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Fri, 27 Jan 2012 20:03:36 +0400 Subject: =?UTF-8?B?UmU6IGxpbWl0IGNvbm4g0YDQsNCx0L7RgtCw0LXRgiDQvdC1INC90LAg0LLRgdC1?= =?UTF-8?B?0YUg0YXQvtGB0YLQsNGF?= In-Reply-To: <3d9a15648f5a16d4ae4ef8069b6cd677.NginxMailingListRussian@forum.nginx.org> References: <3847C96A-50C0-45C2-8CB1-C4A0B65D5929@gmail.com> <3d9a15648f5a16d4ae4ef8069b6cd677.NginxMailingListRussian@forum.nginx.org> Message-ID: <20120127160336.GK67687@mdounin.ru> Hello! On Fri, Jan 27, 2012 at 08:25:46AM -0500, колбаскин wrote: > Я программой флудилкой даю нагрузку на > определенный хост и вот на > определенных хостах ограничение > работает (я вижу это в error.log nginx), а на > других нет. > > Конфиг и вырезку из лога я написал > выше... > > Вот мне и интересно что еще влияет на > работу ограничения в nginx Скорее всего, ваша "программа флудилка" не делает того, что могло бы вызывать срабатывание ограничения по limit_conn. В частности, вызывать срабатывание ограничения, запрашивая статический файл малого размера - практически невозможно, ибо файл сразу и целиком отправляется в буфер сокета, после чего nginx перестаёт заниматься данным запросом/соединением. http://nginx.org/ru/docs/http/ngx_http_limit_conn_module.html : Ограничиваются не любые соединения, а лишь те, в которых имеются : запросы, обрабатываемые сервером, и заголовок запроса уже : прочитан. Maxim Dounin From temotor на gmail.com Fri Jan 27 16:16:45 2012 From: temotor на gmail.com (Sergey Shepelev) Date: Fri, 27 Jan 2012 20:16:45 +0400 Subject: nginx, php, location In-Reply-To: <0c7d374b5577f54f548b129037f2f376.NginxMailingListRussian@forum.nginx.org> References: <0c7d374b5577f54f548b129037f2f376.NginxMailingListRussian@forum.nginx.org> Message-ID: 2012/1/27 alw : > Добрый день. > > 1. > В чем глубинный смысл описывать location / > {....} в конфиге nginx? > Чем плохо описывать необходимые > рерайты и обращения к прокси > непосредственно в server {...}? > 1) Изоляция настроек = читаемость и поддерживаемость конфига. Если описан location / {...}, можно добавить location /foo {...} с любыми настройками и они не будут друг другу мешать. 2) Экономия ресурсов Все директивы описанные в location /foo {} будут занимать процессорное время и память только если запрос пришёл на /foo. > Вложенные location - хорошо или не очень? > Если нет, то как изящнее/правильнее > подобную схему описать? > Вложенные location ? это замечательно. Правильнее тут только переименовать common-loc.inc в такое имя, которое будет отражать суть его содержимого (проксирование *.php на fastcgi:9000). From mdounin на mdounin.ru Fri Jan 27 16:16:59 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Fri, 27 Jan 2012 20:16:59 +0400 Subject: nginx, php, location In-Reply-To: <0c7d374b5577f54f548b129037f2f376.NginxMailingListRussian@forum.nginx.org> References: <0c7d374b5577f54f548b129037f2f376.NginxMailingListRussian@forum.nginx.org> Message-ID: <20120127161659.GL67687@mdounin.ru> Hello! On Fri, Jan 27, 2012 at 08:38:06AM -0500, alw wrote: > Добрый день. > > 1. > В чем глубинный смысл описывать location / > {....} в конфиге nginx? > Чем плохо описывать необходимые > рерайты и обращения к прокси > непосредственно в server {...}? Не описывать location / - может выйти боком. Лучше - описывать. Обсуждалось не так давно, вот тут начало треда: http://mailman.nginx.org/pipermail/nginx-ru/2011-October/043481.html С технической точки зрения - не описывая location /, вы в результате вызываете обработку запроса в конфигурации т.н. "null location", который исходно предназначался совсем не для обработки запросов, а был особенностью реализации возможности задать директивы на уровне server, чтобы они работали во всех описанных location'ах. > 2. Есть некий сайт на php. Есть у него > админка, доступ к которой закрыт через > AuthBasic. > Кусок конфига: > > location /admin/ { > auth_basic "Restricted"; > auth_basic_user_file user.passwd; > include /etc/nginx/conf.d/common-loc.inc; > } > > location / { > куча рерайтов > include /etc/nginx/conf.d/common-loc.inc; > } > > в common-loc.inc: > location ~ \.php$ { > fastcgi_pass 127.0.0.1:9000; > fastcgi_index index.php; > include fastcgi_params; > } > > Вложенные location - хорошо или не очень? > Если нет, то как изящнее/правильнее > подобную схему описать? Вложенные location'ы - это хорошо. Maxim Dounin From nginx-forum на nginx.us Sat Jan 28 09:09:07 2012 From: nginx-forum на nginx.us (=?UTF-8?Q? =D0=BA=D0=BE=D0=BB=D0=B1=D0=B0=D1=81=D0=BA=D0=B8=D0=BD ?=) Date: Sat, 28 Jan 2012 04:09:07 -0500 Subject: =?UTF-8?B?UmU6IGxpbWl0IGNvbm4g0YDQsNCx0L7RgtCw0LXRgiDQvdC1INC90LAg0LLRgdC1?= =?UTF-8?B?0YUg0YXQvtGB0YLQsNGF?= In-Reply-To: <3d9a15648f5a16d4ae4ef8069b6cd677.NginxMailingListRussian@forum.nginx.org> References: <3847C96A-50C0-45C2-8CB1-C4A0B65D5929@gmail.com> <3d9a15648f5a16d4ae4ef8069b6cd677.NginxMailingListRussian@forum.nginx.org> Message-ID: Возможно я повторюсь, но ограничения срабатывают не на всех хостах На части хостах все нормально отрабатывает. Мне обязательно нужны логи с привышением лимита подключений, я потом их собираю и заношу ip в бан лист И вот из-за того что ограничение работает например на 4х хостах из 5ти - работает не на всех сайтах Вот я и спрашиваю о каких либо четких требованиях к конфигам хоста или может какие либо дополнительные модули... Флудилка работает нормально на все хосты, но не на всех хостах ограничивает Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221407,221721#msg-221721 From nginx-forum на nginx.us Sat Jan 28 09:24:37 2012 From: nginx-forum на nginx.us (reaper) Date: Sat, 28 Jan 2012 04:24:37 -0500 Subject: =?UTF-8?B?0L/QvtCy0LXQtNC10L3QuNC1IGVycm9yIHBhZ2U=?= Message-ID: <95022a57c0877fa0abfc4b4400653b31.NginxMailingListRussian@forum.nginx.org> В конфиге прописано, чтобы все ошибки 504 выводились как 503: error_page 504 =503 /; Так же в конфиге прописаны 2 бэкенда: upstream back { ip_hash; server 192.168.0.1; server 192.168.0.2; } на них идет ссылка через proxy_pass При попадании на страницу, которая действительно не отдается с бэкенда я все так же вижу 504 на клиенте. При прописывании location /aaa.html { return 504; } и попытке загрузить эту страницу, на клиенте вижу 503. Почему так получается? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221722,221722#msg-221722 From ne на vbart.ru Sat Jan 28 09:35:16 2012 From: ne на vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Sat, 28 Jan 2012 13:35:16 +0400 Subject: =?UTF-8?B?UmU6INC/0L7QstC10LTQtdC90LjQtSBlcnJvciBwYWdl?= In-Reply-To: <95022a57c0877fa0abfc4b4400653b31.NginxMailingListRussian@forum.nginx.org> References: <95022a57c0877fa0abfc4b4400653b31.NginxMailingListRussian@forum.nginx.org> Message-ID: <201201281335.16837.ne@vbart.ru> On Saturday 28 January 2012 13:24:37 reaper wrote: > В конфиге прописано, чтобы все ошибки 504 > выводились как 503: > > error_page 504 =503 /; > > Так же в конфиге прописаны 2 бэкенда: > > upstream back { > ip_hash; > server 192.168.0.1; > server 192.168.0.2; > } > > на них идет ссылка через proxy_pass > > При попадании на страницу, которая > действительно не отдается с бэкенда я > все так же вижу 504 на клиенте. > > При прописывании > location /aaa.html { > return 504; > } > > и попытке загрузить эту страницу, на > клиенте вижу 503. > http://www.nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_intercept_errors -- Валентин Бартенев From ne на vbart.ru Sat Jan 28 09:42:46 2012 From: ne на vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Sat, 28 Jan 2012 13:42:46 +0400 Subject: =?UTF-8?B?UmU6IGxpbWl0IGNvbm4g0YDQsNCx0L7RgtCw0LXRgiDQvdC1INC90LAg0LLRgdC1?= =?UTF-8?B?0YUg0YXQvtGB0YLQsNGF?= In-Reply-To: References: <3847C96A-50C0-45C2-8CB1-C4A0B65D5929@gmail.com> <3d9a15648f5a16d4ae4ef8069b6cd677.NginxMailingListRussian@forum.nginx.org> Message-ID: <201201281342.46471.ne@vbart.ru> On Saturday 28 January 2012 13:09:07 колбаскин wrote: > Возможно я повторюсь, но ограничения > срабатывают не на всех хостах > На части хостах все нормально > отрабатывает. Как вы убедились в том, что было превышено количество активных соединений? > Мне обязательно нужны логи с > привышением лимита подключений, я > потом их собираю и заношу ip в бан лист У вас точно включены логи и уровень логгирования достаточен для записи ограничений на данных хостах? Покажите полный конфиг. > И вот из-за того что ограничение > работает например на 4х хостах из 5ти - > работает не на всех сайтах > > Вот я и спрашиваю о каких либо четких > требованиях к конфигам хоста или может > какие либо дополнительные модули... Все "требования" четко описаны в документации: http://www.nginx.org/ru/docs/http/ngx_http_limit_conn_module.html -- Валентин Бартенев From nginx-forum на nginx.us Sat Jan 28 10:15:04 2012 From: nginx-forum на nginx.us (reaper) Date: Sat, 28 Jan 2012 05:15:04 -0500 Subject: =?UTF-8?B?UmU6INC/0L7QstC10LTQtdC90LjQtSBlcnJvciBwYWdl?= In-Reply-To: <201201281335.16837.ne@vbart.ru> References: <201201281335.16837.ne@vbart.ru> Message-ID: Валентин Бартенев Wrote: ------------------------------------------------------- > http://www.nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_intercept_errors Каким образом здесь может помочь этот параметр? 504 генерирует фронт, бэк просто не отвечает. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221723,221726#msg-221726 From nginx-forum на nginx.us Sat Jan 28 14:41:50 2012 From: nginx-forum на nginx.us (=?UTF-8?Q? =D0=BA=D0=BE=D0=BB=D0=B1=D0=B0=D1=81=D0=BA=D0=B8=D0=BD ?=) Date: Sat, 28 Jan 2012 09:41:50 -0500 Subject: =?UTF-8?B?UmU6IGxpbWl0IGNvbm4g0YDQsNCx0L7RgtCw0LXRgiDQvdC1INC90LAg0LLRgdC1?= =?UTF-8?B?0YUg0YXQvtGB0YLQsNGF?= In-Reply-To: <201201281342.46471.ne@vbart.ru> References: <201201281342.46471.ne@vbart.ru> Message-ID: <8c48d0890d78e441d050fe199969af20.NginxMailingListRussian@forum.nginx.org> > Как вы убедились в том, что > было превышено количество > активных соединений? В программе пишет количество запросов и ответов сервера, я проверяю поочереди на всех хостах по ip адресу из 5ти работает только 4. Сравниваю конфиги - они один в один, за исключением server_name и каталога с сайтом > У вас точно включены логи и > уровень логгирования > достаточен для > записи ограничений на > данных хостах? Покажите > полный конфиг. Суть в том что там где срабатывает ограничение, логи отдаются. Причем я даже не понимаю ограничение работает или нет, потому как в логе пусто > Все "требования" четко > описаны в документации: > http://www.nginx.org/ru/docs/http/ngx_http_limit_conn_module.html Обновил nginx до последней версии, прописал по новому согласно новым требованиям Ситуация таже, срабатывает не везде Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221407,221733#msg-221733 From nginx-forum на nginx.us Sat Jan 28 15:59:49 2012 From: nginx-forum на nginx.us (=?UTF-8?Q? =D0=BA=D0=BE=D0=BB=D0=B1=D0=B0=D1=81=D0=BA=D0=B8=D0=BD ?=) Date: Sat, 28 Jan 2012 10:59:49 -0500 Subject: =?UTF-8?B?UmU6IGxpbWl0IGNvbm4g0YDQsNCx0L7RgtCw0LXRgiDQvdC1INC90LAg0LLRgdC1?= =?UTF-8?B?0YUg0YXQvtGB0YLQsNGF?= In-Reply-To: <8c48d0890d78e441d050fe199969af20.NginxMailingListRussian@forum.nginx.org> References: <201201281342.46471.ne@vbart.ru> <8c48d0890d78e441d050fe199969af20.NginxMailingListRussian@forum.nginx.org> Message-ID: Обнаружил следующее, если на тех хостах где не работает ограничение закомментить 2ю строку - начинает ограничивать и в лог начинает сыпать ограничения error_page 412 = @nocached; # proxy_cache one; proxy_cache_key "$request_method|$is_args|$host|$request_uri"; proxy_hide_header "Set-Cookie"; proxy_ignore_headers "Cache-Control" "Expires" "Set-Cookie"; proxy_cache_valid 200 302 304 15m; proxy_cache_valid 301 1h; proxy_cache_valid 503 4s; proxy_cache_valid any 1m; proxy_cache_use_stale http_502 http_503 http_504; В чем может быть проблема? почему именно на некоторых хостах? Может как-то кеш разделять нужно или еще что-то? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221407,221734#msg-221734 From chipitsine на gmail.com Sun Jan 29 04:40:53 2012 From: chipitsine на gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Sun, 29 Jan 2012 10:40:53 +0600 Subject: =?UTF-8?B?UmU6INCV0YHRgtGMINC70Lgg0LLQvtC30LzQvtC20L3QvtGB0YLRjCDRgNCw0Lc=?= =?UTF-8?B?0LPRgNGD0LfQuNGC0Ywg0LrQsNC90LDQuyDRgSDQv9C+0LzQvtGJ0YzRjiBy?= =?UTF-8?B?ZXdyaXRlINC90LAgdXBzdHJlYW0/?= In-Reply-To: <8751666b6939c39890c7b7bcca210c0b.NginxMailingListRussian@forum.nginx.org> References: <8751666b6939c39890c7b7bcca210c0b.NginxMailingListRussian@forum.nginx.org> Message-ID: Адрес вашего сайта скажите? Интересно посмотреть с точки зрения пользователя 26.01.2012 16:19 пользователь "sirko_el" написал: > Приветствую всех. > Краткое введение. Есть проект, > работающий на нескольких серверах, > каждый из которых выполняет свое > логическое назначение, время от > времени общаясь с другими серверами, на > каждом работает nginx+php-fpm. Один из > серверов балансирует с помощью location и > proxy_pass на остальные, на нем же находится > статика. > > В определенный момент оказалось, что > нагрузка на балансировщик составила > 90%-95% стомегабитного канала. Было > принято решение выделить сервер для > статики. При организации > взаимодействия пришлось использовать > rewrite на IP статик сервера, так как location не > разгружал канал(и это понятно). После > вынесения статики оказалось, что на > статик сервере нагрузка составила 70-80 > МБит/с. > > Теперь вопрос. Есть ли механизмы в nginx, > позволяющие организовать rewrite не на > сервер а на upstream, для введения > дополнительных серверов статики? > Заранее благодарю за ответы. > P.S. Если будут альтернативные варианты, > с удовольствием рассмотрю. > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,221662,221662#msg-221662 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mdounin на mdounin.ru Sun Jan 29 21:11:26 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 30 Jan 2012 01:11:26 +0400 Subject: =?UTF-8?B?UmU6IGxpbWl0IGNvbm4g0YDQsNCx0L7RgtCw0LXRgiDQvdC1INC90LAg0LLRgdC1?= =?UTF-8?B?0YUg0YXQvtGB0YLQsNGF?= In-Reply-To: References: <201201281342.46471.ne@vbart.ru> <8c48d0890d78e441d050fe199969af20.NginxMailingListRussian@forum.nginx.org> Message-ID: <20120129211126.GN67687@mdounin.ru> Hello! On Sat, Jan 28, 2012 at 10:59:49AM -0500, колбаскин wrote: > Обнаружил следующее, если на тех хостах > где не работает ограничение > закомментить 2ю строку - начинает > ограничивать и в лог начинает сыпать > ограничения > > error_page 412 = @nocached; > # proxy_cache one; > proxy_cache_key "$request_method|$is_args|$host|$request_uri"; > proxy_hide_header "Set-Cookie"; > proxy_ignore_headers "Cache-Control" "Expires" "Set-Cookie"; > proxy_cache_valid 200 302 304 15m; > proxy_cache_valid 301 1h; > proxy_cache_valid 503 4s; > proxy_cache_valid any 1m; > proxy_cache_use_stale http_502 http_503 http_504; > > В чем может быть проблема? почему > именно на некоторых хостах? > Может как-то кеш разделять нужно или > еще что-то? Повторяю ещё раз: запросами статических файлов небольшого размера вызвать срабатывание ограничения limit_conn практически невозможно. Почему так - я уже объяснял, повторять не буду. Запросы, обслуживаемые из кеша - это те же статические файлы. Maxim Dounin From tvword на gmail.com Sun Jan 29 22:39:53 2012 From: tvword на gmail.com (Vladislav) Date: Mon, 30 Jan 2012 00:39:53 +0200 Subject: =?UTF-8?B?bmdpbnggcGVybCDQntGI0LjQsdC60LAgMzI0IG5ldDo6RVJSX0VNUFRZX1JFU1BP?= =?UTF-8?B?TlNF?= Message-ID: <4F25CAB9.3010000@gmail.com> Если несколько раз нажать в браузере Ctrl-R (обновить), то на чертвертый, пятый раз обязательно выскочит ошибка 324 net::ERR_EMPTY_RESPONSE. На стороне сервера стоит nginx, perl. Perl делает элементарный обход каталогов и выводит, если нужно некоторые файлы в браузер. Подскажите, пожалуйста, какие настройки подкрутить? From zzz на zzz.org.ua Sun Jan 29 23:13:30 2012 From: zzz на zzz.org.ua (Alexandr Gomoliako) Date: Mon, 30 Jan 2012 01:13:30 +0200 Subject: =?UTF-8?B?UmU6IG5naW54IHBlcmwg0J7RiNC40LHQutCwIDMyNCBuZXQ6OkVSUl9FTVBUWV9S?= =?UTF-8?B?RVNQT05TRQ==?= In-Reply-To: <4F25CAB9.3010000@gmail.com> References: <4F25CAB9.3010000@gmail.com> Message-ID: On Mon, Jan 30, 2012 at 12:39 AM, Vladislav wrote: > Если несколько раз нажать в браузере Ctrl-R (обновить), то на чертвертый, > пятый раз обязательно выскочит ошибка 324 net::ERR_EMPTY_RESPONSE. > На стороне сервера стоит nginx, perl. Perl делает элементарный обход > каталогов и выводит, если нужно некоторые файлы в браузер. > Подскажите, пожалуйста, какие настройки подкрутить? А в логе ошибок что? From tvword на gmail.com Sun Jan 29 23:32:02 2012 From: tvword на gmail.com (Vladislav) Date: Mon, 30 Jan 2012 01:32:02 +0200 Subject: =?UTF-8?B?UmU6IG5naW54IHBlcmwg0J7RiNC40LHQutCwIDMyNCBuZXQ6OkVSUl9FTVBUWV9S?= =?UTF-8?B?RVNQT05TRQ==?= In-Reply-To: References: <4F25CAB9.3010000@gmail.com> Message-ID: <4F25D6F2.1000701@gmail.com> 30.01.2012 01:13, Alexandr Gomoliako пишет: > On Mon, Jan 30, 2012 at 12:39 AM, Vladislav wrote: >> Если несколько раз нажать в браузере Ctrl-R (обновить), то на чертвертый, >> пятый раз обязательно выскочит ошибка 324 net::ERR_EMPTY_RESPONSE. >> На стороне сервера стоит nginx, perl. Perl делает элементарный обход >> каталогов и выводит, если нужно некоторые файлы в браузер. >> Подскажите, пожалуйста, какие настройки подкрутить? > А в логе ошибок что? Пока не могу поймать... Попробую завтра. From nginx-forum на nginx.us Mon Jan 30 00:54:15 2012 From: nginx-forum на nginx.us (adept) Date: Sun, 29 Jan 2012 19:54:15 -0500 Subject: =?UTF-8?B?0LrQtdGI0LjRgNC+0LLQsNC90LjQtSDRgdGC0LDRgtC40LrQuCDQvdCwIHNzZA==?= Message-ID: Приветствую! Собственно, возникла не совсем тривиальная задача, кешировать стат. файлы на ssd диск. Есть сервер, на нем 2 сата диска в raid1 и ssd диск. На сата дисках, лежат игровые сервера. /home/server_id/cstrike/ - в этой дире, файлы которые нужно отдавать через http ssd диск смотрирован в корень, /sdd, /ssd/www/ -root в конфиге nginx'a. /ssd/cache - дира для кеша. Пока делаю так: mkdir /ssd/www/server_id ln -s /home/server_id/cstrike /ssd/www/server_id в итоге, статика доступна по адресу: http://server_ip/server_id/cstrike/file.wad Задача, кешировать эти файлы на ssd, дабы разгрузить sata диски. Пробовал так: http { [....] proxy_cache_path /ssd/cache/store levels=1:2 keys_zone=STATIC:10m inactive=1d max_size=128m; [....] server { listen 80; server_name _; location / { root /ssd/www; index index.html index.htm; } location ~ /(.*)/cstrike/.*\.(bsp|mdl|wav|mp3|spr|tga|txt|wad|bmp|gif|res)$ { proxy_pass http://127.0.0.1:80; expires 30d; proxy_intercept_errors on; proxy_cache STATIC; proxy_cache_min_uses 1; proxy_cache_valid 3d; proxy_ignore_client_abort on; proxy_temp_path /ssd/cache/tmp; proxy_cache_use_stale updating; } location ~ /(.*)/cstrike/.*\.cfg|ini { deny all; } location ~ /(.*)/cstrike/addons/ { deny all; } } } Но получаю 500 ошибку. Как правильней организовать кеширование на ssd? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221748,221748#msg-221748 From nginx-forum на nginx.us Mon Jan 30 07:36:25 2012 From: nginx-forum на nginx.us (sirko_el) Date: Mon, 30 Jan 2012 02:36:25 -0500 Subject: =?UTF-8?B?UmU6INCV0YHRgtGMINC70Lgg0LLQvtC30LzQvtC20L3QvtGB0YLRjCDRgNCw0Lc=?= =?UTF-8?B?0LPRgNGD0LfQuNGC0Ywg0LrQsNC90LDQuyDRgSDQv9C+0LzQvtGJ0YzRjiBy?= =?UTF-8?B?ZXdyaXRlINC90LAgdXBzdHJlYW0/?= In-Reply-To: References: Message-ID: <2695d4cc0d80631b75a5d14aef47bd0c.NginxMailingListRussian@forum.nginx.org> Эта информация не является конфиденциальной, но говорить не вижу смысла. Т.к. с технической точки зрения frontend вам мало о чем скажет, а backend-ы показать не могу. Могу лишь сказать, что скрипы и запросы оптимизированы по максимуму. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221662,221754#msg-221754 From morozov_ml на ngs.ru Mon Jan 30 07:48:28 2012 From: morozov_ml на ngs.ru (Alexey Morozov) Date: Mon, 30 Jan 2012 14:48:28 +0700 Subject: =?UTF-8?B?UmU6INC60LXRiNC40YDQvtCy0LDQvdC40LUg0YHRgtCw0YLQuNC60Lgg0L3QsCBz?= =?UTF-8?B?c2Q=?= In-Reply-To: References: Message-ID: <4F264B4C.5010501@ngs.ru> On 30.01.2012 07:54, adept wrote: > Приветствую! > Собственно, возникла не совсем > тривиальная задача, кешировать стат. > файлы на ssd диск.... > ...Но получаю 500 ошибку. > Как правильней организовать > кеширование на ssd? У нас кэширование /почти постоянных данных большого объема и количества/ реализовано примерно так: location /tiles_2.0/ { internal; alias $tile_root/; ... try_files $tile_path @proxy_tiles_2.0; } # Download tiles from backend and store (tiles do not expire). location @proxy_tiles_2.0 { proxy_pass $map20_url?$args; proxy_store_access user:rw group:rw; proxy_store $tile_root/$tile_path; } В переменную $tile_path предварительно заносится относительный путь до файла, получаемого с бэкенда и сохраняемого на SSD. Этот путь конструируется из параметров запроса так, чтобы избегать слишком большого количества файлов в одном каталоге. С уважением, Алексей Морозов From alexey на wasilyev.ru Mon Jan 30 05:37:29 2012 From: alexey на wasilyev.ru (Alexey Wasilyev) Date: Mon, 30 Jan 2012 09:37:29 +0400 Subject: =?UTF-8?B?UmU6INC60LXRiNC40YDQvtCy0LDQvdC40LUg0YHRgtCw0YLQuNC60Lgg0L3QsCBz?= =?UTF-8?B?c2Q=?= In-Reply-To: References: Message-ID: <4F262C99.8030907@wasilyev.ru> 30.01.2012 4:54, adept пишет: > Но получаю 500 ошибку. > Как правильней организовать > кеширование на ssd? > Я в подобной ситуации делал на /sdd отдельный раздел, раз в некоторый промежуток времени rsync'ом синхронизировал туда файлы с сата. В nginx: location / { try_files $uri @ssd; } location @ssd { root /media/ssd; try_files $uri @storage; } location @storage { root /var/www/; } Т.е. файло пытается раздаваться с ssd, если там файла нет - то с sata. Тут выдернут кусок конфига только что бы показать идею, из него много что вычищено, соответственно в таком виде будет нерабочим. -- Alexey Wasilyev From i.lobahin на nikitaonline.ru Mon Jan 30 08:29:59 2012 From: i.lobahin на nikitaonline.ru (Ilya Lobahin) Date: Mon, 30 Jan 2012 12:29:59 +0400 Subject: =?UTF-8?B?UmVbMl06INC60LXRiNC40YDQvtCy0LDQvdC40LUg0YHRgtCw0YLQuNC60Lgg0L0=?= =?UTF-8?B?0LAgc3Nk?= In-Reply-To: <4F262C99.8030907@wasilyev.ru> References: <4F262C99.8030907@wasilyev.ru> Message-ID: <208878702.20120130122959@nikitaonline.ru> Здравствуйте, Alexey. Вы писали 30 января 2012 г., 9:37:29: > 30.01.2012 4:54, adept пишет: >> Но получаю 500 ошибку. >> Как правильней организовать >> кеширование на ssd? >> > Я в подобной ситуации делал на /sdd отдельный раздел, раз в некоторый > промежуток времени rsync'ом синхронизировал туда файлы с сата. В nginx: > location / { > try_files $uri @ssd; > } > location @ssd { > root /media/ssd; > try_files $uri @storage; > } > location @storage { > root /var/www/; > } > Т.е. файло пытается раздаваться с ssd, если там файла нет - то с sata. > Тут выдернут кусок конфига только что бы показать идею, из него много > что вычищено, соответственно в таком виде будет нерабочим. Ровно такая-же ситуация, но я делаю RAM-диск и синхронизирую туда Lsync-ом. Вопрос по теме, а зачем location @storage? Для сайта рут не определен глобально? У меня вот: root /mnt/ram/var/www/site-name/htdocs; location / { try_files $uri @disk_storage; } location @disk_storage { root /var/www/site-name/htdocs/; } -- С уважением, Лобахин Илья From igor на sysoev.ru Mon Jan 30 08:41:55 2012 From: igor на sysoev.ru (Igor Sysoev) Date: Mon, 30 Jan 2012 12:41:55 +0400 Subject: =?UTF-8?B?UmU6INC/0YDQvtCx0LXQu9GLINCyIHVzZXJpZCDQstC80LXRgdGC0L4g0YHQuNC8?= =?UTF-8?B?0LLQvtC70LAgKw==?= In-Reply-To: <4F22BD67.2020503@academ.org> References: <4F219094.50003@academ.org> <20120127140046.GA18031@nginx.com> <4F22BD67.2020503@academ.org> Message-ID: <20120130084154.GB86337@nginx.com> On Fri, Jan 27, 2012 at 10:06:15PM +0700, Artem Bokhan wrote: > On 27.01.2012 21:00, Igor Sysoev wrote: > > On Fri, Jan 27, 2012 at 12:42:44AM +0700, Bokhan Artem wrote: > >> Приветствую. > >> > >> От большого количества клиентов userid возвращается с пробелом вместо > >> "+", например, "rBBMZkxPLk SaGN7BRPaAg==" вместо > >> "rBBMZkxPLk+SaGN7BRPaAg==". Не знаю причину - вероятно, ошибка в > >> каких-либо браузерах либо неправильная установка куки. > >> > >> Выдержка с одного из серверов из error.log за день: 701887 ошибок > >> "client sent invalid userid cookie" с 25756 уникальными ip-адресами > > Есть ощущение, что это не браузеры, а боты. Их даже можно так вычислять :) > > > > > Нет, это реальные посетители. В Рамблере такое не наблюдается. А какие юзер-агенты ? -- Igor Sysoev From nginx-forum на nginx.us Mon Jan 30 08:56:08 2012 From: nginx-forum на nginx.us (adept) Date: Mon, 30 Jan 2012 03:56:08 -0500 Subject: =?UTF-8?B?UmU6INC60LXRiNC40YDQvtCy0LDQvdC40LUg0YHRgtCw0YLQuNC60Lgg0L3QsCBz?= =?UTF-8?B?c2Q=?= In-Reply-To: References: Message-ID: Синхронизация rsyns'om тут не подойдет, ибо серверов много, файлы с которых нужно раздавать, и файлы могут быть разные, да и может быть 1 или много. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221748,221763#msg-221763 From danila на shtan.ru Mon Jan 30 10:37:22 2012 From: danila на shtan.ru (Danila Shtan) Date: Mon, 30 Jan 2012 16:37:22 +0600 Subject: =?UTF-8?B?UmU6INCV0YHRgtGMINC70Lgg0LLQvtC30LzQvtC20L3QvtGB0YLRjCDRgNCw0Lc=?= =?UTF-8?B?0LPRgNGD0LfQuNGC0Ywg0LrQsNC90LDQuyDRgSDQv9C+0LzQvtGJ0YzRjiBy?= =?UTF-8?B?ZXdyaXRlINC90LAgdXBzdHJlYW0/?= In-Reply-To: <8751666b6939c39890c7b7bcca210c0b.NginxMailingListRussian@forum.nginx.org> References: <8751666b6939c39890c7b7bcca210c0b.NginxMailingListRussian@forum.nginx.org> Message-ID: Привет 2012/1/26 sirko_el : > Теперь вопрос. Есть ли механизмы в nginx, > позволяющие организовать rewrite не на > сервер а на upstream, для введения > дополнительных серверов статики? > Заранее благодарю за ответы. Можно сделать несколько server, в каждом из которых описать rewrite на свой сервер статики. И upstream делать на них. Таким образом, добавление сервера статики сведется к описыванию еще одного server по шаблону и прописыванию его в upstream. Д. From voron на amhost.net Mon Jan 30 11:42:59 2012 From: voron на amhost.net (Alex Vorona) Date: Mon, 30 Jan 2012 13:42:59 +0200 Subject: =?UTF-8?B?UmU6INC60LXRiNC40YDQvtCy0LDQvdC40LUg0YHRgtCw0YLQuNC60Lgg0L3QsCBz?= =?UTF-8?B?c2Q=?= In-Reply-To: References: Message-ID: <4F268243.3060004@amhost.net> Возможно подойдёт http://labs.frickle.com/nginx_ngx_slowfs_cache/ From public-mail на alekciy.ru Mon Jan 30 13:21:36 2012 From: public-mail на alekciy.ru (=?UTF-8?B?0JDQu9C10LrRgdC10Lkg0KHRg9C90LTRg9C60L7Qsg==?=) Date: Mon, 30 Jan 2012 17:21:36 +0400 Subject: =?UTF-8?B?UmU6INC60LXRiNC40YDQvtCy0LDQvdC40LUg0YHRgtCw0YLQuNC60Lgg0L3QsCBz?= =?UTF-8?B?c2Q=?= In-Reply-To: <4F264B4C.5010501@ngs.ru> References: <4F264B4C.5010501@ngs.ru> Message-ID: 30 января 2012 г. 11:48 пользователь Alexey Morozov написал: > On 30.01.2012 07:54, adept wrote: > В переменную $tile_path предварительно заносится относительный путь до > файла, получаемого с бэкенда и сохраняемого на SSD. Этот путь конструируется > из параметров запроса так, чтобы избегать слишком большого количества файлов > в одном каталоге. А реальный профит от этого был получен или за было заведено из соображений "в теории должно работать лучше"? Т.е. какое-то тестирование проводилось, которого говорило бы, что узкое место это диск (ну это-то понятно), и применение SSD решит проблему? Сравнение до/после есть? From nginx-forum на nginx.us Mon Jan 30 13:23:58 2012 From: nginx-forum на nginx.us (adept) Date: Mon, 30 Jan 2012 08:23:58 -0500 Subject: =?UTF-8?B?UmU6INC60LXRiNC40YDQvtCy0LDQvdC40LUg0YHRgtCw0YLQuNC60Lgg0L3QsCBz?= =?UTF-8?B?c2Q=?= In-Reply-To: References: Message-ID: Спасибо, вроде работает. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221748,221780#msg-221780 From nginx-forum на nginx.us Mon Jan 30 13:26:28 2012 From: nginx-forum на nginx.us (adept) Date: Mon, 30 Jan 2012 08:26:28 -0500 Subject: =?UTF-8?B?UmU6INC60LXRiNC40YDQvtCy0LDQvdC40LUg0YHRgtCw0YLQuNC60Lgg0L3QsCBz?= =?UTF-8?B?c2Q=?= In-Reply-To: References: Message-ID: <1493d67a1253b90a3b215f16d1379de0.NginxMailingListRussian@forum.nginx.org> PS\\ http://labs.frickle.com/nginx_ngx_slowfs_cache/ Во всяком случае, первый раз файл скачался на скорости 200кб, во второй раз, уже на макс. скорости моего тырнета. [root на msk3 nginx]# du -m 1 ./cache/b/82 2 ./cache/b/eb 2 ./cache/b 2 ./cache/e/7e 2 ./cache/e 3 ./cache 1 ./temp/1/00 1 ./temp/1 1 ./temp/2/00 1 ./temp/2 1 ./temp/3/00 1 ./temp/3 1 ./temp 3 . Файлы откладываются. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221748,221781#msg-221781 From morozov_ml на ngs.ru Mon Jan 30 13:38:36 2012 From: morozov_ml на ngs.ru (Alexey Morozov) Date: Mon, 30 Jan 2012 20:38:36 +0700 Subject: =?UTF-8?B?UmU6INC60LXRiNC40YDQvtCy0LDQvdC40LUg0YHRgtCw0YLQuNC60Lgg0L3QsCBz?= =?UTF-8?B?c2Q=?= In-Reply-To: References: <4F264B4C.5010501@ngs.ru> Message-ID: <4F269D5C.8020405@ngs.ru> On 30.01.2012 20:21, Алексей Сундуков wrote: > 30 января 2012 г. 11:48 пользователь Alexey Morozov написал: >> В переменную $tile_path предварительно заносится относительный путь до >> файла, получаемого с бэкенда и сохраняемого на SSD. Этот путь конструируется >> из параметров запроса так, чтобы избегать слишком большого количества файлов >> в одном каталоге. > А реальный профит от этого был получен или за было заведено из > соображений "в теории должно работать лучше"? Т.е. какое-то > тестирование проводилось, которого говорило бы, что узкое место это > диск (ну это-то понятно), и применение SSD решит проблему? Сравнение > до/после есть? Ну, в нашем случае выигрыш несомненен, т.к. у нас бэкенд чаще всего генерирует ответ (по неизменным исходным данным), а не просто зачитывает их с диска. Будет ли выигрыш в случае, когда данные готовы и просто лежат на медленном носителе - ну, скорее, вопрос г-ну adept. From nginx-forum на nginx.us Mon Jan 30 13:39:02 2012 From: nginx-forum на nginx.us (adept) Date: Mon, 30 Jan 2012 08:39:02 -0500 Subject: =?UTF-8?B?UmU6INC60LXRiNC40YDQvtCy0LDQvdC40LUg0YHRgtCw0YLQuNC60Lgg0L3QsCBz?= =?UTF-8?B?c2Q=?= In-Reply-To: References: Message-ID: <33e7df94f475d65d6f1865fb37b7ac6b.NginxMailingListRussian@forum.nginx.org> Выигрыш, да, несомненно есть. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221748,221783#msg-221783 From tvword на gmail.com Mon Jan 30 13:52:29 2012 From: tvword на gmail.com (Vladislav) Date: Mon, 30 Jan 2012 15:52:29 +0200 Subject: =?UTF-8?B?UmU6IG5naW54IHBlcmwg0J7RiNC40LHQutCwIDMyNCBuZXQ6OkVSUl9FTVBUWV9S?= =?UTF-8?B?RVNQT05TRQ==?= In-Reply-To: References: <4F25CAB9.3010000@gmail.com> Message-ID: <4F26A09D.6030608@gmail.com> 30.01.2012 01:13, Alexandr Gomoliako пишет: > On Mon, Jan 30, 2012 at 12:39 AM, Vladislav wrote: >> Если несколько раз нажать в браузере Ctrl-R (обновить), то на чертвертый, >> пятый раз обязательно выскочит ошибка 324 net::ERR_EMPTY_RESPONSE. >> На стороне сервера стоит nginx, perl. Perl делает элементарный обход >> каталогов и выводит, если нужно некоторые файлы в браузер. >> Подскажите, пожалуйста, какие настройки подкрутить? > А в логе ошибок что? Похоже вот это: [alert] 23694#0: worker process 23797 exited on signal 11 From nginx-forum на nginx.us Mon Jan 30 14:29:06 2012 From: nginx-forum на nginx.us (sirko_el) Date: Mon, 30 Jan 2012 09:29:06 -0500 Subject: =?UTF-8?B?UmU6INCV0YHRgtGMINC70Lgg0LLQvtC30LzQvtC20L3QvtGB0YLRjCDRgNCw0Lc=?= =?UTF-8?B?0LPRgNGD0LfQuNGC0Ywg0LrQsNC90LDQuyDRgSDQv9C+0LzQvtGJ0YzRjiBy?= =?UTF-8?B?ZXdyaXRlINC90LAgdXBzdHJlYW0/?= In-Reply-To: References: Message-ID: Спасибо за совет, но мне кажется несколько server, приусловии единственной сетевой карты не решат этот вопрос. round robin dns выглдит куда заманчивее. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221662,221788#msg-221788 From mdounin на mdounin.ru Mon Jan 30 14:54:33 2012 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 30 Jan 2012 18:54:33 +0400 Subject: nginx-1.1.14 Message-ID: <20120130145433.GD67687@mdounin.ru> Изменения в nginx 1.1.14 30.01.2012 *) Добавление: теперь можно указать несколько ограничений limit_req одновременно. *) Исправление: в обработке ошибок при соединении с бэкендом. Спасибо Piotr Sikora. *) Исправление: в обработке ошибок при использовании AIO на FreeBSD. *) Исправление: в инициализации библиотеки OpenSSL. *) Исправление: директивы proxy_redirect могли наследоваться некорректно. *) Исправление: утечки памяти при переконфигурации, если использовалась директива pcre_jit. Maxim Dounin From zzz на zzz.org.ua Mon Jan 30 15:42:33 2012 From: zzz на zzz.org.ua (Alexandr Gomoliako) Date: Mon, 30 Jan 2012 17:42:33 +0200 Subject: =?UTF-8?B?UmU6IG5naW54IHBlcmwg0J7RiNC40LHQutCwIDMyNCBuZXQ6OkVSUl9FTVBUWV9S?= =?UTF-8?B?RVNQT05TRQ==?= In-Reply-To: <4F26A09D.6030608@gmail.com> References: <4F25CAB9.3010000@gmail.com> <4F26A09D.6030608@gmail.com> Message-ID: On 1/30/12, Vladislav wrote: > Похоже вот это: [alert] 23694#0: worker process 23797 exited on signal 11 Да, попробуй воспроизвести и покажи получившийся код. Или если код и так маленький, то просто покажи код. From nginx-forum на nginx.us Mon Jan 30 16:03:26 2012 From: nginx-forum на nginx.us (Humster) Date: Mon, 30 Jan 2012 11:03:26 -0500 Subject: image_filter qq Message-ID: Добрый день, Проблема следующая. Делаю конструкцию типа location ~ \.jpg { if ( $arg_resize ) { image_filter resize $arg_w -; } } nginx ругается: "image_filter" directive is not allowed here. А вот так: location ~ \.jpg { image_filter resize $arg_w -; } все нормально работает. Скажите, пожалуйста, это фича или баг? -- Humster Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221794,221794#msg-221794 From ne на vbart.ru Mon Jan 30 16:24:43 2012 From: ne на vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Mon, 30 Jan 2012 20:24:43 +0400 Subject: image_filter qq In-Reply-To: References: Message-ID: <201201302024.44158.ne@vbart.ru> On Monday 30 January 2012 20:03:26 Humster wrote: > Добрый день, > > Проблема следующая. Делаю конструкцию > типа > > location ~ \.jpg { > if ( $arg_resize ) { > image_filter resize $arg_w -; > } > } > > nginx ругается: "image_filter" directive is not allowed here. > > А вот так: > > location ~ \.jpg { > image_filter resize $arg_w -; > } > > все нормально работает. > > Скажите, пожалуйста, это фича или баг? > http://www.nginx.org/ru/docs/http/ngx_http_image_filter_module.html#image_filter "контекст: location" -- Валентин Бартенев From nginx-forum на nginx.us Mon Jan 30 16:43:36 2012 From: nginx-forum на nginx.us (Humster) Date: Mon, 30 Jan 2012 11:43:36 -0500 Subject: image_filter qq In-Reply-To: <201201302024.44158.ne@vbart.ru> References: <201201302024.44158.ne@vbart.ru> Message-ID: Валентин Бартенев Wrote: ------------------------------------------------------- > On Monday 30 January 2012 20:03:26 Humster wrote: > > Добрый день, > > > > Проблема следующая. Делаю > конструкцию > > типа > > > > location ~ \.jpg { > > if ( $arg_resize ) { > > image_filter resize $arg_w -; > > } > > } > > > > nginx ругается: "image_filter" directive > is not allowed here. > > > > А вот так: > > > > location ~ \.jpg { > > image_filter resize $arg_w -; > > } > > > > все нормально работает. > > > > Скажите, пожалуйста, это > фича или баг? > > > > http://www.nginx.org/ru/docs/http/ngx_http_image_f > ilter_module.html#image_filter > "контекст: location" > А внутри директивы if в терминах nginx'а не контекст location? Мне казалось логичным, что все что работает внутри location, должно работать и внутри директив внутри location. То есть это фича? -- Humster Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221794,221798#msg-221798 From ne на vbart.ru Mon Jan 30 16:51:53 2012 From: ne на vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Mon, 30 Jan 2012 20:51:53 +0400 Subject: image_filter qq In-Reply-To: References: <201201302024.44158.ne@vbart.ru> Message-ID: <201201302051.53529.ne@vbart.ru> On Monday 30 January 2012 20:43:36 Humster wrote: [...] > А внутри директивы if в терминах nginx'а не > контекст location? Мне казалось > логичным, что все что работает внутри > location, должно работать и внутри > директив > внутри location. Нет. Внутри директивы if контекст "if". > То есть это фича? Да. Более того: http://wiki.nginx.org/IfIsEvil -- Валентин Бартенев From kisulja2000 на mail.ru Mon Jan 30 17:06:08 2012 From: kisulja2000 на mail.ru (kisulja2000 на mail.ru) Date: Mon, 30 Jan 2012 21:06:08 +0400 Subject: HTTP_X_LIVETOOL Message-ID: <4F26CE00.1020601@mail.ru> Здравствуйте, offtopic : Пожалуйста подскажите никто не встречал в _SERVER для некоторых клиентов HTTP_X_LIVETOOL = Yes и что это означает. Ни один из поисковиков не дает на это ответ. С уважением, Мелехов Сергей From kaa на berloga.ru Mon Jan 30 17:09:49 2012 From: kaa на berloga.ru (=?KOI8-R?Q?=E1=CE=C4=D2=C5=CA_=E2=CF=CA=CB=CF?=) Date: Mon, 30 Jan 2012 21:09:49 +0400 Subject: HTTP_X_LIVETOOL In-Reply-To: <4F26CE00.1020601@mail.ru> References: <4F26CE00.1020601@mail.ru> Message-ID: <4F26CEDD.6050506@berloga.ru> http://search.livetool.ru/ Думаю, ответ кроется тут 30.01.2012 21:06, kisulja2000 на mail.ru пишет: > Здравствуйте, > > offtopic : Пожалуйста подскажите никто не встречал в _SERVER для > некоторых клиентов HTTP_X_LIVETOOL = Yes и что это означает. Ни один > из поисковиков не дает на это ответ. > > С уважением, > Мелехов Сергей > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Андрей Бойко. тел. +7 (903) 144-11-65 тел. +7 (495) 755-71-27 skype boykoav icq 472-82-39 From voron на amhost.net Mon Jan 30 17:10:05 2012 From: voron на amhost.net (Alex Vorona) Date: Mon, 30 Jan 2012 19:10:05 +0200 Subject: HTTP_X_LIVETOOL In-Reply-To: <4F26CE00.1020601@mail.ru> References: <4F26CE00.1020601@mail.ru> Message-ID: <4F26CEED.6000309@amhost.net> http://livetool.ru/ ? From kisulja2000 на mail.ru Mon Jan 30 17:17:34 2012 From: kisulja2000 на mail.ru (kisulja2000 на mail.ru) Date: Mon, 30 Jan 2012 21:17:34 +0400 Subject: HTTP_X_LIVETOOL In-Reply-To: <4F26CEED.6000309@amhost.net> References: <4F26CE00.1020601@mail.ru> <4F26CEED.6000309@amhost.net> Message-ID: <4F26D0AE.9050200@mail.ru> 30.01.2012 21:10, Alex Vorona пишет: > http://livetool.ru/ ? > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Спасибо. From tvword на gmail.com Mon Jan 30 17:38:05 2012 From: tvword на gmail.com (Vladislav) Date: Mon, 30 Jan 2012 19:38:05 +0200 Subject: =?UTF-8?B?UmU6IG5naW54IHBlcmwg0J7RiNC40LHQutCwIDMyNCBuZXQ6OkVSUl9FTVBUWV9S?= =?UTF-8?B?RVNQT05TRQ==?= In-Reply-To: References: <4F25CAB9.3010000@gmail.com> <4F26A09D.6030608@gmail.com> Message-ID: <4F26D57D.8090705@gmail.com> 30.01.2012 17:42, Alexandr Gomoliako пишет: > On 1/30/12, Vladislav wrote: >> Похоже вот это: [alert] 23694#0: worker process 23797 exited on signal 11 > Да, попробуй воспроизвести и покажи получившийся код. > Или если код и так маленький, то просто покажи код. Вот html-ошибки: 503 Service Temporarily Unavailable

503 Service Temporarily Unavailable


nginx
В error-логах: worker process 27906 exited on signal 11 + иногда: [error] 27905#0: *2208 limiting connections by zone "cglob", + также: kernel: [61598.817797] nginx[26329] general protection ip:410080 sp:7fff7840fb98 error:0 in nginx[400000+85000] Фрагмент моих настроек ngiinx: tcp_nodelay on; client_header_timeout 15; client_body_timeout 15; send_timeout 5; keepalive_timeout 60; reset_timedout_connection on; limit_req_zone $binary_remote_addr zone=qglob:16m rate=3r/s; limit_zone cglob $binary_remote_addr 16m; From nginx-forum на nginx.us Mon Jan 30 17:46:57 2012 From: nginx-forum на nginx.us (Humster) Date: Mon, 30 Jan 2012 12:46:57 -0500 Subject: image_filter qq In-Reply-To: <201201302051.53529.ne@vbart.ru> References: <201201302051.53529.ne@vbart.ru> Message-ID: <73627db297f15cb1e6e03ea4d465c1ca.NginxMailingListRussian@forum.nginx.org> Валентин Бартенев Wrote: ------------------------------------------------------- > On Monday 30 January 2012 20:43:36 Humster wrote: > [...] > > А внутри директивы if в > терминах nginx'а не > > контекст location? Мне > казалось > > логичным, что все что > работает внутри > > location, должно работать и > внутри > > директив > > внутри location. > > Нет. Внутри директивы if > контекст "if". > > > То есть это фича? > > Да. Более того: > http://wiki.nginx.org/IfIsEvil > Все понял, спасибо. -- Humster Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221794,221805#msg-221805 From zzz на zzz.org.ua Mon Jan 30 17:48:21 2012 From: zzz на zzz.org.ua (Alexandr Gomoliako) Date: Mon, 30 Jan 2012 19:48:21 +0200 Subject: =?UTF-8?B?UmU6IG5naW54IHBlcmwg0J7RiNC40LHQutCwIDMyNCBuZXQ6OkVSUl9FTVBUWV9S?= =?UTF-8?B?RVNQT05TRQ==?= In-Reply-To: <4F26D57D.8090705@gmail.com> References: <4F25CAB9.3010000@gmail.com> <4F26A09D.6030608@gmail.com> <4F26D57D.8090705@gmail.com> Message-ID: >> Да, попробуй воспроизвести и покажи получившийся код. >> Или если код и так маленький, то просто покажи код. > > Вот html-ошибки: Перл-код :) From nginx-forum на nginx.us Mon Jan 30 18:08:17 2012 From: nginx-forum на nginx.us (=?UTF-8?Q? =D0=BA=D0=BE=D0=BB=D0=B1=D0=B0=D1=81=D0=BA=D0=B8=D0=BD ?=) Date: Mon, 30 Jan 2012 13:08:17 -0500 Subject: =?UTF-8?B?UmU6IGxpbWl0IGNvbm4g0YDQsNCx0L7RgtCw0LXRgiDQvdC1INC90LAg0LLRgdC1?= =?UTF-8?B?0YUg0YXQvtGB0YLQsNGF?= In-Reply-To: References: <201201281342.46471.ne@vbart.ru> <8c48d0890d78e441d050fe199969af20.NginxMailingListRussian@forum.nginx.org> Message-ID: <0bb3e920aec0ec2298baf753946f1d18.NginxMailingListRussian@forum.nginx.org> Я правильно вас понимаю Мне нужно или снять кеширование или забыть про эти модули? Просто люди дают советы по защите от простого DDOS http://habrahabr.ru/blogs/infosecurity/84172/ Но у меня еще и настроено кеширование для гостей http://habrahabr.ru/blogs/hi/79876/ И вот как сделать чтобы работали оба случая одновременно я пока не могу понять Если поможете, могу конфиг прислать на почту, чтобы в паблик не кидать Буду вам очень благодарен с ув. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221407,221808#msg-221808 From danila на shtan.ru Mon Jan 30 18:21:57 2012 From: danila на shtan.ru (Danila Shtan) Date: Tue, 31 Jan 2012 00:21:57 +0600 Subject: =?UTF-8?B?UmU6INCV0YHRgtGMINC70Lgg0LLQvtC30LzQvtC20L3QvtGB0YLRjCDRgNCw0Lc=?= =?UTF-8?B?0LPRgNGD0LfQuNGC0Ywg0LrQsNC90LDQuyDRgSDQv9C+0LzQvtGJ0YzRjiBy?= =?UTF-8?B?ZXdyaXRlINC90LAgdXBzdHJlYW0/?= In-Reply-To: References: Message-ID: Вы боитесь забить 100 мегабит 301 или 302 ответами? Я возможно невнятно выразился ? в каждом server надо сделать location / с единственным действием ? редиректом на один из серверов статики. Именно редиректом ? 301 или 302. Д. 2012/1/30 sirko_el : > Спасибо за совет, но мне кажется > несколько server,  приусловии > единственной сетевой карты не решат > этот вопрос.  round robin dns выглдит куда > заманчивее. > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,221662,221788#msg-221788 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From tvword на gmail.com Mon Jan 30 20:29:44 2012 From: tvword на gmail.com (Vladislav) Date: Mon, 30 Jan 2012 22:29:44 +0200 Subject: =?UTF-8?B?UmU6IG5naW54IHBlcmwg0J7RiNC40LHQutCwIDMyNCBuZXQ6OkVSUl9FTVBUWV9S?= =?UTF-8?B?RVNQT05TRQ==?= In-Reply-To: References: <4F25CAB9.3010000@gmail.com> <4F26A09D.6030608@gmail.com> <4F26D57D.8090705@gmail.com> Message-ID: <4F26FDB8.5030707@gmail.com> 30.01.2012 19:48, Alexandr Gomoliako пишет: >>> Да, попробуй воспроизвести и покажи получившийся код. >>> Или если код и так маленький, то просто покажи код. >> Вот html-ошибки: > Перл-код :) Выслал на личку. Ошибка вроде исчезла. Вылечилось добавлением всех стандартных тегов в генерируемую страницу. Раньше было без и т.д. Сейчас вызываю функцию: sub pre_print_html { $js = qq~ Заглавная ~; $r-> print ($js); } Но в error.log'aх все равно очень часто появляется строка: [alert] 2908#0: worker process 3105 exited on signal 11 Видимо, потребуется debug включать... From nginx-forum на nginx.us Mon Jan 30 20:53:21 2012 From: nginx-forum на nginx.us (arut) Date: Mon, 30 Jan 2012 15:53:21 -0500 Subject: =?UTF-8?B?UmU6IGRhdiBtb2R1bGUg0Lgg0LzQtdGC0L7QtNGL?= In-Reply-To: References: Message-ID: <1a2a307f02e6fc7b9641abe5c224726c.NginxMailingListRussian@forum.nginx.org> есть модуль nginx-dav-ext-module https://github.com/arut/nginx-dav-ext-module в нем реализованы PROPFIND и OPTIONS, папки будут подключаться Posted at Nginx Forum: http://forum.nginx.org/read.php?21,118672,221812#msg-221812 From zzz на zzz.org.ua Mon Jan 30 20:56:29 2012 From: zzz на zzz.org.ua (Alexandr Gomoliako) Date: Mon, 30 Jan 2012 22:56:29 +0200 Subject: =?UTF-8?B?UmU6IG5naW54IHBlcmwg0J7RiNC40LHQutCwIDMyNCBuZXQ6OkVSUl9FTVBUWV9S?= =?UTF-8?B?RVNQT05TRQ==?= In-Reply-To: <4F26FDB8.5030707@gmail.com> References: <4F25CAB9.3010000@gmail.com> <4F26A09D.6030608@gmail.com> <4F26D57D.8090705@gmail.com> <4F26FDB8.5030707@gmail.com> Message-ID: On Mon, Jan 30, 2012 at 10:29 PM, Vladislav wrote: > Выслал на личку. Ошибка вроде исчезла. Вылечилось добавлением всех > стандартных тегов в генерируемую страницу. Раньше было без и > т.д. Сейчас вызываю функцию: > Но в error.log'aх все равно очень часто появляется строка: > > [alert] 2908#0: worker process 3105 exited on signal 11 > Видимо, потребуется debug включать... Ничего не покажет. Помог бы только gdb. Файл слишком большой, не видно ошибки сразу. Заметил только, что dienow не умирает внутри, соответсвенно open ... or dienow; продолжает работу, что вместе с $r->... может приводить к ошибке выше. В целом нужно просто улучшить код и ошибки сами по себе найдутся. Посмотри готовые примеры. Из простого, что может помочь в этом конкретном случае: генерировать все в один буффер и только один раз в конце $r->print($buf). From tvword на gmail.com Mon Jan 30 21:04:22 2012 From: tvword на gmail.com (Vladislav) Date: Mon, 30 Jan 2012 23:04:22 +0200 Subject: =?UTF-8?B?UmU6IG5naW54IHBlcmwg0J7RiNC40LHQutCwIDMyNCBuZXQ6OkVSUl9FTVBUWV9S?= =?UTF-8?B?RVNQT05TRQ==?= In-Reply-To: References: <4F25CAB9.3010000@gmail.com> <4F26A09D.6030608@gmail.com> <4F26D57D.8090705@gmail.com> <4F26FDB8.5030707@gmail.com> Message-ID: <4F2705D6.3050207@gmail.com> 30.01.2012 22:56, Alexandr Gomoliako пишет: > On Mon, Jan 30, 2012 at 10:29 PM, Vladislav wrote: >> Выслал на личку. Ошибка вроде исчезла. Вылечилось добавлением всех >> стандартных тегов в генерируемую страницу. Раньше было без и >> т.д. Сейчас вызываю функцию: >> Но в error.log'aх все равно очень часто появляется строка: >> >> [alert] 2908#0: worker process 3105 exited on signal 11 >> Видимо, потребуется debug включать... > Ничего не покажет. Помог бы только gdb. > > Файл слишком большой, не видно ошибки сразу. Заметил только, что > dienow не умирает внутри, соответсвенно open ... or dienow; продолжает > работу, что вместе с $r->... может приводить к ошибке выше. > > В целом нужно просто улучшить код и ошибки сами по себе найдутся. > Посмотри готовые примеры. Из простого, что может помочь в этом > конкретном случае: генерировать все в один буффер и только один раз в > конце $r->print($buf). Спасибо, это интересная идея! Буду пробовать. Потом отпишу. From tvword на gmail.com Mon Jan 30 23:28:42 2012 From: tvword на gmail.com (Vladislav) Date: Tue, 31 Jan 2012 01:28:42 +0200 Subject: =?UTF-8?B?UmU6IG5naW54IHBlcmwg0J7RiNC40LHQutCwIDMyNCBuZXQ6OkVSUl9FTVBUWV9S?= =?UTF-8?B?RVNQT05TRQ==?= In-Reply-To: References: <4F25CAB9.3010000@gmail.com> <4F26A09D.6030608@gmail.com> <4F26D57D.8090705@gmail.com> <4F26FDB8.5030707@gmail.com> Message-ID: <4F2727AA.4090806@gmail.com> 30.01.2012 22:56, Alexandr Gomoliako пишет: >> Но в error.log'aх все равно очень часто появляется строка: >> >> [alert] 2908#0: worker process 3105 exited on signal 11 > >> Видимо, потребуется debug включать... > Ничего не покажет. Помог бы только gdb. > > Файл слишком большой, не видно ошибки сразу. Заметил только, что > dienow не умирает внутри, соответсвенно open ... or dienow; продолжает > работу, что вместе с $r->... может приводить к ошибке выше. > > В целом нужно просто улучшить код и ошибки сами по себе найдутся. > Посмотри готовые примеры. Из простого, что может помочь в этом > конкретном случае: генерировать все в один буффер и только один раз в > конце $r->print($buf). Благодарю за подсказку. Всё сделал через накопительный буфер, и послал в конце в браузер через $r->print($buf). Ошибка "[alert] 2908#0: worker process 3105 exited on signal 11" ушла! Но проблема, я думаю была не в этом - в некоторых $r->print были неэкранированные двойные кавычки ("). Я думаю всё было из-за них. Спасибо за помощь! Я пошел спокойно спать :) From zzz на zzz.org.ua Tue Jan 31 00:35:14 2012 From: zzz на zzz.org.ua (Alexandr Gomoliako) Date: Tue, 31 Jan 2012 02:35:14 +0200 Subject: =?UTF-8?B?UmU6IG5naW54IHBlcmwg0J7RiNC40LHQutCwIDMyNCBuZXQ6OkVSUl9FTVBUWV9S?= =?UTF-8?B?RVNQT05TRQ==?= In-Reply-To: <4F2727AA.4090806@gmail.com> References: <4F25CAB9.3010000@gmail.com> <4F26A09D.6030608@gmail.com> <4F26D57D.8090705@gmail.com> <4F26FDB8.5030707@gmail.com> <4F2727AA.4090806@gmail.com> Message-ID: > Благодарю за подсказку. Всё сделал через накопительный буфер, и послал в > конце в браузер через $r->print($buf). Ошибка "[alert] 2908#0: worker > process 3105 exited on signal 11" ушла! Но проблема, я думаю была не в этом > - в некоторых $r->print были неэкранированные двойные кавычки ("). Я думаю > всё было из-за них. Спасибо за помощь! Я пошел спокойно спать :) Если бы кавычки были неправильно, была бы ошибка синтаксиса и вообще бы ничего не работало. Текст в кавычках становится скаляром еще во время компиляции. From artist на academ.org Tue Jan 31 14:34:11 2012 From: artist на academ.org (Artem Bokhan) Date: Tue, 31 Jan 2012 21:34:11 +0700 Subject: =?UTF-8?B?UmU6INC/0YDQvtCx0LXQu9GLINCyIHVzZXJpZCDQstC80LXRgdGC0L4g0YHQuNC8?= =?UTF-8?B?0LLQvtC70LAgKw==?= In-Reply-To: <20120130084154.GB86337@nginx.com> References: <4F219094.50003@academ.org> <20120127140046.GA18031@nginx.com> <4F22BD67.2020503@academ.org> <20120130084154.GB86337@nginx.com> Message-ID: <4F27FBE3.3020803@academ.org> On 30.01.2012 15:41, Igor Sysoev wrote: > On Fri, Jan 27, 2012 at 10:06:15PM +0700, Artem Bokhan wrote: >> On 27.01.2012 21:00, Igor Sysoev wrote: >>> On Fri, Jan 27, 2012 at 12:42:44AM +0700, Bokhan Artem wrote: >>>> Приветствую. >>>> >>>> От большого количества клиентов userid возвращается с пробелом вместо >>>> "+", например, "rBBMZkxPLk SaGN7BRPaAg==" вместо >>>> "rBBMZkxPLk+SaGN7BRPaAg==". Не знаю причину - вероятно, ошибка в >>>> каких-либо браузерах либо неправильная установка куки. >>>> >>>> Выдержка с одного из серверов из error.log за день: 701887 ошибок >>>> "client sent invalid userid cookie" с 25756 уникальными ip-адресами >>> Есть ощущение, что это не браузеры, а боты. Их даже можно так вычислять :) >>> >>> >> Нет, это реальные посетители. > В Рамблере такое не наблюдается. > А какие юзер-агенты ? > Тогда пока что отбой, еще поищем у себя, может быть какой-то софт ломает.