Re: webdav+ext base.auth+var=error
да! хорошая иллюстрация! Илья спасибо. :) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257511,257625#msg-257625 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: limit conn счетчик
Maxim Dounin Wrote: --- > Зачем? Если выполняющихся запросов нет - то и в счётчике будет > пусто. Из-за некорректных данных в счетчике. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257486,257624#msg-257624 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Цепочка nginx proxy
Hello! On Mon, Mar 23, 2015 at 05:50:59PM -0400, MereMortals wrote: > Добрый день! > > В интернете решения так и не нашел. > > Есть такая схема > > клиент <->nginx_1 <->nginx_2<->apache > > На nginx_1 настрен GeoIP и в настройках прописано: > > proxy_set_header Host $host; > proxy_set_header X-Forwarded-For $remote_addr; > proxy_set_header X-Real-IP $my_real_ip; > proxy_set_header GEOIP_COUNTRY_CODE $geoip_country_code; > proxy_set_header GEOIP_COUNTRY_CODE3 $geoip_country_code3; > proxy_set_header GEOIP_COUNTRY_NAME $geoip_country_name; > proxy_set_header GEOIP_CITY_COUNTRY_CODE $geoip_city_country_code; > proxy_set_header GEOIP_CITY_COUNTRY_CODE3 $geoip_city_country_code3; > proxy_set_header GEOIP_CITY_COUNTRY_NAME $geoip_city_country_name; > proxy_set_header GEOIP_CITY_COUNTRY_NAME2 $geoip_city_country_name; > proxy_set_header GEOIP_REGION $geoip_region; > proxy_set_header GEOIP_CITY $geoip_city; > proxy_set_header GEOIP_POSTAL_CODE $geoip_postal_code; > proxy_set_header GEOIP_CITY_CONTINENT_CODE $geoip_city_continent_code; > proxy_set_header GEOIP_LATITUDE $geoip_latitude; > proxy_set_header GEOIP_LONGITUDE $geoip_longitude; > > Но почему то до apache не доходят заголовки GEOIP_*, но доходят > X-Forwarded-For и X-Real-IP. На вход у nginx_2 заголовки приходят, проверено > через tcpdump, но почему то он их не проксирует. В чем может быть причина? Не надо использовать символ подчёркивания в HTTP-заголовках, от этого возникает множество ненужных проблем. Если всё же очень надо (e.g., подобный заголовок присылает внешний сервис), то есть директива underscores_in_headers, которая разрешает nginx'у такие заголовки проксировать дальше: http://nginx.org/ru/docs/http/ngx_http_core_module.html#underscores_in_headers В данном случае - правильнее будет переименовать заголовки. -- Maxim Dounin http://nginx.org/ ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Цепочка nginx proxy
On 23.03.2015 23:50, MereMortals wrote: Есть такая схема клиент <->nginx_1 <->nginx_2<->apache На nginx_1 настрен GeoIP и в настройках прописано: proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Real-IP $my_real_ip; proxy_set_header GEOIP_COUNTRY_CODE $geoip_country_code; proxy_set_header GEOIP_COUNTRY_CODE3 $geoip_country_code3; proxy_set_header GEOIP_COUNTRY_NAME $geoip_country_name; proxy_set_header GEOIP_CITY_COUNTRY_CODE $geoip_city_country_code; proxy_set_header GEOIP_CITY_COUNTRY_CODE3 $geoip_city_country_code3; proxy_set_header GEOIP_CITY_COUNTRY_NAME $geoip_city_country_name; proxy_set_header GEOIP_CITY_COUNTRY_NAME2 $geoip_city_country_name; proxy_set_header GEOIP_REGION $geoip_region; proxy_set_header GEOIP_CITY $geoip_city; proxy_set_header GEOIP_POSTAL_CODE $geoip_postal_code; proxy_set_header GEOIP_CITY_CONTINENT_CODE $geoip_city_continent_code; proxy_set_header GEOIP_LATITUDE $geoip_latitude; proxy_set_header GEOIP_LONGITUDE $geoip_longitude; Но почему то до apache не доходят заголовки GEOIP_*, но доходят X-Forwarded-For и X-Real-IP. На вход у nginx_2 заголовки приходят, проверено через tcpdump, но почему то он их не проксирует. В чем может быть причина? Потому что: http://nginx.org/en/docs/http/ngx_http_core_module.html#underscores_in_headers http://nginx.org/en/docs/http/ngx_http_core_module.html#ignore_invalid_headers Если вместо proxy_set_header GEOIP_REGION $geoip_region; написать proxy_set_header GeoIP-Region $geoip_region; то такой заголовок тоже пройдет нормально. -- Best regards, Gena ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: limit conn счетчик
Hello! On Mon, Mar 23, 2015 at 04:26:34PM -0400, dwow wrote: > И еще вопрос. > Как обнулить счетчик? reload или stop/start? Зачем? Если выполняющихся запросов нет - то и в счётчике будет пусто. В случае, если из-за каких-то ошибок в коде в зоне оказались неверные данные - то всё сбросить можно с помощью перезапуска или с помощью процедуры обновления исполняемого файла, подробности тут: http://nginx.org/ru/docs/control.html#upgrade Но это ухищрения, которые нужны только в экстренных ситуациях. -- Maxim Dounin http://nginx.org/ ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Цепочка nginx proxy
Добрый день! В интернете решения так и не нашел. Есть такая схема клиент <->nginx_1 <->nginx_2<->apache На nginx_1 настрен GeoIP и в настройках прописано: proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Real-IP $my_real_ip; proxy_set_header GEOIP_COUNTRY_CODE $geoip_country_code; proxy_set_header GEOIP_COUNTRY_CODE3 $geoip_country_code3; proxy_set_header GEOIP_COUNTRY_NAME $geoip_country_name; proxy_set_header GEOIP_CITY_COUNTRY_CODE $geoip_city_country_code; proxy_set_header GEOIP_CITY_COUNTRY_CODE3 $geoip_city_country_code3; proxy_set_header GEOIP_CITY_COUNTRY_NAME $geoip_city_country_name; proxy_set_header GEOIP_CITY_COUNTRY_NAME2 $geoip_city_country_name; proxy_set_header GEOIP_REGION $geoip_region; proxy_set_header GEOIP_CITY $geoip_city; proxy_set_header GEOIP_POSTAL_CODE $geoip_postal_code; proxy_set_header GEOIP_CITY_CONTINENT_CODE $geoip_city_continent_code; proxy_set_header GEOIP_LATITUDE $geoip_latitude; proxy_set_header GEOIP_LONGITUDE $geoip_longitude; Но почему то до apache не доходят заголовки GEOIP_*, но доходят X-Forwarded-For и X-Real-IP. На вход у nginx_2 заголовки приходят, проверено через tcpdump, но почему то он их не проксирует. В чем может быть причина? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257606,257606#msg-257606 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: proxe cache элемент не в кеше
Спасибо. зы почему-то не сработала "напоминалка" об ответе в треде( Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257477,257603#msg-257603 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: limit conn счетчик
И еще вопрос. Как обнулить счетчик? reload или stop/start? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257486,257602#msg-257602 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
nginx и сетевые папки
Доброго времени. Я не очень силен в настройке nginx. Возникла ситуация использовать сетевые диски для отдачи файлов по HHTP. Ситуация такая. Есть 2 ПК в локальной сети. На 1 ПК стоит Nginx на OS Windows, работает и раздаёт файлы по http. Вот вырезка из конфига: location /video/s/ { root g:/video_serial; index index.html index.htm; mp4; ... location /video/f/ { root f:/video_film; index index.html index.htm; mp4; Как видно Nginx отдаёт файлы с 2-х разных физических дисков. Места там уже мало и я решил настроить отдачу с сетевого диска 2 ПК. Я подключил сетевой диск к 1 ПК и назначил ему букву T. На сетевом диске (T) создал папку video_multik и подпапки. Все работает прекрасно в проводнике Windows. В конфиге Nginx добавил: location /video/m/fs/ { root t:/video_multik; index index.html index.htm; mp4; ... Запускаю nginx и при попытке получить файл по адресу http://site.ru/video/m/fs/index.html получаю ошибку 404 Not Found. В логах такое: 2015/03/23 18:05:04 [error] 3924#6760: *201 CreateFile() "t:/video_multik/video/m/fs/index.html" failed (3: The system cannot find the path specified), client: xxx.xxx.xxx.xxx, server: localhost, request: "GET /video/m/fs/index.html HTTP/1.1", host: "site.ru" Меняю root t:/video_multik на реальный физический диск root g:/video_multik и все работает. И вот вопрос. Nginx не работает с сетевыми дисками подключенными к ПК или я не правильно сконфигурировал? Заранее благодарен за ответ. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257586,257586#msg-257586 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: общий кэш для нескольких nginx
расчеты можно сделать исходя, например, из access-логов. залогируйте $upstream_response_time, посмотрите, какие запросы могли бы обработаться из кеша, если бы он был общий, просуммируйте. можно взять граничное условие, что, если запрос берется из кеша, то временнЫе затраты на это равны нулю, т.е. в первом приближении пренебречь дисковым вводом-выводом. это может быть справедливо, если у вас действительно тяжелая генерация ответов. 23 марта 2015 г., 18:24 пользователь Михаил Пульман написал: > Расчетов нет, есть предположение. Вы подскажите как реализовать, а > последующие тесты покажут результативность такого решения. Чисто из > логических соображений прирост должен быть обязательно. > > С уважением, Михаил > > 23 марта 2015 г., 16:10 пользователь Илья Шипицин > написал: > >> а есть расчеты, подтверждающие хороший прирост производительности ? >> >> 23 марта 2015 г., 17:30 пользователь Михаил Пульман >> написал: >> > Ситуация в том что есть железный балансировщик, он раскидывает трафик по >> > 4-6 >> > штукам nginx, а нжинксы балансируя траффик с помощью апстрима >> > перенаправляют >> > на бэкенд сервера. На балансировщиках nginx настроен кэш. Получается >> > что на >> > всех балансировщиках разный кеш. Допусти клиентский запрос попавший на >> > балансир номер 1 кеша там не обнаружилось и запрос пошел на бэкенд, в то >> > время как на балансировщике номер 2 нужный кеш в этот момент был, но по >> > понятным причинам не был использоан. Вообщем если сделать общий кеш для >> > всех >> > балансировщиков nginx можно получить хороший прирост >> > производительности. >> > >> > С уважением, Михаил >> > >> > 23 марта 2015 г., 12:56 пользователь Илья Шипицин >> > написал: >> > >> >> возможно, вы придете к монстроидной схеме >> >> >> >> nginx --> squid (с поддержкой ICAP) --> бекенды >> >> >> >> и даже после танцев с бубном вы ее настроите. >> >> >> >> но, практика показывает, что в таких случаях надо уметь отвечать на >> >> вопрос "зачем это надо ?". >> >> после ответа на который часто оказывается, что на самом деле - не надо. >> >> >> >> вы бы рассказали про вашу ситуацию в деталях ? >> >> >> >> 23 марта 2015 г., 13:54 пользователь Михаил Пульман >> >> написал: >> >> > Добрый день коллеги! >> >> > >> >> > На фронте имеется n-ое количество nginx которые выступают в качестве >> >> > балансировщиков. >> >> > Нужно наладить единый кэш для всех фронтенд nginxов. Какие есть >> >> > возможности >> >> > в nginx для реализации этой задачи? >> >> > >> >> > С уважением, Михаил >> >> > >> >> > ___ >> >> > nginx-ru mailing list >> >> > nginx-ru@nginx.org >> >> > http://mailman.nginx.org/mailman/listinfo/nginx-ru >> >> ___ >> >> nginx-ru mailing list >> >> nginx-ru@nginx.org >> >> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> > >> > >> > >> > ___ >> > nginx-ru mailing list >> > nginx-ru@nginx.org >> > http://mailman.nginx.org/mailman/listinfo/nginx-ru >> ___ >> nginx-ru mailing list >> nginx-ru@nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > ___ > 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
Re: общий кэш для нескольких nginx
On Mon, Mar 23, 2015 at 05:16:02PM +0300, Михаил Пульман wrote: > > > > Настройте балансировку по группам URL так, чтобы все запросы к URL > > одного типа уходили на один nginx. Таким образом отпадет сама > > потребность синхронизации кешей, так как в них будут разные страницы. > > > Тогда на мой взгляд теряется смысл железного балансировщика. Потому что в > текущей конфигурации я могу практически безболезненно и без дополнительных > манипуляций выводить из строя любой из nginx балансировщиков, либо > добавлять при желании. А в Вашем варианте надо будет следить за нагрузкой > на балансирах nginx и думать как распределить запросы между nginxами. Имеется в виду алгоритм балансировки выбирающий сервер как f(url). Например, берется хеш от URL, интерпретируется как целое число. Номер сервера для перенаправления трафика определяется как остаток от деления этого числа на количество серверов. Если вы это сможете объяснить логике балансировщика - задача решена. > С уважением, Михаил > > 23 марта 2015 г., 17:10 пользователь Oleg A. Mamontov > написал: > > > On Mon, Mar 23, 2015 at 05:02:35PM +0300, Михаил Пульман wrote: > > > > > > > > "железный балансировщиков" на каком уровне OSI работает? > > > > Он способен заглядывать в L7 (HTTP)? > > > > > > Да, может! > > > > Настройте балансировку по группам URL так, чтобы все запросы к URL > > одного типа уходили на один nginx. Таким образом отпадет сама > > потребность синхронизации кешей, так как в них будут разные страницы. > > > > > > > > С уважением, Михаил > > > > > > 23 марта 2015 г., 16:41 пользователь Oleg A. Mamontov > > > > > написал: > > > > > > > On Mon, Mar 23, 2015 at 03:30:20PM +0300, Михаил Пульман wrote: > > > > > Ситуация в том что есть железный балансировщик, он раскидывает > > трафик по > > > > > 4-6 штукам nginx, а нжинксы балансируя траффик с помощью апстрима > > > > > перенаправляют на бэкенд сервера. На балансировщиках nginx настроен > > кэш. > > > > > Получается что на всех балансировщиках разный кеш. Допусти клиентский > > > > > запрос попавший на балансир номер 1 кеша там не обнаружилось и запрос > > > > пошел > > > > > на бэкенд, в то время как на балансировщике номер 2 нужный кеш в этот > > > > > момент был, но по понятным причинам не был использоан. Вообщем если > > > > сделать > > > > > общий кеш для всех балансировщиков nginx можно получить хороший > > прирост > > > > > производительности. > > > > > > > > "железный балансировщиков" на каком уровне OSI работает? > > > > Он способен заглядывать в L7 (HTTP)? > > > > > > > > > С уважением, Михаил > > > > > > > > > > 23 марта 2015 г., 12:56 пользователь Илья Шипицин < > > chipits...@gmail.com> > > > > > написал: > > > > > > > > > > > возможно, вы придете к монстроидной схеме > > > > > > > > > > > > nginx --> squid (с поддержкой ICAP) --> бекенды > > > > > > > > > > > > и даже после танцев с бубном вы ее настроите. > > > > > > > > > > > > но, практика показывает, что в таких случаях надо уметь отвечать на > > > > > > вопрос "зачем это надо ?". > > > > > > после ответа на который часто оказывается, что на самом деле - не > > надо. > > > > > > > > > > > > вы бы рассказали про вашу ситуацию в деталях ? > > > > > > > > > > > > 23 марта 2015 г., 13:54 пользователь Михаил Пульман < > > pull...@gmail.com > > > > > > > > > > > написал: > > > > > > > Добрый день коллеги! > > > > > > > > > > > > > > На фронте имеется n-ое количество nginx которые выступают в > > качестве > > > > > > > балансировщиков. > > > > > > > Нужно наладить единый кэш для всех фронтенд nginxов. Какие есть > > > > > > возможности > > > > > > > в nginx для реализации этой задачи? > > > > > > > > > > > > > > С уважением, Михаил > > > > > > > > > > > > > > ___ > > > > > > > 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 > > > > > > > > > > > > -- > > > > Cheers, > > > > Oleg A. Mamontov > > > > > > > > mailto: o...@mamontov.net > > > > > > > > skype: lonerr11 > > > > cell: +7 (903) 798-1352 > > > > > > > > ___ > > > > 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 > > > > > > -- > > Cheers, > > Oleg A. Mamontov > > > > mailto: o...@mamontov.net > > > > skype: lonerr11 > > cell: +7 (903) 798-1352 > > > > ___ > > nginx-ru
Re: общий кэш для нескольких nginx
On Monday 23 March 2015 10:14:44 S.A.N wrote: > > На фронте имеется n-ое количество nginx которые выступают в качестве > > балансировщиков. > > Нужно наладить единый кэш для всех фронтенд nginxов. Какие есть > > возможности > > в nginx для реализации этой задачи? > > Если я правильно понял вашу задачу, проблем нет, просто укажите всем Nginx > одинаковый proxy_cache_path > http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_cache_path > Это не будет работать. -- Валентин Бартенев ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: общий кэш для нескольких nginx
> > Настройте балансировку по группам URL так, чтобы все запросы к URL > одного типа уходили на один nginx. Таким образом отпадет сама > потребность синхронизации кешей, так как в них будут разные страницы. Тогда на мой взгляд теряется смысл железного балансировщика. Потому что в текущей конфигурации я могу практически безболезненно и без дополнительных манипуляций выводить из строя любой из nginx балансировщиков, либо добавлять при желании. А в Вашем варианте надо будет следить за нагрузкой на балансирах nginx и думать как распределить запросы между nginxами. С уважением, Михаил 23 марта 2015 г., 17:10 пользователь Oleg A. Mamontov написал: > On Mon, Mar 23, 2015 at 05:02:35PM +0300, Михаил Пульман wrote: > > > > > > "железный балансировщиков" на каком уровне OSI работает? > > > Он способен заглядывать в L7 (HTTP)? > > > > Да, может! > > Настройте балансировку по группам URL так, чтобы все запросы к URL > одного типа уходили на один nginx. Таким образом отпадет сама > потребность синхронизации кешей, так как в них будут разные страницы. > > > > > С уважением, Михаил > > > > 23 марта 2015 г., 16:41 пользователь Oleg A. Mamontov > > > написал: > > > > > On Mon, Mar 23, 2015 at 03:30:20PM +0300, Михаил Пульман wrote: > > > > Ситуация в том что есть железный балансировщик, он раскидывает > трафик по > > > > 4-6 штукам nginx, а нжинксы балансируя траффик с помощью апстрима > > > > перенаправляют на бэкенд сервера. На балансировщиках nginx настроен > кэш. > > > > Получается что на всех балансировщиках разный кеш. Допусти клиентский > > > > запрос попавший на балансир номер 1 кеша там не обнаружилось и запрос > > > пошел > > > > на бэкенд, в то время как на балансировщике номер 2 нужный кеш в этот > > > > момент был, но по понятным причинам не был использоан. Вообщем если > > > сделать > > > > общий кеш для всех балансировщиков nginx можно получить хороший > прирост > > > > производительности. > > > > > > "железный балансировщиков" на каком уровне OSI работает? > > > Он способен заглядывать в L7 (HTTP)? > > > > > > > С уважением, Михаил > > > > > > > > 23 марта 2015 г., 12:56 пользователь Илья Шипицин < > chipits...@gmail.com> > > > > написал: > > > > > > > > > возможно, вы придете к монстроидной схеме > > > > > > > > > > nginx --> squid (с поддержкой ICAP) --> бекенды > > > > > > > > > > и даже после танцев с бубном вы ее настроите. > > > > > > > > > > но, практика показывает, что в таких случаях надо уметь отвечать на > > > > > вопрос "зачем это надо ?". > > > > > после ответа на который часто оказывается, что на самом деле - не > надо. > > > > > > > > > > вы бы рассказали про вашу ситуацию в деталях ? > > > > > > > > > > 23 марта 2015 г., 13:54 пользователь Михаил Пульман < > pull...@gmail.com > > > > > > > > > написал: > > > > > > Добрый день коллеги! > > > > > > > > > > > > На фронте имеется n-ое количество nginx которые выступают в > качестве > > > > > > балансировщиков. > > > > > > Нужно наладить единый кэш для всех фронтенд nginxов. Какие есть > > > > > возможности > > > > > > в nginx для реализации этой задачи? > > > > > > > > > > > > С уважением, Михаил > > > > > > > > > > > > ___ > > > > > > 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 > > > > > > > > > -- > > > Cheers, > > > Oleg A. Mamontov > > > > > > mailto: o...@mamontov.net > > > > > > skype: lonerr11 > > > cell: +7 (903) 798-1352 > > > > > > ___ > > > 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 > > > -- > Cheers, > Oleg A. Mamontov > > mailto: o...@mamontov.net > > skype: lonerr11 > cell: +7 (903) 798-1352 > > ___ > 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
Re: общий кэш для нескольких nginx
> На фронте имеется n-ое количество nginx которые выступают в качестве > балансировщиков. > Нужно наладить единый кэш для всех фронтенд nginxов. Какие есть > возможности > в nginx для реализации этой задачи? Если я правильно понял вашу задачу, проблем нет, просто укажите всем Nginx одинаковый proxy_cache_path http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_cache_path Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257547,257577#msg-257577 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: общий кэш для нескольких nginx
On Mon, Mar 23, 2015 at 05:02:35PM +0300, Михаил Пульман wrote: > > > > "железный балансировщиков" на каком уровне OSI работает? > > Он способен заглядывать в L7 (HTTP)? > > Да, может! Настройте балансировку по группам URL так, чтобы все запросы к URL одного типа уходили на один nginx. Таким образом отпадет сама потребность синхронизации кешей, так как в них будут разные страницы. > > С уважением, Михаил > > 23 марта 2015 г., 16:41 пользователь Oleg A. Mamontov > написал: > > > On Mon, Mar 23, 2015 at 03:30:20PM +0300, Михаил Пульман wrote: > > > Ситуация в том что есть железный балансировщик, он раскидывает трафик по > > > 4-6 штукам nginx, а нжинксы балансируя траффик с помощью апстрима > > > перенаправляют на бэкенд сервера. На балансировщиках nginx настроен кэш. > > > Получается что на всех балансировщиках разный кеш. Допусти клиентский > > > запрос попавший на балансир номер 1 кеша там не обнаружилось и запрос > > пошел > > > на бэкенд, в то время как на балансировщике номер 2 нужный кеш в этот > > > момент был, но по понятным причинам не был использоан. Вообщем если > > сделать > > > общий кеш для всех балансировщиков nginx можно получить хороший прирост > > > производительности. > > > > "железный балансировщиков" на каком уровне OSI работает? > > Он способен заглядывать в L7 (HTTP)? > > > > > С уважением, Михаил > > > > > > 23 марта 2015 г., 12:56 пользователь Илья Шипицин > > > написал: > > > > > > > возможно, вы придете к монстроидной схеме > > > > > > > > nginx --> squid (с поддержкой ICAP) --> бекенды > > > > > > > > и даже после танцев с бубном вы ее настроите. > > > > > > > > но, практика показывает, что в таких случаях надо уметь отвечать на > > > > вопрос "зачем это надо ?". > > > > после ответа на который часто оказывается, что на самом деле - не надо. > > > > > > > > вы бы рассказали про вашу ситуацию в деталях ? > > > > > > > > 23 марта 2015 г., 13:54 пользователь Михаил Пульман > > > > > > написал: > > > > > Добрый день коллеги! > > > > > > > > > > На фронте имеется n-ое количество nginx которые выступают в качестве > > > > > балансировщиков. > > > > > Нужно наладить единый кэш для всех фронтенд nginxов. Какие есть > > > > возможности > > > > > в nginx для реализации этой задачи? > > > > > > > > > > С уважением, Михаил > > > > > > > > > > ___ > > > > > 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 > > > > > > -- > > Cheers, > > Oleg A. Mamontov > > > > mailto: o...@mamontov.net > > > > skype: lonerr11 > > cell: +7 (903) 798-1352 > > > > ___ > > 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 -- Cheers, Oleg A. Mamontov mailto: o...@mamontov.net skype: lonerr11 cell: +7 (903) 798-1352 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: общий кэш для нескольких nginx
> > "железный балансировщиков" на каком уровне OSI работает? > Он способен заглядывать в L7 (HTTP)? Да, может! С уважением, Михаил 23 марта 2015 г., 16:41 пользователь Oleg A. Mamontov написал: > On Mon, Mar 23, 2015 at 03:30:20PM +0300, Михаил Пульман wrote: > > Ситуация в том что есть железный балансировщик, он раскидывает трафик по > > 4-6 штукам nginx, а нжинксы балансируя траффик с помощью апстрима > > перенаправляют на бэкенд сервера. На балансировщиках nginx настроен кэш. > > Получается что на всех балансировщиках разный кеш. Допусти клиентский > > запрос попавший на балансир номер 1 кеша там не обнаружилось и запрос > пошел > > на бэкенд, в то время как на балансировщике номер 2 нужный кеш в этот > > момент был, но по понятным причинам не был использоан. Вообщем если > сделать > > общий кеш для всех балансировщиков nginx можно получить хороший прирост > > производительности. > > "железный балансировщиков" на каком уровне OSI работает? > Он способен заглядывать в L7 (HTTP)? > > > С уважением, Михаил > > > > 23 марта 2015 г., 12:56 пользователь Илья Шипицин > > написал: > > > > > возможно, вы придете к монстроидной схеме > > > > > > nginx --> squid (с поддержкой ICAP) --> бекенды > > > > > > и даже после танцев с бубном вы ее настроите. > > > > > > но, практика показывает, что в таких случаях надо уметь отвечать на > > > вопрос "зачем это надо ?". > > > после ответа на который часто оказывается, что на самом деле - не надо. > > > > > > вы бы рассказали про вашу ситуацию в деталях ? > > > > > > 23 марта 2015 г., 13:54 пользователь Михаил Пульман > > > > написал: > > > > Добрый день коллеги! > > > > > > > > На фронте имеется n-ое количество nginx которые выступают в качестве > > > > балансировщиков. > > > > Нужно наладить единый кэш для всех фронтенд nginxов. Какие есть > > > возможности > > > > в nginx для реализации этой задачи? > > > > > > > > С уважением, Михаил > > > > > > > > ___ > > > > 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 > > > -- > Cheers, > Oleg A. Mamontov > > mailto: o...@mamontov.net > > skype: lonerr11 > cell: +7 (903) 798-1352 > > ___ > 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
Re: общий кэш для нескольких nginx
On Mon, Mar 23, 2015 at 03:30:20PM +0300, Михаил Пульман wrote: > Ситуация в том что есть железный балансировщик, он раскидывает трафик по > 4-6 штукам nginx, а нжинксы балансируя траффик с помощью апстрима > перенаправляют на бэкенд сервера. На балансировщиках nginx настроен кэш. > Получается что на всех балансировщиках разный кеш. Допусти клиентский > запрос попавший на балансир номер 1 кеша там не обнаружилось и запрос пошел > на бэкенд, в то время как на балансировщике номер 2 нужный кеш в этот > момент был, но по понятным причинам не был использоан. Вообщем если сделать > общий кеш для всех балансировщиков nginx можно получить хороший прирост > производительности. "железный балансировщиков" на каком уровне OSI работает? Он способен заглядывать в L7 (HTTP)? > С уважением, Михаил > > 23 марта 2015 г., 12:56 пользователь Илья Шипицин > написал: > > > возможно, вы придете к монстроидной схеме > > > > nginx --> squid (с поддержкой ICAP) --> бекенды > > > > и даже после танцев с бубном вы ее настроите. > > > > но, практика показывает, что в таких случаях надо уметь отвечать на > > вопрос "зачем это надо ?". > > после ответа на который часто оказывается, что на самом деле - не надо. > > > > вы бы рассказали про вашу ситуацию в деталях ? > > > > 23 марта 2015 г., 13:54 пользователь Михаил Пульман > > написал: > > > Добрый день коллеги! > > > > > > На фронте имеется n-ое количество nginx которые выступают в качестве > > > балансировщиков. > > > Нужно наладить единый кэш для всех фронтенд nginxов. Какие есть > > возможности > > > в nginx для реализации этой задачи? > > > > > > С уважением, Михаил > > > > > > ___ > > > 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 -- Cheers, Oleg A. Mamontov mailto: o...@mamontov.net skype: lonerr11 cell: +7 (903) 798-1352 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: общий кэш для нескольких nginx
On Monday 23 March 2015 16:33:43 Михаил Пульман wrote: > > > > > > > > Скорее наоборот. Узким местом станет этот самый кэш и смысл в > > нескольких nginx-ах с точки зрения производительности пропадет. > > > Валентин, почему Вы считаете что кеш станет узким местом? Разъясните если > не трудно. > Потому, что чаще всего nginx упирается в производительность хранилища данных. А в вашем случае производительность одного хранилища поделится между всеми nginx-ами, которые скорее всего большую часть времени ничего полезного делать не будут, кроме ожидания ввода-вывода из этого хранилища. -- Валентин Бартенев ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: общий кэш для нескольких nginx
Я так понимаю, у вас не самый маленький проект. Представьте себе _взаимную_ (master-master) синхронизацию между несколькими серверами. Валентин, почему Вы считаете что кеш станет узким местом? Разъясните если не трудно. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: общий кэш для нескольких nginx
> > > > Скорее наоборот. Узким местом станет этот самый кэш и смысл в > нескольких nginx-ах с точки зрения производительности пропадет. > > Валентин, почему Вы считаете что кеш станет узким местом? Разъясните если не трудно. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: общий кэш для нескольких nginx
On Monday 23 March 2015 15:30:20 Михаил Пульман wrote: > Ситуация в том что есть железный балансировщик, он раскидывает трафик по > 4-6 штукам nginx, а нжинксы балансируя траффик с помощью апстрима > перенаправляют на бэкенд сервера. На балансировщиках nginx настроен кэш. > Получается что на всех балансировщиках разный кеш. Допусти клиентский > запрос попавший на балансир номер 1 кеша там не обнаружилось и запрос пошел > на бэкенд, в то время как на балансировщике номер 2 нужный кеш в этот > момент был, но по понятным причинам не был использоан. Вообщем если сделать > общий кеш для всех балансировщиков nginx можно получить хороший прирост > производительности. [..] Скорее наоборот. Узким местом станет этот самый кэш и смысл в нескольких nginx-ах с точки зрения производительности пропадет. -- Валентин Бартенев ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: общий кэш для нескольких nginx
Расчетов нет, есть предположение. Вы подскажите как реализовать, а последующие тесты покажут результативность такого решения. Чисто из логических соображений прирост должен быть обязательно. С уважением, Михаил 23 марта 2015 г., 16:10 пользователь Илья Шипицин написал: > а есть расчеты, подтверждающие хороший прирост производительности ? > > 23 марта 2015 г., 17:30 пользователь Михаил Пульман > написал: > > Ситуация в том что есть железный балансировщик, он раскидывает трафик по > 4-6 > > штукам nginx, а нжинксы балансируя траффик с помощью апстрима > перенаправляют > > на бэкенд сервера. На балансировщиках nginx настроен кэш. Получается > что на > > всех балансировщиках разный кеш. Допусти клиентский запрос попавший на > > балансир номер 1 кеша там не обнаружилось и запрос пошел на бэкенд, в то > > время как на балансировщике номер 2 нужный кеш в этот момент был, но по > > понятным причинам не был использоан. Вообщем если сделать общий кеш для > всех > > балансировщиков nginx можно получить хороший прирост производительности. > > > > С уважением, Михаил > > > > 23 марта 2015 г., 12:56 пользователь Илья Шипицин > > написал: > > > >> возможно, вы придете к монстроидной схеме > >> > >> nginx --> squid (с поддержкой ICAP) --> бекенды > >> > >> и даже после танцев с бубном вы ее настроите. > >> > >> но, практика показывает, что в таких случаях надо уметь отвечать на > >> вопрос "зачем это надо ?". > >> после ответа на который часто оказывается, что на самом деле - не надо. > >> > >> вы бы рассказали про вашу ситуацию в деталях ? > >> > >> 23 марта 2015 г., 13:54 пользователь Михаил Пульман > >> написал: > >> > Добрый день коллеги! > >> > > >> > На фронте имеется n-ое количество nginx которые выступают в качестве > >> > балансировщиков. > >> > Нужно наладить единый кэш для всех фронтенд nginxов. Какие есть > >> > возможности > >> > в nginx для реализации этой задачи? > >> > > >> > С уважением, Михаил > >> > > >> > ___ > >> > nginx-ru mailing list > >> > nginx-ru@nginx.org > >> > http://mailman.nginx.org/mailman/listinfo/nginx-ru > >> ___ > >> nginx-ru mailing list > >> nginx-ru@nginx.org > >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > > > > > ___ > > nginx-ru mailing list > > nginx-ru@nginx.org > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: общий кэш для нескольких nginx
On Mon, Mar 23, 2015 at 03:44:50PM +0300, Pavel Mihaduk wrote: > Очень сомневаюсь, что прирост будет "хорошим". Я бы начал все же с > выстраивания стратегии кэширования. > Из экзотики: можете рискнуть сложить кэш на drbd drbd и подобные решения не решат поставленной задачи. > Ситуация в том что есть железный балансировщик, он раскидывает трафик по > 4-6 штукам nginx, а нжинксы балансируя траффик с помощью апстрима > перенаправляют на бэкенд сервера. На балансировщиках nginx настроен кэш. > Получается что на всех балансировщиках разный кеш. Допусти клиентский > запрос попавший на балансир номер 1 кеша там не обнаружилось и запрос > пошел на бэкенд, в то время как на балансировщике номер 2 нужный кеш в > этот момент был, но по понятным причинам не был использоан. Вообщем если > сделать общий кеш для всех балансировщиков nginx можно получить хороший > прирост производительности. > > > С уважением, Михаил > > > 23 марта 2015 г., 12:56 пользователь Илья Шипицин > написал: > > > возможно, вы придете к монстроидной схеме > > nginx --> squid (с поддержкой ICAP) --> бекенды > > и даже после танцев с бубном вы ее настроите. > > но, практика показывает, что в таких случаях надо уметь отвечать навопрос > "зачем это надо ?".после ответа на который часто оказывается, что на самом > деле - не надо. > > вы бы рассказали про вашу ситуацию в деталях ? > > 23 марта 2015 г., 13:54 пользователь Михаил Пульман > написал: > > > > Добрый день коллеги!>> На фронте имеется n-ое количество nginx которые > выступают в качестве> балансировщиков.> Нужно наладить единый кэш для > всех фронтенд nginxов. Какие есть возможности> в nginx для реализации этой > задачи?>> С уважением, Михаил> > > > > ___> nginx-ru mailing list> > > nginx- > r...@nginx.org[3] > http://mailman.nginx.org/mailman/listinfo/nginx-ru[4] > nginx-ru@nginx.org[3] > http://mailman.nginx.org/mailman/listinfo/nginx-ru[4] > > > > > > > [1] mailto:chipits...@gmail.com > [2] mailto:pull...@gmail.com > [3] mailto:nginx-ru@nginx.org > [4] http://mailman.nginx.org/mailman/listinfo/nginx-ru > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Cheers, Oleg A. Mamontov mailto: o...@mamontov.net skype: lonerr11 cell: +7 (903) 798-1352 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: общий кэш для нескольких nginx
а есть расчеты, подтверждающие хороший прирост производительности ? 23 марта 2015 г., 17:30 пользователь Михаил Пульман написал: > Ситуация в том что есть железный балансировщик, он раскидывает трафик по 4-6 > штукам nginx, а нжинксы балансируя траффик с помощью апстрима перенаправляют > на бэкенд сервера. На балансировщиках nginx настроен кэш. Получается что на > всех балансировщиках разный кеш. Допусти клиентский запрос попавший на > балансир номер 1 кеша там не обнаружилось и запрос пошел на бэкенд, в то > время как на балансировщике номер 2 нужный кеш в этот момент был, но по > понятным причинам не был использоан. Вообщем если сделать общий кеш для всех > балансировщиков nginx можно получить хороший прирост производительности. > > С уважением, Михаил > > 23 марта 2015 г., 12:56 пользователь Илья Шипицин > написал: > >> возможно, вы придете к монстроидной схеме >> >> nginx --> squid (с поддержкой ICAP) --> бекенды >> >> и даже после танцев с бубном вы ее настроите. >> >> но, практика показывает, что в таких случаях надо уметь отвечать на >> вопрос "зачем это надо ?". >> после ответа на который часто оказывается, что на самом деле - не надо. >> >> вы бы рассказали про вашу ситуацию в деталях ? >> >> 23 марта 2015 г., 13:54 пользователь Михаил Пульман >> написал: >> > Добрый день коллеги! >> > >> > На фронте имеется n-ое количество nginx которые выступают в качестве >> > балансировщиков. >> > Нужно наладить единый кэш для всех фронтенд nginxов. Какие есть >> > возможности >> > в nginx для реализации этой задачи? >> > >> > С уважением, Михаил >> > >> > ___ >> > nginx-ru mailing list >> > nginx-ru@nginx.org >> > http://mailman.nginx.org/mailman/listinfo/nginx-ru >> ___ >> nginx-ru mailing list >> nginx-ru@nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: общий кэш для нескольких nginx
Очень сомневаюсь, что прирост будет "хорошим". Я бы начал все же с выстраивания стратегии кэширования. Из экзотики: можете рискнуть сложить кэш на drbd Ситуация в том что есть железный балансировщик, он раскидывает трафик по 4-6 штукам nginx, а нжинксы балансируя траффик с помощью апстрима перенаправляют на бэкенд сервера. На балансировщиках nginx настроен кэш. Получается что на всех балансировщиках разный кеш. Допусти клиентский запрос попавший на балансир номер 1 кеша там не обнаружилось и запрос пошел на бэкенд, в то время как на балансировщике номер 2 нужный кеш в этот момент был, но по понятным причинам не был использоан. Вообщем если сделать общий кеш для всех балансировщиков nginx можно получить хороший прирост производительности. С уважением, Михаил 23 марта 2015 г., 12:56 пользователь Илья Шипицин написал: возможно, вы придете к монстроидной схеме nginx --> squid (с поддержкой ICAP) --> бекенды и даже после танцев с бубном вы ее настроите. но, практика показывает, что в таких случаях надо уметь отвечать навопрос "зачем это надо ?".после ответа на который часто оказывается, что на самом деле - не надо. вы бы рассказали про вашу ситуацию в деталях ? 23 марта 2015 г., 13:54 пользователь Михаил Пульман написал: > Добрый день коллеги!>> На фронте имеется n-ое количество nginx которые выступают в качестве> балансировщиков.> Нужно наладить единый кэш для всех фронтенд nginxов. Какие есть возможности> в nginx для реализации этой задачи?>> С уважением, Михаил> > ___> nginx-ru mailing list> nginx- r...@nginx.org[3] http://mailman.nginx.org/mailman/listinfo/nginx-ru[4] nginx-ru@nginx.org[3] http://mailman.nginx.org/mailman/listinfo/nginx-ru[4] [1] mailto:chipits...@gmail.com [2] mailto:pull...@gmail.com [3] mailto:nginx-ru@nginx.org [4] http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: общий кэш для нескольких nginx
Ситуация в том что есть железный балансировщик, он раскидывает трафик по 4-6 штукам nginx, а нжинксы балансируя траффик с помощью апстрима перенаправляют на бэкенд сервера. На балансировщиках nginx настроен кэш. Получается что на всех балансировщиках разный кеш. Допусти клиентский запрос попавший на балансир номер 1 кеша там не обнаружилось и запрос пошел на бэкенд, в то время как на балансировщике номер 2 нужный кеш в этот момент был, но по понятным причинам не был использоан. Вообщем если сделать общий кеш для всех балансировщиков nginx можно получить хороший прирост производительности. С уважением, Михаил 23 марта 2015 г., 12:56 пользователь Илья Шипицин написал: > возможно, вы придете к монстроидной схеме > > nginx --> squid (с поддержкой ICAP) --> бекенды > > и даже после танцев с бубном вы ее настроите. > > но, практика показывает, что в таких случаях надо уметь отвечать на > вопрос "зачем это надо ?". > после ответа на который часто оказывается, что на самом деле - не надо. > > вы бы рассказали про вашу ситуацию в деталях ? > > 23 марта 2015 г., 13:54 пользователь Михаил Пульман > написал: > > Добрый день коллеги! > > > > На фронте имеется n-ое количество nginx которые выступают в качестве > > балансировщиков. > > Нужно наладить единый кэш для всех фронтенд nginxов. Какие есть > возможности > > в nginx для реализации этой задачи? > > > > С уважением, Михаил > > > > ___ > > 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
Re: webdav+ext base.auth+var=error
в общем nginx.conf (пути, чтобы Lua увидела файлы модулей): lua_package_path '/xxx/?.lua'; lua_shared_dict sha1 10M; lua_shared_dict a 10M; init_by_lua ' require "base64" sha1 = require "sha1" ngx.shared.sha1:add("user","5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8") '; ключевым в данном случае является объект "shared dictinary", в который можно класть ключ-значение (этот объект разделяемый между всеми worker-ами nginx). в данном случае завели два объекта - sha1, в котором храним хеши паролей. и "a", в котором будем хранить кешированные входы пользователей (чтобы не вычислять хеши при каждом обращении к страницам) далее в нужном сайте делаем access_by_lua_file 'xxx.lua'; следующего содержания if ngx.req.get_headers()['Authorization'] then local m = ngx.re.match(ngx.req.get_headers().authorization, 'Basic\\s(.+)') if m and table.maxn(m) == 1 then if not ngx.shared.a:get(m[1]) then local u = ngx.re.match( from_base64(m[1]), '(.+):(.+)' ) if u and table.maxn(u) == 2 then local s1 = ngx.shared.sha1:get(u[1]) if not s1 then ngx.header['WWW-Authenticate'] = 'Basic realm="xxx"' ngx.exit(ngx.HTTP_UNAUTHORIZED) else if s1 == sha1.sha1(u[2]) then ngx.shared.a:add(m[1], 1) return else ngx.header['WWW-Authenticate'] = 'Basic realm="xxx"' ngx.exit(ngx.HTTP_UNAUTHORIZED) end end end else return end end else ngx.header['WWW-Authenticate'] = 'Basic realm="xxx"' ngx.exit(ngx.HTTP_UNAUTHORIZED) end т.е. при первой аутентификации пользователя, если она успешная, кешируем ее в "a" есть побочные эффекты, например, при изменении списка логинов-паролей надо делать restart, а не reload. еще можно устроить DoS, если завалить запросами с неправильными паролями (чтобы нагрузить арифметичвеским вычислением хешей) как иллюстрация - вполне. 21 марта 2015 г., 19:40 пользователь itcod написал: > Илья спасибо! за наводку! > если не затруднит киньте микро-пример... > я полный чайник в луа.. > если на перл или js синтаксис похоже то разберусь:) > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,257511,257518#msg-257518 > > ___ > 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
Вещание RTSP - RTMP + NGINX
Здравствуйте, необходимо сделать вещание с камеры RTSP с перекодированием в RTMP. Поставил убунту, собрал все нужные компоненты, установил. Вроде бы все работает, nginx запустился, но упорно отказывается раздавать видео. Уже не знаю куда глядеть, может кто поможет в решении?? Выкладываю видос как я проверяю работу. Также файл конфига nginx и логи после первого запуска и проверки. Видео работы: https://drive.google.com/file/d/0B6a9xcxFxSO8NlZqNHRDMXQ1dEE/view?usp=sharing файлы логов и конфига. https://drive.google.com/file/d/0B6a9xcxFxSO8SUxXRThQNkxZSmM/view?usp=sharing Спасибо. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257557,257557#msg-257557 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: 301 редирект http->https исключая графику и robots.txt как ?
Все разобрался :) root $root_path/$subdomain; надо было из секции http поставить Огромное человеческое спасибо ! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257548,257555#msg-257555 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: 301 редирект http->https исключая графику и robots.txt как ?
On Mon, Mar 23, 2015 at 05:51:57AM -0400, anstrem wrote: > Тоже самое :( 404 Not Found и на robot.txt и на графику по http > По https открывается без проблем и то и то ... > > root /path/to/static; - это надо было заменить на что то или так прям и > вписать (я пока так вписал - не работает :( ) Замените /path/to/static на путь к каталогу в котором расположен robots.txt. > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,257548,257552#msg-257552 > > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Cheers, Oleg A. Mamontov mailto: o...@mamontov.net skype: lonerr11 cell: +7 (903) 798-1352 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: общий кэш для нескольких nginx
возможно, вы придете к монстроидной схеме nginx --> squid (с поддержкой ICAP) --> бекенды и даже после танцев с бубном вы ее настроите. но, практика показывает, что в таких случаях надо уметь отвечать на вопрос "зачем это надо ?". после ответа на который часто оказывается, что на самом деле - не надо. вы бы рассказали про вашу ситуацию в деталях ? 23 марта 2015 г., 13:54 пользователь Михаил Пульман написал: > Добрый день коллеги! > > На фронте имеется n-ое количество nginx которые выступают в качестве > балансировщиков. > Нужно наладить единый кэш для всех фронтенд nginxов. Какие есть возможности > в nginx для реализации этой задачи? > > С уважением, Михаил > > ___ > 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
Re: 301 редирект http->https исключая графику и robots.txt как ?
Тоже самое :( 404 Not Found и на robot.txt и на графику по http По https открывается без проблем и то и то ... root /path/to/static; - это надо было заменить на что то или так прям и вписать (я пока так вписал - не работает :( ) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257548,257552#msg-257552 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: 301 редирект http->https исключая графику и robots.txt как ?
В таком варианте получаю 404 Not Found при попытке вызвать robots.txt или графику через Http Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257548,257551#msg-257551 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: 301 редирект http->https исключая графику и robots.txt как ?
On Mon, Mar 23, 2015 at 05:20:39AM -0400, anstrem wrote: > Подскажите как правильно настроить 301 редирект сайта с http на https > протокол, но при этом оставить доступ к robots.txt и всем графическим файлам > по http (иначе они не будут индексироваться Яндексом) ? > > Пробовал вот так: > > server { > listen ip; > server_name domain.ru *.domain.ru www.domain.ru; > location /robots.txt { > rewrite ^ /robots.txt break; > } > location ~* ^.+\.(jpg|jpeg|gif|png|ico)$ { > rewrite ^ http://$server_name$request_uri? break; > } > location / { > return 301 https://domain.ru$request_uri; > } > } > server { > server_name domain.ru *.domain.ru www.domain.ru; > listen ip:443 ssl; > ... > server { listen ip; server_name domain.ru *.domain.ru www.domain.ru; location / { return 301 https://domain.ru$request_uri; } location ~* \.(?:ico|gif|jpeg|jpg|png)$ { root /path/to/static; } location /robots.txt { root /path/to/static; } } > Сам по себе редирект с http на https работает, а вот с исключениями проблема > :( > При попытке открыть http:/domain.ru/robots.txt - получаю 404 Not Found > При попытке открыть любой граф файл по http типа: > http://domain.ru/images/image.jpg получаю - На этой странице обнаружена > циклическая переадресация > > Никто не подскажет как правильно сделать такие исключения для редиректа в > nginx ? > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,257548,257548#msg-257548 > > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Cheers, Oleg A. Mamontov ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: 301 редирект http->https исключая графику и robots.txt как ?
server { listen ip; server_name domain.ru *.domain.ru www.domain.ru; location /robots.txt { } location ~* ^.+\.(jpg|jpeg|gif|png|ico)$ { } location / { return 301 https://domain.ru$request_uri; } } ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
301 редирект http->https исключая графику и robots.txt как ?
Подскажите как правильно настроить 301 редирект сайта с http на https протокол, но при этом оставить доступ к robots.txt и всем графическим файлам по http (иначе они не будут индексироваться Яндексом) ? Пробовал вот так: server { listen ip; server_name domain.ru *.domain.ru www.domain.ru; location /robots.txt { rewrite ^ /robots.txt break; } location ~* ^.+\.(jpg|jpeg|gif|png|ico)$ { rewrite ^ http://$server_name$request_uri? break; } location / { return 301 https://domain.ru$request_uri; } } server { server_name domain.ru *.domain.ru www.domain.ru; listen ip:443 ssl; ... Сам по себе редирект с http на https работает, а вот с исключениями проблема :( При попытке открыть http:/domain.ru/robots.txt - получаю 404 Not Found При попытке открыть любой граф файл по http типа: http://domain.ru/images/image.jpg получаю - На этой странице обнаружена циклическая переадресация Никто не подскажет как правильно сделать такие исключения для редиректа в nginx ? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257548,257548#msg-257548 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
общий кэш для нескольких nginx
Добрый день коллеги! На фронте имеется n-ое количество nginx которые выступают в качестве балансировщиков. Нужно наладить единый кэш для всех фронтенд nginxов. Какие есть возможности в nginx для реализации этой задачи? С уважением, Михаил ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru