From nginx-forum at nginx.us Sun Mar 1 07:43:53 2015 From: nginx-forum at nginx.us (ingtar) Date: Sun, 01 Mar 2015 02:43:53 -0500 Subject: Nginx + Android + ssl = 400 In-Reply-To: <54F243ED.7040502@kopeyko.ru> References: <54F243ED.7040502@kopeyko.ru> Message-ID: <8406bd98f726b1edc2e1609b41913f03.NginxMailingListRussian@forum.nginx.org> В общем, ситуация все страннее и страннее. Я скопировал полностью все конфиги с боевого сервера (много доменных имен) - и у меня на тесте все отвалилось! В результате гоняний конфигов туда-сюда выяснил, что если конфиг для exchange стоит ПЕРВЫМ в списке директории - т.е. имеет например имя aaaaa.conf то все работает. Хочу еще раз обратить внимание на то, что локейшены подцепляются корректно при любом имени файла, т.е. nginx понимает, к какому серверу идет обращение. И лог правильный. Но такое чувство, что при установке соединения клиент делает некий запрос (может быть без хостнейма в заголовке) и ему отвечает первый конфиг, который nginx прочитает - верхний. Засяду ка я за tcpdump... Andrey Kopeyko Wrote: ------------------------------------------------------- Posted at Nginx Forum: http://forum.nginx.org/read.php?21,256951,256968#msg-256968 From mdounin at mdounin.ru Mon Mar 2 13:42:56 2015 From: mdounin at mdounin.ru (Maxim Dounin) Date: Mon, 2 Mar 2015 16:42:56 +0300 Subject: Nginx + Android + ssl = 400 In-Reply-To: <8406bd98f726b1edc2e1609b41913f03.NginxMailingListRussian@forum.nginx.org> References: <54F243ED.7040502@kopeyko.ru> <8406bd98f726b1edc2e1609b41913f03.NginxMailingListRussian@forum.nginx.org> Message-ID: <20150302134256.GR19012@mdounin.ru> Hello! On Sun, Mar 01, 2015 at 02:43:53AM -0500, ingtar wrote: > В общем, ситуация все страннее и страннее. Я скопировал полностью все > конфиги с боевого сервера (много доменных имен) - и у меня на тесте все > отвалилось! > В результате гоняний конфигов туда-сюда выяснил, что если конфиг для > exchange стоит ПЕРВЫМ в списке директории - т.е. имеет например имя > aaaaa.conf то все работает. Судя по всему, вам надо прочитать про то, как вообще работает SSL и как [не] решается проблема нескольких сертификатов на одном сервере. Ибо вы, судя по всему, пытаетесь использовать SNI. Делая это, надо понимать, что: 1) SNI работает далеко не везде, даже не во всех браузерах. Не говоря уже о каких-либо специфических http-клиентах. 2) Если SNI не работает, то будет использован сертификат из сервера по умолчанию. Каковым является первый в конфиге блок server{}, использующий данный listen-сокет (либо может быть задан явно с помощью параметра default_server директивы listen). Подробнее про SNI можно почитать, например, тут: http://nginx.org/ru/docs/http/configuring_https_servers.html#name_based_https_servers А про сервера по умолчанию - тут: http://nginx.org/ru/docs/http/request_processing.html -- Maxim Dounin http://nginx.org/ From nginx-forum at nginx.us Mon Mar 2 16:23:23 2015 From: nginx-forum at nginx.us (ingtar) Date: Mon, 02 Mar 2015 11:23:23 -0500 Subject: Nginx + Android + ssl = 400 In-Reply-To: <20150302134256.GR19012@mdounin.ru> References: <20150302134256.GR19012@mdounin.ru> Message-ID: Доброго дня, Максим! Maxim Dounin Wrote: ------------------------------------------------------- Такую штуку я специально не включал, только по незнанию если :) Но поддержка SNI есть, nginx -V ее показывает. > Ибо вы, судя по всему, пытаетесь использовать SNI. > Делая это, надо понимать, что: > > 1) SNI работает далеко не везде, даже не во всех браузерах. Не > говоря уже о каких-либо специфических http-клиентах. > > 2) Если SNI не работает, то будет использован сертификат из > сервера по умолчанию. Каковым является первый в конфиге блок > server{}, использующий данный listen-сокет (либо может быть задан > явно с помощью параметра default_server директивы listen). > На сервере установлен один wildcard-сертификат, который используется для всех доменных имен. В том числе в конфиге для Exchange. Вторых сертификатов для ssl нет. Соотвесттвенно доменные адреса вида www.example.com, static.example.com, zip.example.com и теперь вот exchange.example.com Только 1 конфиг использует авторизацию клиентов по сертификатам, все остальные это обычные веб-сайты с общим доступом. За ссылки спасибо :) В общем я подозреваю, что клиент Андройда делает один из запросов при установке соединения не по хостнейму, а по ИП адресу (может быть обратную зону проверяет, но не получилось это подтвердить) В результате запрос цепляется правильным конфигом, но вот на тот самый "обратный" запрос нам отвечает другой конфиг (первый в списке) Самое, что заставляет мой глаз дергаться - на IOS все работает как часы при любой конфигурации. > Подробнее про SNI можно почитать, например, тут: > > http://nginx.org/ru/docs/http/configuring_https_servers.html#name_base > d_https_servers > > А про сервера по умолчанию - тут: > > http://nginx.org/ru/docs/http/request_processing.html > > -- > Maxim Dounin > http://nginx.org/ > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Posted at Nginx Forum: http://forum.nginx.org/read.php?21,256951,256998#msg-256998 From chipitsine at gmail.com Mon Mar 2 19:58:31 2015 From: chipitsine at gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Tue, 3 Mar 2015 01:58:31 +0600 Subject: Nginx + Android + ssl = 400 In-Reply-To: References: <20150302134256.GR19012@mdounin.ru> Message-ID: нельзя настроить "только один сайт требует аутентификацию по сертификату" этот параметр согласуется в SSL Server Hello. т.е. вы требуете аутентификацию для всех сайтов. можете поиграть с обработчиком ошибки 495 (клиент не предоставил сертификата), в сеть пойдет 400 (в error-логе будет 495), вероятно это ваш случай. насчет pre-flight запросов, в протоколе mapi есть механизм автоопределения, не исключено, что этот запрос пытается выполнить андроид. чудесов не бывает, смотрите логи. там все есть про вашу 400-ю ошибку 2 марта 2015 г., 21:23 пользователь ingtar написал: > Доброго дня, Максим! > > Maxim Dounin Wrote: > ------------------------------------------------------- > > Такую штуку я специально не включал, только по незнанию если :) Но поддержка > SNI есть, nginx -V ее показывает. > >> Ибо вы, судя по всему, пытаетесь использовать SNI. >> Делая это, надо понимать, что: >> >> 1) SNI работает далеко не везде, даже не во всех браузерах. Не >> говоря уже о каких-либо специфических http-клиентах. >> >> 2) Если SNI не работает, то будет использован сертификат из >> сервера по умолчанию. Каковым является первый в конфиге блок >> server{}, использующий данный listen-сокет (либо может быть задан >> явно с помощью параметра default_server директивы listen). >> > На сервере установлен один wildcard-сертификат, который используется для > всех доменных имен. В том числе в конфиге для Exchange. Вторых сертификатов > для ssl нет. Соотвесттвенно доменные адреса вида www.example.com, > static.example.com, zip.example.com и теперь вот exchange.example.com > Только 1 конфиг использует авторизацию клиентов по сертификатам, все > остальные это обычные веб-сайты с общим доступом. > > За ссылки спасибо :) > В общем я подозреваю, что клиент Андройда делает один из запросов при > установке соединения не по хостнейму, а по ИП адресу (может быть обратную > зону проверяет, но не получилось это подтвердить) В результате запрос > цепляется правильным конфигом, но вот на тот самый "обратный" запрос нам > отвечает другой конфиг (первый в списке) > > Самое, что заставляет мой глаз дергаться - на IOS все работает как часы при > любой конфигурации. > >> Подробнее про SNI можно почитать, например, тут: >> >> http://nginx.org/ru/docs/http/configuring_https_servers.html#name_base >> d_https_servers >> >> А про сервера по умолчанию - тут: >> >> http://nginx.org/ru/docs/http/request_processing.html >> >> -- >> Maxim Dounin >> http://nginx.org/ >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru at nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,256951,256998#msg-256998 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From nginx-forum at nginx.us Tue Mar 3 11:13:32 2015 From: nginx-forum at nginx.us (setevoy) Date: Tue, 03 Mar 2015 06:13:32 -0500 Subject: /etc/nginx/client_body_temp/0000000001" has written only 4671 of 8184 Message-ID: <74605f58dce3863d88d136dc300b0d6f.NginxMailingListRussian@forum.nginx.org> Имеется git-репозиторий под NGINX + spawn-fcgi. При добавлении новых файлов - получаю ошибку: $ git push zeus master Counting objects: 5483, done. Delta compression using up to 4 threads. Compressing objects: 100% (5343/5343), done. error: RPC failed; result=22, HTTP code = 500 | 2.82 MiB/s fatal: The remote end hung up unexpectedly Writing objects: 100% (5483/5483), 463.89 MiB | 19.33 MiB/s, done. Total 5483 (delta 1591), reused 0 (delta 0) fatal: The remote end hung up unexpectedly Everything up-to-date А в логе NGINX: 32015/03/03 12:51:55 [crit] 21530#0: *1 writev() "/etc/nginx/client_body_temp/0000000001" has written only 4671 of 8184, client: 10.249.140.96, server: domain.com, request: "POST /new.git/git-receive-pack HTTP/1.1", host: "domain.com" Настройки NGINX: location / { client_max_body_size 0; fastcgi_pass unix:/var/run/fcgiwrap.socket; fastcgi_param GIT_HTTP_EXPORT_ALL ""; fastcgi_param GIT_PROJECT_ROOT /var/gitrepo; fastcgi_param PATH_INFO $uri; fastcgi_param SCRIPT_FILENAME /usr/libexec/git-core/git-http-backend; fastcgi_param REMOTE_USER $remote_user; include /etc/nginx/fastcgi_params; dav_methods PUT DELETE MKCOL COPY MOVE; dav_ext_methods PROPFIND OPTIONS; } Подскажите - что я упустил? Пытаюсь нагуглить что-то похожее - пока без успеха. CentOS 6.6, ФС ext4. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257020,257020#msg-257020 From nginx-forum at nginx.us Tue Mar 3 11:27:27 2015 From: nginx-forum at nginx.us (setevoy) Date: Tue, 03 Mar 2015 06:27:27 -0500 Subject: /etc/nginx/client_body_temp/0000000001" has written only 4671 of 8184 In-Reply-To: <74605f58dce3863d88d136dc300b0d6f.NginxMailingListRussian@forum.nginx.org> References: <74605f58dce3863d88d136dc300b0d6f.NginxMailingListRussian@forum.nginx.org> Message-ID: <23e2a332748d1a281e6b349039d32def.NginxMailingListRussian@forum.nginx.org> $ git config http.postBuffer 524288000 решило пробелму Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257020,257021#msg-257021 From nginx-forum at nginx.us Tue Mar 3 11:27:36 2015 From: nginx-forum at nginx.us (suddenhead) Date: Tue, 03 Mar 2015 06:27:36 -0500 Subject: /etc/nginx/client_body_temp/0000000001" has written only 4671 of 8184 In-Reply-To: <74605f58dce3863d88d136dc300b0d6f.NginxMailingListRussian@forum.nginx.org> References: <74605f58dce3863d88d136dc300b0d6f.NginxMailingListRussian@forum.nginx.org> Message-ID: <0d2e7309c5b3bb2f61365d657a4a049a.NginxMailingListRussian@forum.nginx.org> а место на диске есть? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257020,257022#msg-257022 From nginx-forum at nginx.us Tue Mar 3 12:16:03 2015 From: nginx-forum at nginx.us (xvost) Date: Tue, 03 Mar 2015 07:16:03 -0500 Subject: =?UTF-8?B?0J3QtSDQvtCx0YDQsNCx0LDRgtGL0LLQsNC10YLRgdGPINC60L7QtCDRgdGC0LA=?= =?UTF-8?B?0YLRg9GB0LA=?= Message-ID: <9779bee94c6d0ecff830507bd0762258.NginxMailingListRussian@forum.nginx.org> upstream uwsgi_sock { server:{some_path}; } server { listen 80; server_name ****.ru; access_log /home/www/var/log/nginx_access.log; error_log /home/www/var/log/nginx_error.log; location / { include uwsgi_params; uwsgi_pass uwsgi_sock; uwsgi_intercept_errors on; } location /static/ { add_header Cache-Control public; expires modified +60d; alias /home/www/static/; } location /media/ { add_header Cache-Control public; expires modified +60d; alias /home/www/media/; } location /article_view { include uwsgi_params; uwsgi_pass uwsgi_sock; uwsgi_intercept_errors on; if ($status = 404) { return 301 http://****.ru/articles/news/; } } Задумывалось - если при входе по ссылке вида http://****.ru/article_view?a_id=34558, бекэнд возвращает 404, должен сработать редирект по 301 коду, если же бекэнд возвращает все что угодно но не 404, то ничего не делаем (может ответить 200 и 301) Но не работает, if не срабатывает Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257024,257024#msg-257024 From nginx-forum at nginx.us Tue Mar 3 12:18:45 2015 From: nginx-forum at nginx.us (suddenhead) Date: Tue, 03 Mar 2015 07:18:45 -0500 Subject: =?UTF-8?B?UmU6INCd0LUg0L7QsdGA0LDQsdCw0YLRi9Cy0LDQtdGC0YHRjyDQutC+0LQg0YE=?= =?UTF-8?B?0YLQsNGC0YPRgdCw?= In-Reply-To: <9779bee94c6d0ecff830507bd0762258.NginxMailingListRussian@forum.nginx.org> References: <9779bee94c6d0ecff830507bd0762258.NginxMailingListRussian@forum.nginx.org> Message-ID: <41770d9809ff05e124a82709af520553.NginxMailingListRussian@forum.nginx.org> error_page 404 =301 http://****.ru/articles/news/; http://nginx.org/ru/docs/http/ngx_http_core_module.html#error_page Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257024,257025#msg-257025 From nginx-forum at nginx.us Tue Mar 3 12:24:07 2015 From: nginx-forum at nginx.us (xvost) Date: Tue, 03 Mar 2015 07:24:07 -0500 Subject: =?UTF-8?B?UmU6INCd0LUg0L7QsdGA0LDQsdCw0YLRi9Cy0LDQtdGC0YHRjyDQutC+0LQg0YE=?= =?UTF-8?B?0YLQsNGC0YPRgdCw?= In-Reply-To: <41770d9809ff05e124a82709af520553.NginxMailingListRussian@forum.nginx.org> References: <9779bee94c6d0ecff830507bd0762258.NginxMailingListRussian@forum.nginx.org> <41770d9809ff05e124a82709af520553.NginxMailingListRussian@forum.nginx.org> Message-ID: Мне не надо страничку ошибки показывать, это наследие старого сайта, есть ссылки которые работают, а есть которые возвращают 404 и вот их мне надо обработать Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257024,257026#msg-257026 From nginx-forum at nginx.us Tue Mar 3 12:28:48 2015 From: nginx-forum at nginx.us (suddenhead) Date: Tue, 03 Mar 2015 07:28:48 -0500 Subject: =?UTF-8?B?UmU6INCd0LUg0L7QsdGA0LDQsdCw0YLRi9Cy0LDQtdGC0YHRjyDQutC+0LQg0YE=?= =?UTF-8?B?0YLQsNGC0YPRgdCw?= In-Reply-To: References: <9779bee94c6d0ecff830507bd0762258.NginxMailingListRussian@forum.nginx.org> <41770d9809ff05e124a82709af520553.NginxMailingListRussian@forum.nginx.org> Message-ID: Я привел нужную вам конструкцию, загляните хотя бы в документацию и убедитесь, что это то что вам нужно Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257024,257027#msg-257027 From nginx-forum at nginx.us Tue Mar 3 17:30:26 2015 From: nginx-forum at nginx.us (ingtar) Date: Tue, 03 Mar 2015 12:30:26 -0500 Subject: Nginx + Android + ssl = 400 In-Reply-To: References: Message-ID: <0c8d4a58601f30b7752173baa1e5c665.NginxMailingListRussian@forum.nginx.org> Тогда я ничего не понимаю :) Можно я вам расскажу свое понимание работы nginx, а вы меня поправите? Может быть у меня фундаментальная дара в знаниях, я такое не отрицаю :) Есть два файла конфигов в директории conf.d example1.conf server { listen *:80; listen *:443 ssl; server_name example1; ssl_certificate 1.crt; ssl_certificate_key 1.key; } example2.conf server { listen *:80; listen *:443 ssl; server_name example2; ssl_certificate 1.crt; ssl_certificate_key 1.key; ssl_client_certificate ca.crt; ssl_verify_client on; } Клиент устанавливает с сайтом example1 соединение. Запрос с хэдером этого сайта приходит на сервер, обслуживающий указанный ИП адрес (Client Helo). Nginx принял запрос, по хедеру сравнил server_name и стал обрабатывать этот запрос по правилам конфига example1 (т.к listen равноправные, приоритет отдается конфигу с правильынм server_name) Сервер отправляет свое Helo с открытым ключем, клиент его проверяет и если все ок - оба договариваются об алгоритмах шифрования и начинается обмен данными. Это если без особых подробностей. Для конфига example2 все тоже самое, только сервер запрашивает сертификат клиента и если его нет - 400 ошибка. В итоге у меня получается два сайта - первый работает без клиентских сертификатов, второй с ними.. Если я вас достал глупыми вопросами - извините, я хочу разобраться в проблеме. По поводу своего первоначального вопроса - выставили конфиг первым в списке, что неправильно, но работает :) Илья Шипицин Wrote: ------------------------------------------------------- > нельзя настроить "только один сайт требует аутентификацию по > сертификату" > этот параметр согласуется в SSL Server Hello. т.е. вы требуете > аутентификацию для всех сайтов. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,256951,257035#msg-257035 From sytar.alex at gmail.com Tue Mar 3 18:50:55 2015 From: sytar.alex at gmail.com (Aleksandr Sytar) Date: Tue, 3 Mar 2015 22:50:55 +0400 Subject: Nginx + Android + ssl = 400 In-Reply-To: <0c8d4a58601f30b7752173baa1e5c665.NginxMailingListRussian@forum.nginx.org> References: <0c8d4a58601f30b7752173baa1e5c665.NginxMailingListRussian@forum.nginx.org> Message-ID: 3 марта 2015 г., 20:30 пользователь ingtar написал: > Тогда я ничего не понимаю :) Можно я вам расскажу свое понимание работы > nginx, а вы меня поправите? Может быть у меня фундаментальная дара в > знаниях, я такое не отрицаю :) > > Есть два файла конфигов в директории conf.d > > example1.conf > server { > listen *:80; > listen *:443 ssl; > server_name example1; > ssl_certificate 1.crt; > ssl_certificate_key 1.key; > } > > example2.conf > server { > listen *:80; > listen *:443 ssl; > server_name example2; > ssl_certificate 1.crt; > ssl_certificate_key 1.key; > ssl_client_certificate ca.crt; > ssl_verify_client on; > } > > Клиент устанавливает с сайтом example1 соединение. Запрос с хэдером этого > сайта приходит на сервер, обслуживающий указанный ИП адрес (Client Helo). > Nginx принял запрос, по хедеру сравнил server_name и стал обрабатывать этот > запрос по правилам конфига example1 (т.к listen равноправные, приоритет > отдается конфигу с правильынм server_name) Сервер отправляет свое Helo с > открытым ключем, клиент его проверяет и если все ок - оба договариваются об > алгоритмах шифрования и начинается обмен данными. > > Это если без особых подробностей. > Для конфига example2 все тоже самое, только сервер запрашивает сертификат > клиента и если его нет - 400 ошибка. > В итоге у меня получается два сайта - первый работает без клиентских > сертификатов, второй с ними.. > и вся эта магия ломается если клиент не передал заголовок Host -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum at nginx.us Tue Mar 3 18:59:48 2015 From: nginx-forum at nginx.us (ingtar) Date: Tue, 03 Mar 2015 13:59:48 -0500 Subject: Nginx + Android + ssl = 400 In-Reply-To: References: Message-ID: Вооо! Я могу, указав в каждом из конфигов свои access_log, видеть, каким конфигом чей запрос словился. И я вижу, что запрос от клиента с андройда и сертификатом словился правильным конфигом (т.е. заголовок был отправлен), он упал в нужный лог. Но если конфиг не в топе - то там 400, а если в топе - то 200! Причем еррор лог говорит просто - запрос без сертификата, а если в топе конфиг - то с сертификатом :) Aleksandr Sytar Wrote: ------------------------------------------------------- > и вся эта магия ломается если клиент не передал заголовок Host Posted at Nginx Forum: http://forum.nginx.org/read.php?21,256951,257037#msg-257037 From gmm at csdoc.com Tue Mar 3 19:55:01 2015 From: gmm at csdoc.com (Gena Makhomed) Date: Tue, 03 Mar 2015 21:55:01 +0200 Subject: Nginx + Android + ssl = 400 In-Reply-To: <0c8d4a58601f30b7752173baa1e5c665.NginxMailingListRussian@forum.nginx.org> References: <0c8d4a58601f30b7752173baa1e5c665.NginxMailingListRussian@forum.nginx.org> Message-ID: <54F61195.6040103@csdoc.com> On 03.03.2015 19:30, ingtar wrote: > Клиент устанавливает с сайтом example1 соединение. Запрос с хэдером этого > сайта приходит на сервер, обслуживающий указанный ИП адрес (Client Helo). > Nginx принял запрос, по хедеру сравнил server_name и стал обрабатывать этот > запрос по правилам конфига example1 (т.к listen равноправные, приоритет > отдается конфигу с правильынм server_name) Сервер отправляет свое Helo с > открытым ключем, клиент его проверяет и если все ок - оба договариваются об > алгоритмах шифрования и начинается обмен данными. listen не равноправные. один из них - default_server. Подробнее: http://nginx.org/en/docs/http/ngx_http_core_module.html#listen http://nginx.org/ru/docs/http/ngx_http_core_module.html#listen Выбор HTTPS-сервера для обработки происходит не по заголовку Host: http://nginx.org/en/docs/http/configuring_https_servers.html http://nginx.org/ru/docs/http/configuring_https_servers.html > Если я вас достал глупыми вопросами - извините, я хочу разобраться в > проблеме. http://mailman.nginx.org/pipermail/nginx-ru/2015-March/055479.html > По поводу своего первоначального вопроса - выставили конфиг первым в списке, > что неправильно, но работает :) Скорее всего, HTTP-клиент на андроиде не умеет TLS SNI и поэтому его запросы всегда попадают в default_server. -- Best regards, Gena From nginx-forum at nginx.us Wed Mar 4 15:38:25 2015 From: nginx-forum at nginx.us (ingtar) Date: Wed, 04 Mar 2015 10:38:25 -0500 Subject: Nginx + Android + ssl = 400 In-Reply-To: <54F61195.6040103@csdoc.com> References: <54F61195.6040103@csdoc.com> Message-ID: тут то собака и порылась. Я вижу записи в логах правильного конфига, где бы он не был. Т.е. запрос попадает на правильное server_name. Gena Makhomed Wrote: > Скорее всего, HTTP-клиент на андроиде не умеет TLS SNI > и поэтому его запросы всегда попадают в default_server. > > -- > Best regards, > Gena > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Posted at Nginx Forum: http://forum.nginx.org/read.php?21,256951,257050#msg-257050 From mdounin at mdounin.ru Wed Mar 4 15:58:14 2015 From: mdounin at mdounin.ru (Maxim Dounin) Date: Wed, 4 Mar 2015 18:58:14 +0300 Subject: Nginx + Android + ssl = 400 In-Reply-To: References: <54F61195.6040103@csdoc.com> Message-ID: <20150304155814.GG97191@mdounin.ru> Hello! On Wed, Mar 04, 2015 at 10:38:25AM -0500, ingtar wrote: > тут то собака и порылась. > Я вижу записи в логах правильного конфига, где бы он не был. Т.е. запрос > попадает на правильное server_name. Запрос - попадает в нужный server{} на основании заголовка Host HTTP-запроса. При этом если клиент не умеет SNI - _соединение_ будет установлено в рамках сервера по умолчанию, и соответственно настройки SSL будут те, которые указаны в рамках сервера по умолчанию. -- Maxim Dounin http://nginx.org/ From nginx-forum at nginx.us Fri Mar 6 14:20:41 2015 From: nginx-forum at nginx.us (Dworx) Date: Fri, 06 Mar 2015 09:20:41 -0500 Subject: =?UTF-8?B?bmdpbngg0LTQu9GPIG1pdG0=?= Message-ID: <49ca146a69e25cf502c2f0b86663f06b.NginxMailingListRussian@forum.nginx.org> Здравствуйте. Хочу сделать js-инжект в одну шибко умную программулину и для этой постыдной цели набросал такой вот конфиг: server { listen 443; server_name example.org; ssl on; ssl_certificate C:/nginx-1.7.10/cert/example.org.crt; ssl_certificate_key C:/nginx-1.7.10/cert/example.org.key; location / { root C:/nginx-1.7.10/sites/example.org; try_files $uri $uri/ @proxypass; } location @proxypass { proxy_pass https://1.2.3.4; # real IP of example.org proxy_set_header Host "example.org"; } } Идея проста, как три копейки: если файл существует локально, одавать его, в противном случае запрашивать и отдавать оригинал. И все бы ничего, если бы на подобный финт nginx `502 Bad Gateway` не отдавал бы. Если у вас есть идеи, где я ошибся, и вы отважитесь ими со мной поделиться, я буду весьма признателен :) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257092,257092#msg-257092 From sytar.alex at gmail.com Fri Mar 6 15:06:48 2015 From: sytar.alex at gmail.com (Aleksandr Sytar) Date: Fri, 6 Mar 2015 18:06:48 +0300 Subject: =?UTF-8?B?UmU6IG5naW54INC00LvRjyBtaXRt?= In-Reply-To: <49ca146a69e25cf502c2f0b86663f06b.NginxMailingListRussian@forum.nginx.org> References: <49ca146a69e25cf502c2f0b86663f06b.NginxMailingListRussian@forum.nginx.org> Message-ID: 6 марта 2015 г., 17:20 пользователь Dworx написал: > Здравствуйте. > > Хочу сделать js-инжект в одну шибко умную программулину и для этой > постыдной > цели набросал такой вот конфиг: > > server { > listen 443; > server_name example.org; > > ssl on; > ssl_certificate C:/nginx-1.7.10/cert/example.org.crt; > ssl_certificate_key C:/nginx-1.7.10/cert/example.org.key; > > location / { > root C:/nginx-1.7.10/sites/example.org; > try_files $uri $uri/ @proxypass; > } > > location @proxypass { > proxy_pass https://1.2.3.4; # real IP of example.org > proxy_set_header Host "example.org"; > } > } > > Идея проста, как три копейки: если файл существует локально, одавать его, в > противном случае запрашивать и отдавать оригинал. И все бы ничего, если бы > на подобный финт nginx `502 Bad Gateway` не отдавал бы. > Ванга говорит, что 502 возвращает прокся. Так вижу. > Если у вас есть идеи, где я ошибся, и вы отважитесь ими со мной поделиться, > я буду весьма признателен :) > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum at nginx.us Fri Mar 6 15:21:31 2015 From: nginx-forum at nginx.us (Dworx) Date: Fri, 06 Mar 2015 10:21:31 -0500 Subject: =?UTF-8?B?UmU6IG5naW54INC00LvRjyBtaXRt?= In-Reply-To: References: Message-ID: <4e9f069cbc30b51300c5d9d71a700a94.NginxMailingListRussian@forum.nginx.org> Но при прямом запросе файл отдается на отличненько. Получается, я с заголовками намудрил, и целевому серверу помимо Host`а еще что-то нужно? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257092,257095#msg-257095 From mva at mva.name Fri Mar 6 15:47:49 2015 From: mva at mva.name (Vadim A. Misbakh-Soloviov) Date: Fri, 06 Mar 2015 21:47:49 +0600 Subject: =?UTF-8?B?UmU6IG5naW54INC00LvRjyBtaXRt?= In-Reply-To: <4e9f069cbc30b51300c5d9d71a700a94.NginxMailingListRussian@forum.nginx.org> References: <4e9f069cbc30b51300c5d9d71a700a94.NginxMailingListRussian@forum.nginx.org> Message-ID: <3193810.smVN8L5tOO@note> В письме от Пт, 6 марта 2015 10:21:31 пользователь Dworx написал: > Но при прямом запросе файл отдается на отличненько. Получается, я с > заголовками намудрил, и целевому серверу помимо Host`а еще что-то нужно? подсказка: или НЕ нужно :) -- Best regards, mva -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: This is a digitally signed message part. URL: From nginx-forum at nginx.us Sat Mar 7 07:30:48 2015 From: nginx-forum at nginx.us (Dworx) Date: Sat, 07 Mar 2015 02:30:48 -0500 Subject: =?UTF-8?B?UmU6IG5naW54INC00LvRjyBtaXRt?= In-Reply-To: <49ca146a69e25cf502c2f0b86663f06b.NginxMailingListRussian@forum.nginx.org> References: <49ca146a69e25cf502c2f0b86663f06b.NginxMailingListRussian@forum.nginx.org> Message-ID: <0b4c697b3cf93a73bc8711d36210b8a7.NginxMailingListRussian@forum.nginx.org> _Внезапно_ оказалось, что ip-адресов у сайта может быть аж несколько (шокирующее занание, не правда ли?). Смена ip по подсказке Domain Dossier оказала чудодейственное воздействие. Спасибо за уделенное мне и моей проблеме время. Как говорил гугл-переводчик в былые времена: ?Вы, парни, rocks!? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257092,257116#msg-257116 From nginx-forum at nginx.us Sat Mar 7 13:18:48 2015 From: nginx-forum at nginx.us (GTAlex) Date: Sat, 07 Mar 2015 08:18:48 -0500 Subject: /dir/ rewrite to index.php Message-ID: <6f3783b9ce7602dbae44a6b11e34651c.NginxMailingListRussian@forum.nginx.org> /dir/ обрабатывается так же как и корень почему? вот конфиг: location / { index index.php; try_files $uri /index.php$is_args$args; } location ~ ^/(index)\.php(/|$) { fastcgi_pass unix:/tmp/php-fpm.sock; fastcgi_split_path_info ^(.+\.php)(/.*)$; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param REQUEST_URI $uri; } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257121,257121#msg-257121 From onokonem at gmail.com Sat Mar 7 14:59:37 2015 From: onokonem at gmail.com (Daniel Podolsky) Date: Sat, 7 Mar 2015 17:59:37 +0300 Subject: /dir/ rewrite to index.php In-Reply-To: <6f3783b9ce7602dbae44a6b11e34651c.NginxMailingListRussian@forum.nginx.org> References: <6f3783b9ce7602dbae44a6b11e34651c.NginxMailingListRussian@forum.nginx.org> Message-ID: а где тут описана для /dir/ специальная обработка? On Sat, Mar 7, 2015 at 4:18 PM, GTAlex wrote: > /dir/ > обрабатывается так же как и корень > почему? > > вот конфиг: > > > > location / { > index index.php; > try_files $uri /index.php$is_args$args; > } > > location ~ ^/(index)\.php(/|$) { > fastcgi_pass unix:/tmp/php-fpm.sock; > fastcgi_split_path_info ^(.+\.php)(/.*)$; > > include /etc/nginx/fastcgi_params; > > fastcgi_param SCRIPT_FILENAME > $document_root$fastcgi_script_name; > fastcgi_param REQUEST_URI $uri; > > } > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257121,257121#msg-257121 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From dmitry.goryainov at gmail.com Sat Mar 7 15:04:55 2015 From: dmitry.goryainov at gmail.com (Dmitry) Date: Sat, 7 Mar 2015 18:04:55 +0300 Subject: /dir/ rewrite to index.php In-Reply-To: References: <6f3783b9ce7602dbae44a6b11e34651c.NginxMailingListRussian@forum.nginx.org> Message-ID: М.б. нужно try_files $uri $uri/ /index.php$is_args$args; ? On Sat, Mar 7, 2015 at 5:59 PM, Daniel Podolsky wrote: > а где тут описана для /dir/ специальная обработка? > > On Sat, Mar 7, 2015 at 4:18 PM, GTAlex wrote: > > /dir/ > > обрабатывается так же как и корень > > почему? > > > > вот конфиг: > > > > > > > > location / { > > index index.php; > > try_files $uri /index.php$is_args$args; > > } > > > > location ~ ^/(index)\.php(/|$) { > > fastcgi_pass unix:/tmp/php-fpm.sock; > > fastcgi_split_path_info ^(.+\.php)(/.*)$; > > > > include /etc/nginx/fastcgi_params; > > > > fastcgi_param SCRIPT_FILENAME > > $document_root$fastcgi_script_name; > > fastcgi_param REQUEST_URI $uri; > > > > } > > > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,257121,257121#msg-257121 > > > > _______________________________________________ > > nginx-ru mailing list > > nginx-ru at nginx.org > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -- Dmitry Goryainov -------------- next part -------------- An HTML attachment was scrubbed... URL: From gmm at csdoc.com Sun Mar 8 02:36:00 2015 From: gmm at csdoc.com (Gena Makhomed) Date: Sun, 08 Mar 2015 04:36:00 +0200 Subject: [security advisory] http://wiki.nginx.org/Redmine Message-ID: <54FBB590.6010208@csdoc.com> Здравствуйте! Пытаюсь наиболее оптимальным способом настроить связку nginx + redmine, и на wiki-сайте nginx нашел совсем уж кривые рекомендации по настройке: http://wiki.nginx.org/Redmine Здесь как минимум три проблемы: 1. Все конфиги редмайна при такой настройке становятся доступны всем желающим, например: https://redmine.example.com/config/database.yml - там лежит в plain text логин и пароль подключения к базе данных. 2. На этом сайте используется nginx/1.5.12 с известными уязвимостями 3. Используется переменная $http_host вместо переменной $host ================================================================= Домен nginx.org - это официальный домен разработчиков nginx, и все что размещено на этом домене и сабдоменах автоматически получает высокий рейтинг доверия у пользователей, и подобные рекомендации по настройке nginx широко используются в мире. Поэтому здесь получается примерно вот такая ситуация: http://www.jvanetsky.ru/data/text/t8/konservatoria/ Консерватория Консерватория, аспирантура, мошенничество, афера, суд, Сибирь. Консерватория, частные уроки, еще одни частные уроки, зубные протезы, золото, мебель, суд, Сибирь. Консерватория, концертмейстерство, торговый техникум, зав. производством, икра, крабы, валюта, золото, суд, Сибирь. Может, что-то в консерватории подправить? ============================================================ Небезопасные рекомендации по настройке redmine, которые выложены на http://wiki.nginx.org/Redmine на текущий момент: [...] This is very nearly a drop in configuration. The only thing you should need to change will be the root location, upstream servers, and the server name. upstream redmine { server 127.0.0.1:8000; server 127.0.0.1:8001; server 127.0.0.1:8002; } server { server_name redmine.DOMAIN.TLD; root /var/www/redmine; location / { try_files $uri @ruby; } location @ruby { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_read_timeout 300; proxy_pass http://redmine; } } [...] ============================================================ -- Best regards, Gena From vbart at nginx.com Sun Mar 8 14:04:40 2015 From: vbart at nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Sun, 08 Mar 2015 17:04:40 +0300 Subject: [security advisory] http://wiki.nginx.org/Redmine In-Reply-To: <54FBB590.6010208@csdoc.com> References: <54FBB590.6010208@csdoc.com> Message-ID: <2772182.96d0DuIlMC@vbart-laptop> http://wiki.nginx.org/Nginx_Community:General_disclaimer -- Валентин Бартенев From nginx-forum at nginx.us Tue Mar 10 04:30:47 2015 From: nginx-forum at nginx.us (softshape) Date: Tue, 10 Mar 2015 00:30:47 -0400 Subject: =?UTF-8?B?0JrQsNC6INCy0YvQt9Cy0LDRgtGMIHBoYW50b21qcyDQv9GA0Y/QvNC+INC40Lcg?= =?UTF-8?B?bmdpbng/?= Message-ID: Всем привет, нужен совет, возможно ли и как настроить nginx, чтобы решить такую задачу - на каждый запрос вида http://pdf.domain.ru/path/?pdf=12345.pdf вызывать phantomjs c параметрами - phantomjs /opt/www/modules/pdf/rasterize.js 'http://www.domain.ru/path/' /opt/www/files/12345.pdf A4 Другими словами, он - 1) "ловит" поддомен pdf.* 2) вызывает phantomjs с путем www.*, 3) имя выходного PDF-файла берет из параметра pdf=.... 4) после этого делает редирект на www.domain.ru/files/12345.pdf Можно ли это сделать на уровне настроек nginx и как? Спасибо! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257159,257159#msg-257159 From nginx-forum at nginx.us Tue Mar 10 04:37:53 2015 From: nginx-forum at nginx.us (softshape) Date: Tue, 10 Mar 2015 00:37:53 -0400 Subject: =?UTF-8?B?UmU6INCa0LDQuiDQstGL0LfQstCw0YLRjCBwaGFudG9tanMg0L/RgNGP0LzQviA=?= =?UTF-8?B?0LjQtyBuZ2lueD8=?= In-Reply-To: References: Message-ID: <80bd539ef840c54a10731e570714f458.NginxMailingListRussian@forum.nginx.org> Как более универсальный и наверное более простой вариант, можно "ловить" не домен pdf.* а сам параметр pdf=.... - вопрос только, как потом вызвать phantomjs? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257159,257160#msg-257160 From redmine24 at gmail.com Tue Mar 10 10:43:41 2015 From: redmine24 at gmail.com (=?UTF-8?B?0JTQuNC80LAg0KDQtdC00LzQsNC50L0=?=) Date: Tue, 10 Mar 2015 12:43:41 +0200 Subject: [security advisory] http://wiki.nginx.org/Redmine In-Reply-To: <2772182.96d0DuIlMC@vbart-laptop> References: <54FBB590.6010208@csdoc.com> <2772182.96d0DuIlMC@vbart-laptop> Message-ID: https://redmine.example.com/config/database.yml вообще-то root должен смотреть в папку public, в вашем случае /var/www/redmine/public/ On Sun, Mar 8, 2015 at 4:04 PM, Валентин Бартенев wrote: > http://wiki.nginx.org/Nginx_Community:General_disclaimer > > -- > Валентин Бартенев > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -------------- next part -------------- An HTML attachment was scrubbed... URL: From pavel2000 at ngs.ru Tue Mar 10 16:22:50 2015 From: pavel2000 at ngs.ru (Pavel V.) Date: Tue, 10 Mar 2015 22:22:50 +0600 Subject: [security advisory] http://wiki.nginx.org/Redmine In-Reply-To: References: <54FBB590.6010208@csdoc.com> <2772182.96d0DuIlMC@vbart-laptop> Message-ID: <867461965.20150310222250@ngs.ru> Здравствуйте, Дмитрий. > вообще-то root должен смотреть в папку public, в вашем случае /var/www/redmine/public/ Я предполагаю, что человек, который нашел указанные проблемы, не нуждается в том, чтобы ему подсказывали, куда должна указывать директива root. Как вы и сказали, root должен указывать в public/, но в примере, который изначально был на странице, он указывает не в public/, а на уровень выше. Т.е. должен, но не указывает. При этом конфиг остается работоспособным - если try_files $uri не нашло нужный файл напрямую, запрос проксируется на бэкенд и на запрос будет выдан ожидаемый результат. Проблема возникает в тот момент, когда try_files $uri _срабатывает_ на "специально сформированный запрос", в результате которого возможна утечка приватных данных. Конфиг, который был на странице до исправлений: > server { > server_name redmine.DOMAIN.TLD; > root /var/www/redmine; > > location / { > try_files $uri @ruby; > } > > location @ruby { > proxy_set_header X-Real-IP $remote_addr; > proxy_set_header X-Forwarded-For > $proxy_add_x_forwarded_for; > proxy_set_header Host $http_host; > proxy_redirect off; > proxy_read_timeout 300; > proxy_pass http://redmine; > } > } -- С уважением, Pavel mailto:pavel2000 at ngs.ru From undying-m at yandex.ru Wed Mar 11 16:48:17 2015 From: undying-m at yandex.ru (Den Bozhok) Date: Wed, 11 Mar 2015 19:48:17 +0300 Subject: =?UTF-8?B?dXNlcmlkLiDQv9GA0LjQstC10YHRgtC4INGB0L7QtNC10YDQttC40LzQvtC1INC/?= =?UTF-8?B?0LXRgNC10LzQtdC90L3QvtC5ICR1aWRfc2V0INCyINGC0LDQutC+0Lkg0LY=?= =?UTF-8?B?0LUg0LLQuNC0LCDQutCw0LrQuNC8INC10LPQviDQv9C+0LvRg9GH0LDQtdGC?= =?UTF-8?B?INCx0YDQsNGD0LfQtdGA?= Message-ID: <8433041426092497@web25h.yandex.ru> An HTML attachment was scrubbed... URL: From nginx-forum at nginx.us Thu Mar 12 00:03:33 2015 From: nginx-forum at nginx.us (mikkie) Date: Wed, 11 Mar 2015 20:03:33 -0400 Subject: =?UTF-8?B?bmdpbnggMS43LjEwICsgb3BlbnNzbCAxLjAuMiDQvdC1INGD0LTQsNC10YLRgdGP?= =?UTF-8?B?INGB0LrQvtC80L/QuNC70LjRgNC+0LLQsNGC0Yw=?= Message-ID: <6d3652b4d7fe7f8d2b0adf0c795d43fa.NginxMailingListRussian@forum.nginx.org> Добрый день, Пытаюсь скомпилировать последнюю версию nginx, но судя по описанию возникает проблема с проверками, связанными с ssl В процессе ->make Возникает следующий набор ошибок: objs/ngx_modules.o \ -lpthread -lcrypt -lpcre -lssl -lcrypto -ldl -lz objs/src/event/ngx_event_openssl.o: In function `ngx_ssl_check_host': /tmp/nginx-1.7.10/src/event/ngx_event_openssl.c:2933: undefined reference to `X509_check_host' objs/src/http/ngx_http_request.o: In function `ngx_http_ssl_handshake_handler': /tmp/nginx-1.7.10/src/http/ngx_http_request.c:775: undefined reference to `SSL_get0_alpn_selected' objs/src/http/modules/ngx_http_ssl_module.o: In function `ngx_http_ssl_merge_srv_conf': /tmp/nginx-1.7.10/src/http/modules/ngx_http_ssl_module.c:650: undefined reference to `SSL_CTX_set_alpn_select_cb' collect2: ld returned 1 exit status make[1]: *** [objs/nginx] Error 1 make[1]: Leaving directory `/tmp/nginx-1.7.10' make: *** [build] Error 2 Расположение и версия SSL: ->which openssl ->/usr/local/ssl/bin/openssl ->openssl version ->OpenSSL 1.0.2 22 Jan 2015 Есть ли предположения как решить данную проблему? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257209,257209#msg-257209 From mdounin at mdounin.ru Thu Mar 12 10:51:37 2015 From: mdounin at mdounin.ru (Maxim Dounin) Date: Thu, 12 Mar 2015 13:51:37 +0300 Subject: =?UTF-8?B?UmU6IG5naW54IDEuNy4xMCArIG9wZW5zc2wgMS4wLjIg0L3QtSDRg9C00LDQtdGC?= =?UTF-8?B?0YHRjyDRgdC60L7QvNC/0LjQu9C40YDQvtCy0LDRgtGM?= In-Reply-To: <6d3652b4d7fe7f8d2b0adf0c795d43fa.NginxMailingListRussian@forum.nginx.org> References: <6d3652b4d7fe7f8d2b0adf0c795d43fa.NginxMailingListRussian@forum.nginx.org> Message-ID: <20150312105137.GM88631@mdounin.ru> Hello! On Wed, Mar 11, 2015 at 08:03:33PM -0400, mikkie wrote: > Добрый день, > > Пытаюсь скомпилировать последнюю версию nginx, но судя по описанию возникает > проблема с проверками, связанными с ssl > В процессе ->make > Возникает следующий набор ошибок: > > objs/ngx_modules.o \ > -lpthread -lcrypt -lpcre -lssl -lcrypto -ldl -lz > objs/src/event/ngx_event_openssl.o: In function `ngx_ssl_check_host': > /tmp/nginx-1.7.10/src/event/ngx_event_openssl.c:2933: undefined reference to > `X509_check_host' > objs/src/http/ngx_http_request.o: In function > `ngx_http_ssl_handshake_handler': > /tmp/nginx-1.7.10/src/http/ngx_http_request.c:775: undefined reference to > `SSL_get0_alpn_selected' > objs/src/http/modules/ngx_http_ssl_module.o: In function > `ngx_http_ssl_merge_srv_conf': > /tmp/nginx-1.7.10/src/http/modules/ngx_http_ssl_module.c:650: undefined > reference to `SSL_CTX_set_alpn_select_cb' > collect2: ld returned 1 exit status > make[1]: *** [objs/nginx] Error 1 > make[1]: Leaving directory `/tmp/nginx-1.7.10' > make: *** [build] Error 2 > > Расположение и версия SSL: > ->which openssl > ->/usr/local/ssl/bin/openssl > ->openssl version > ->OpenSSL 1.0.2 22 Jan 2015 > > Есть ли предположения как решить данную проблему? Проверить систему на наличие старых версий OpenSSL, после чего их вычистить или явно задать приоритет новой версии с помощью флагов configure: ./configure --with-cc-opt="-I /path/to/ssl/include" --with-ld-opt="-L /path/to/ssl/lib" Судя по ошибке, у вас заголовочные файлы подбираются от новой версии OpenSSL, а сама библиотека - старая. -- Maxim Dounin http://nginx.org/ From chmind at yandex.ru Thu Mar 12 11:23:32 2015 From: chmind at yandex.ru (chmind at yandex.ru) Date: Thu, 12 Mar 2015 13:23:32 +0200 Subject: =?UTF-8?B?0LPQvtGA0Y/Rh9C40Lkg0LrQtdGIIHByb3h5X2NhY2hlIHZzIHByb3h5X3N0b3Jl?= Message-ID: Добрый день. Есть порядка 2ТБ картинок и видео, все это лежит на 1 sata диске, хочется немного ускорить отдачу файлов имеет ли смысл делать горячий кеш на ssd с помощью proxy_cache или proxy_store ? При этом картинки и видео пополняются ежедневно, и количество запросов к данным добавленным сегодня существенно превышает количество запросов к данным недельной давности и тп. Или как лучше сделать? Спасибо. From undying-m at yandex.ru Thu Mar 12 16:08:53 2015 From: undying-m at yandex.ru (Den Bozhok) Date: Thu, 12 Mar 2015 19:08:53 +0300 Subject: =?UTF-8?B?UmU6IHVzZXJpZC4g0L/RgNC40LLQtdGB0YLQuCDRgdC+0LTQtdGA0LbQuNC80L4=?= =?UTF-8?B?0LUg0L/QtdGA0LXQvNC10L3QvdC+0LkgJHVpZF9zZXQg0LIg0YLQsNC60L4=?= =?UTF-8?B?0Lkg0LbQtSDQstC40LQsINC60LDQutC40Lwg0LXQs9C+INC/0L7Qu9GD0Yc=?= =?UTF-8?B?0LDQtdGCINCx0YDQsNGD0LfQtdGA?= In-Reply-To: <8433041426092497@web25h.yandex.ru> References: <8433041426092497@web25h.yandex.ru> Message-ID: <12748531426176533@web5m.yandex.ru> Сам отвечу на свой вопрос, может кому пригодится. Т.к. Lua весьма беден на функции, которые необходимы в этом деле, то можно использовать математические и строковые функции + API самого nginx. В итоге выходит что то вроде: server { listen 80; userid on; location / { proxy_pass http://172.17.42.1:9292; proxy_set_header X-Uid-Got $uid_got; proxy_set_header X-Uid-Set $uid_set; set $user_cookie $http_cookie; if ($uid_set) { set_by_lua $user_cookie ' function encode_cookie(cookie) local binary_string = "" for i=5,35,8 do local chunk = tonumber(string.sub(cookie, i, i+7), 16) for j=1,4 do binary_string = binary_string .. string.char(chunk % 256) chunk = math.floor(chunk / 256) end end return ngx.encode_base64(binary_string) end if ngx.var.http_cookie == nil then return encode_cookie(ngx.var.uid_set) else return ngx.var.http_cookie .. ";" .. encode_cookie(ngx.var.uid_set) end '; } proxy_set_header Cookie $user_cookie; } } 11.03.2015, 19:48, "Den Bozhok" : > Доброго дня! > > Возник вопрос, можно ли внутри nginx, имея значение $uid_set получить ее представление в Base64, каким его видит бразуер получая заголовок Set-Cookie? > > Есть необходимость передавать этот uid при проксировании первого запроса пользователя, когда еще никакой куки у пользователя нету. > Пробовал с помощью lua модуля, но так ничего и не вышло :/ > > Благодарю! > , > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From annulen at yandex.ru Thu Mar 12 16:28:28 2015 From: annulen at yandex.ru (Konstantin Tokarev) Date: Thu, 12 Mar 2015 19:28:28 +0300 Subject: =?UTF-8?B?UmU6IHVzZXJpZC4g0L/RgNC40LLQtdGB0YLQuCDRgdC+0LTQtdGA0LbQuNC80L4=?= =?UTF-8?B?0LUg0L/QtdGA0LXQvNC10L3QvdC+0LkgJHVpZF9zZXQg0LIg0YLQsNC60L4=?= =?UTF-8?B?0Lkg0LbQtSDQstC40LQsINC60LDQutC40Lwg0LXQs9C+INC/0L7Qu9GD0Yc=?= =?UTF-8?B?0LDQtdGCINCx0YDQsNGD0LfQtdGA?= In-Reply-To: <12748531426176533@web5m.yandex.ru> References: <8433041426092497@web25h.yandex.ru> <12748531426176533@web5m.yandex.ru> Message-ID: <12784861426177708@web13m.yandex.ru> 12.03.2015, 19:24, "Den Bozhok" : > Сам отвечу на свой вопрос, может кому пригодится. > > Т.к. Lua весьма беден на функции, которые необходимы в этом деле, то можно использовать математические и строковые функции + API самого nginx. В итоге выходит что то вроде: > > server { > >   listen 80; > >   userid on; > >   location / { >     proxy_pass http://172.17.42.1:9292; >     proxy_set_header X-Uid-Got $uid_got; >     proxy_set_header X-Uid-Set $uid_set; > >     set $user_cookie $http_cookie; > >     if ($uid_set) { >       set_by_lua $user_cookie ' >         function encode_cookie(cookie) >           local binary_string = "" >           for i=5,35,8 do >             local chunk = tonumber(string.sub(cookie, i, i+7), 16) Можно записать короче: local chunk = tonumber(cookie:sub(i, i+7), 16) > >               for j=1,4 do >                 binary_string = binary_string .. string.char(chunk % 256) >                 chunk = math.floor(chunk / 256) >               end >           end > >           return ngx.encode_base64(binary_string) >         end > >         if ngx.var.http_cookie == nil then >           return encode_cookie(ngx.var.uid_set) >         else >           return ngx.var.http_cookie .. ";" .. encode_cookie(ngx.var.uid_set) >         end >         '; >     } > >     proxy_set_header Cookie $user_cookie; >   } > > } > > 11.03.2015, 19:48, "Den Bozhok" : >>  Доброго дня! >> >>  Возник вопрос, можно ли внутри nginx, имея значение $uid_set получить ее представление в Base64, каким его видит бразуер получая заголовок Set-Cookie? >> >>  Есть необходимость передавать этот uid при проксировании первого запроса пользователя, когда еще никакой куки у пользователя нету. >>  Пробовал с помощью lua модуля, но так ничего и не вышло :/ >> >>  Благодарю! >>  , >> >>  _______________________________________________ >>  nginx-ru mailing list >>  nginx-ru at nginx.org >>  http://mailman.nginx.org/mailman/listinfo/nginx-ru > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Regards, Konstantin From nginx-forum at nginx.us Mon Mar 16 14:07:29 2015 From: nginx-forum at nginx.us (neomaq) Date: Mon, 16 Mar 2015 10:07:29 -0400 Subject: =?UTF-8?B?bGltaXQgcmF0ZSDQtNC70Y8gbG9jYXRpb24=?= Message-ID: Здравствуйте, прошу подсказать как можно ограничить скорость скачивания нужно чтобы все, кто попал в locaion /ABC занимали в общей полосе отдачи с сервера не более, например, 1 мегабайта, вне зависимости от количества клиентов данного url ? как понял limit_rate работает per user а нужно в разрезе per location Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257285,257285#msg-257285 From nginx-forum at nginx.us Tue Mar 17 01:26:45 2015 From: nginx-forum at nginx.us (S.A.N) Date: Mon, 16 Mar 2015 21:26:45 -0400 Subject: Cache_min_uses - check increment Message-ID: <411a492acfadcaad9c626e95b34a2b88.NginxMailingListRussian@forum.nginx.org> Здравствуйте. Если счетчик cache_min_uses, будет срабатывать только на ответы бекенда в которых нет запрета на публичное кеширования, тогда ответ с заголовков Cache-Control: private, не должен изменить счетчик cache_min_uses, Nginx должен передать бекенду, все условные заголовки клиента. Тогда бекенд сможет использовать это поведения, для обработки запросов клиента с приватным кешем и отвечать статусом 304. Один из use cases описан в другой теме, ссылка ниже: http://forum.nginx.org/read.php?21,245951,245951#msg-245951 Спасибо. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257294,257294#msg-257294 From mdounin at mdounin.ru Tue Mar 17 12:44:43 2015 From: mdounin at mdounin.ru (Maxim Dounin) Date: Tue, 17 Mar 2015 15:44:43 +0300 Subject: Cache_min_uses - check increment In-Reply-To: <411a492acfadcaad9c626e95b34a2b88.NginxMailingListRussian@forum.nginx.org> References: <411a492acfadcaad9c626e95b34a2b88.NginxMailingListRussian@forum.nginx.org> Message-ID: <20150317124443.GG88631@mdounin.ru> Hello! On Mon, Mar 16, 2015 at 09:26:45PM -0400, S.A.N wrote: > Если счетчик cache_min_uses, будет срабатывать только на ответы бекенда в > которых нет запрета на публичное кеширования, тогда ответ с заголовков > Cache-Control: private, не должен изменить счетчик cache_min_uses, Nginx > должен передать бекенду, все условные заголовки клиента. Изменения в nginx 1.7.8, 02.12.2014: *) Изменение: теперь строки "If-Modified-Since", "If-Range" и им подобные в заголовке запроса клиента передаются бэкенду при включённом кэшировании, если nginx заранее знает, что не будет кэшировать ответ (например, при использовании proxy_cache_min_uses). -- Maxim Dounin http://nginx.org/ From nginx-forum at nginx.us Tue Mar 17 15:01:37 2015 From: nginx-forum at nginx.us (Evader) Date: Tue, 17 Mar 2015 11:01:37 -0400 Subject: =?UTF-8?Q?104_Connection_reset_=D0=BE=D1=82_nginx?= Message-ID: <32174e0360ae38004558269345ff782c.NginxMailingListRussian@forum.nginx.org> Коллеги, привет! Пытаюсь тестировать различные инстансы EC2 с nginx. Установка простейшая, Amazon Linux, nginx/1.6.2 + php-fpm 5.4. Встретился с проблемой, которую никак не могу понять как побороть. В качестве инструмента для тестирования ? ab, weighttp, httpress, неважно, поведение идентично. Пусть есть location с единственным /index.php с phpinfo() внутри. nginx общается с fpm через unix socket. В таком режиме сервер легко держит 10К, 20 или даже 30К одновременных keepalive подключений. Может даже и больше, особо не проверял. Но проблема заключается в том, что при увеличении количества запросов, появляются 104 Connection reset от самого nginx, которые фиксируются weighttp, например. Бывает еще Connection timed out (110), но реже. Удивительно то, что при 100К запросах, все работает идеально. Можно сколько угодно раз прогонять weighttp с 20К параллельными коннектами и общим числом запросов в 100 тысяч ? все будет работать. Как только число запросов увеличивается >100К ? начинают лезть 104 reset. Эмпирическим путем я выяснил, что их момент появления напрямую зависит от установленного keepalive_timeout. То есть, если его отодвинуть в 2 раза больше, то успешно будут выполняться не 100, а условно 200К запросов. Если наоборот зажать до 10 секунд, все будет фейлиться почти сразу. При этом никаких сообщений в error логе нет. Что именно смотреть в tcpdump при таком поведении я не очень понимаю. somaxconn, backlog самого nginx задраны максимально, значения согласно ss -l применяются успешно. Подскажите, в какую вообще сторону копать/смотреть? Конкретных конфигов/sysctl не предоставляю, потому что кроме беклога, задранных worker_connections и установленных 4 воркерах при 8 ядрах все остальное ? дефолтное. fpm так же довольствуется минимальными значениями в настройках, да и очевидных ошибок о достижении лимитов error логе нет. Заранее большое спасибо за идеи и помощь! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257330,257330#msg-257330 From nginx-forum at nginx.us Tue Mar 17 15:01:59 2015 From: nginx-forum at nginx.us (S.A.N) Date: Tue, 17 Mar 2015 11:01:59 -0400 Subject: Cache_min_uses - check increment In-Reply-To: <20150317124443.GG88631@mdounin.ru> References: <20150317124443.GG88631@mdounin.ru> Message-ID: > Изменения в nginx 1.7.8, > 02.12.2014: > > *) Изменение: теперь строки "If-Modified-Since", "If-Range" и им > подобные в заголовке запроса клиента передаются бэкенду при > включённом кэшировании, если nginx заранее знает, что не будет > кэшировать ответ (например, при использовании > proxy_cache_min_uses). Да, но это происходит только если кол-во запросов не превысило значения cache_min_uses. Например я устанавливаю cache_min_uses 2; первый запрос к бекенду придет со всеми условные заголовками клиента, но второй запрос придет без условных заголовков, потому что указан cache_min_uses 2 и Nginx считает что ответ бекенда можно будет кешировать, по этому удаляет условные заголовки клиента. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257294,257331#msg-257331 From nginx-forum at nginx.us Tue Mar 17 15:21:02 2015 From: nginx-forum at nginx.us (Evader) Date: Tue, 17 Mar 2015 11:21:02 -0400 Subject: =?UTF-8?Q?Re=3A_104_Connection_reset_=D0=BE=D1=82_nginx?= In-Reply-To: <32174e0360ae38004558269345ff782c.NginxMailingListRussian@forum.nginx.org> References: <32174e0360ae38004558269345ff782c.NginxMailingListRussian@forum.nginx.org> Message-ID: Есть еще и другое безумное поведение. Если отключить keepalive на клиенте, то тест вообще не завершается в разумное время. Выглядит это следующим образом. До nginx все запросы долетают, он их отдает и записывает в лог. То есть, скажем, при 300К входящих запросах имею 300К HTTP 200 в access log'е. При этом по lsof хорошо видно, как сервер плавно закрывает все соединения от клиента после обработки. В результате ? на сервере остаются только listener'ы воркеров и все. При этом клиент как будто игнорирует fin от сервера, ибо на клиентской машине остаются до сотен соединений в состоянии ESTABLISHED (!!!), которые висят без какого-либо трафика в обе стороны. Как это диагностировать так же ума не приложу, но эта проблема не так важна, так как реально к серверу будут устанавливаться только keepalive соединения. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257330,257333#msg-257333 From leave at nixkid.com Wed Mar 18 08:36:03 2015 From: leave at nixkid.com (Pavel Mihaduk) Date: Wed, 18 Mar 2015 11:36:03 +0300 Subject: =?UTF-8?Q?Re=3A_104_Connection_reset_=D0=BE=D1=82_nginx?= In-Reply-To: <32174e0360ae38004558269345ff782c.NginxMailingListRussian@forum.nginx.org> References: <32174e0360ae38004558269345ff782c.NginxMailingListRussian@forum.nginx.org> Message-ID: <2597007.zat7irAvS6@mihaduk-laptop> Пальцем в небо: tw_recycle пробовали? On 17 March 2015 11:01:37 Evader wrote: > Коллеги, привет! > > Пытаюсь тестировать различные инстансы EC2 с nginx. Установка простейшая, > Amazon Linux, nginx/1.6.2 + php-fpm 5.4. Встретился с проблемой, которую > никак не могу понять как побороть. В качестве инструмента для тестирования > ? ab, weighttp, httpress, неважно, поведение идентично. Пусть есть location > с единственным /index.php с phpinfo() внутри. nginx общается с fpm через > unix socket. > > В таком режиме сервер легко держит 10К, 20 или даже 30К одновременных > keepalive подключений. Может даже и больше, особо не проверял. Но проблема > заключается в том, что при увеличении количества запросов, появляются 104 > Connection reset от самого nginx, которые фиксируются weighttp, например. > Бывает еще Connection timed out (110), но реже. Удивительно то, что при 100К > запросах, все работает идеально. Можно сколько угодно раз прогонять > weighttp с 20К параллельными коннектами и общим числом запросов в 100 тысяч > ? все будет работать. Как только число запросов увеличивается >100К ? > начинают лезть 104 reset. Эмпирическим путем я выяснил, что их момент > появления напрямую зависит от установленного keepalive_timeout. То есть, > если его отодвинуть в 2 раза больше, то успешно будут выполняться не 100, а > условно 200К запросов. Если наоборот зажать до 10 секунд, все будет > фейлиться почти сразу. > > При этом никаких сообщений в error логе нет. Что именно смотреть в tcpdump > при таком поведении я не очень понимаю. somaxconn, backlog самого nginx > задраны максимально, значения согласно ss -l применяются успешно. > Подскажите, в какую вообще сторону копать/смотреть? Конкретных > конфигов/sysctl не предоставляю, потому что кроме беклога, задранных > worker_connections и установленных 4 воркерах при 8 ядрах все остальное ? > дефолтное. fpm так же довольствуется минимальными значениями в настройках, > да и очевидных ошибок о достижении лимитов error логе нет. > > Заранее большое спасибо за идеи и помощь! > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,257330,257330#msg-257330 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum at nginx.us Wed Mar 18 08:56:58 2015 From: nginx-forum at nginx.us (Evader) Date: Wed, 18 Mar 2015 04:56:58 -0400 Subject: =?UTF-8?Q?Re=3A_104_Connection_reset_=D0=BE=D1=82_nginx?= In-Reply-To: <2597007.zat7irAvS6@mihaduk-laptop> References: <2597007.zat7irAvS6@mihaduk-laptop> Message-ID: <73555cdab5401617f52900a75efa139a.NginxMailingListRussian@forum.nginx.org> Да, такое возникает при любых настройках recycle/reuse/timestamp/sack. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257330,257382#msg-257382 From pullmix at gmail.com Wed Mar 18 13:58:28 2015 From: pullmix at gmail.com (=?UTF-8?B?0JzQuNGF0LDQuNC7INCf0YPQu9GM0LzQsNC9?=) Date: Wed, 18 Mar 2015 16:58:28 +0300 Subject: =?UTF-8?B?0J3QtdC60L7RgNGA0LXQutGC0L3QsNGPINGA0LDQsdC+0YLQsCBhZGRfYWZ0ZXJf?= =?UTF-8?B?Ym9keQ==?= Message-ID: Добрый день! Есть следующий конфиг server { listen 80; server_name example01.ru; add_after_body /inject.html; location /inject.html { root /etc/nginx/conf.d/example01.ru; } location ~* /cron/ { allow "ip addres"; allow "ip addres"; allow "ip addres"; deny all; proxy_read_timeout 999999999; proxy_pass http://upstream_list; } location ~ /\. { deny all; access_log off; log_not_found off; } location ~* ^.+.(css|js|asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|eot|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|odb|odc|odf|odg|odp|ods|odt|ogg|ogv|otf|pdf|png|pot|pps|ppt|pptx|ra|ram|svg|svgz|swf|tar|t?gz|tif|tiff|ttf|wav|webm|wma|woff|wri|xla|xls|xlsx|xlt|xlw|zip)$ { access_log off; log_not_found off; proxy_pass http://upstream_list; include include/"конфиг с кэшем"; } location / { proxy_pass http://upstream_list; } } Суть в том что при любом запросе у сервера example01.ru, в ответ должен приходить ответ + Содержимое inject.html Содержимое inject.html добавляется к телу ответа не всегда. В чем может быть проблема? С уважением, Михаил -------------- next part -------------- An HTML attachment was scrubbed... URL: From mdounin at mdounin.ru Wed Mar 18 14:15:20 2015 From: mdounin at mdounin.ru (Maxim Dounin) Date: Wed, 18 Mar 2015 17:15:20 +0300 Subject: =?UTF-8?B?UmU6INCd0LXQutC+0YDRgNC10LrRgtC90LDRjyDRgNCw0LHQvtGC0LAgYWRkX2Fm?= =?UTF-8?B?dGVyX2JvZHk=?= In-Reply-To: References: Message-ID: <20150318141519.GJ88631@mdounin.ru> Hello! On Wed, Mar 18, 2015 at 04:58:28PM +0300, Михаил Пульман wrote: [...] > Суть в том что при любом запросе у сервера example01.ru, в ответ должен > приходить ответ + Содержимое inject.html > Содержимое inject.html добавляется к телу ответа не всегда. В чем может > быть проблема? В том, что ответ не html (http://nginx.org/r/addition_types/ru) или сжат. -- Maxim Dounin http://nginx.org/ From swood at fotofor.biz Wed Mar 18 15:27:30 2015 From: swood at fotofor.biz (Anton Kiryushkin) Date: Wed, 18 Mar 2015 18:27:30 +0300 Subject: =?UTF-8?B?0JvQvtCz0LjQutCwINC+0LHRgNCw0LHQvtGC0LrQuCDQvtC/0YbQuNC5INCyIGxv?= =?UTF-8?B?Y2F0aW9u?= Message-ID: Здравствуйте. Есть следующая структура server { location = /a.php { try_files @allow @allow; } location = /b.php try_files @allow @allow; } location @allow { some_checks; proxy_pass https://127.0.0.1:8080; } И вроде бы работает. Но я хочу сделать фильтр для доступа к a.php и к b.php. И делать это в рамках a.php и b.php. Для этого я делаю две map, примерно следующего содержания: map $remote_addr_a $loc_a { default 0; 1.1.1.1 1; } map $remote_addr_b $loc_b { default 0; 2.2.2.2 1; } map $remote_addr $all { default 0; 3.3.3.3 1; } Что я тут хочу. Чтобы адрес 1.1.1.1 имел доступ только k a.php, 2.2.2.2 к b.php. А по переменной $all куда угодно. Дальше я добавляю в location a следующие вещи: location a { set $remote_addr_a $remote_addr; set $grant 0; if ($loc_a) { set $grant 1; } if ($all) { set $grant 1; } if ($grant = 0) { error_page 404 = @deny; } try_files @allow @allow; } Тут происходит следующее. Переменные у меня заполняются предсказуемо. Но только в том случае, если до try_files встречается один if. Если два, то возвращается 404 и a.php ищется на диске, то есть не происходит перенаправления в @allow. То есть, вот так оно работает: location a { set $remote_addr_a $remote_addr; if ($loc_a = 0) { error_page 404 = @deny; } try_files @allow @allow; } Собственно, хочется понять, почему так происходит и как сделать то, что мне хочется. -- Best regards, Anton Kiryushkin -------------- next part -------------- An HTML attachment was scrubbed... URL: From mdounin at mdounin.ru Wed Mar 18 15:35:59 2015 From: mdounin at mdounin.ru (Maxim Dounin) Date: Wed, 18 Mar 2015 18:35:59 +0300 Subject: =?UTF-8?B?UmU6INCb0L7Qs9C40LrQsCDQvtCx0YDQsNCx0L7RgtC60Lgg0L7Qv9GG0LjQuSA=?= =?UTF-8?B?0LIgbG9jYXRpb24=?= In-Reply-To: References: Message-ID: <20150318153559.GN88631@mdounin.ru> Hello! On Wed, Mar 18, 2015 at 06:27:30PM +0300, Anton Kiryushkin wrote: [...] > Собственно, хочется понять, почему так происходит http://wiki.nginx.org/IfIsEvil > и как сделать то, что мне хочется. Сделать отдельные location'ы с полноценной конфигурацией, а не пытаться программировать в конфиге сложную логику с переходами. Как-то так: location /a.php { allow ... deny ... proxy_pass http://... } location /b.php { allow ... deny ... proxy_pass http://... } Не надо придумывать себе трудности, чтобы потом их героически преодолевать. -- Maxim Dounin http://nginx.org/ From gmm at csdoc.com Wed Mar 18 15:44:11 2015 From: gmm at csdoc.com (Gena Makhomed) Date: Wed, 18 Mar 2015 17:44:11 +0200 Subject: =?UTF-8?B?UmU6INCb0L7Qs9C40LrQsCDQvtCx0YDQsNCx0L7RgtC60Lgg0L7Qv9GG0LjQuSA=?= =?UTF-8?B?0LIgbG9jYXRpb24=?= In-Reply-To: References: Message-ID: <55099D4B.4060904@csdoc.com> On 18.03.2015 17:27, Anton Kiryushkin wrote: > try_files @allow @allow; Только последний параметр может указывать на именованный location. > Что я тут хочу. Чтобы адрес 1.1.1.1 имел доступ только k a.php, 2.2.2.2 > к b.php. А по переменной $all куда угодно. location /a.php { allow 1.1.1.1; allow 3.3.3.3; deny all; .... } location /b.php { allow 2.2.2.2; allow 3.3.3.3; deny all; .... } > Тут происходит следующее. Переменные у меня заполняются предсказуемо. Но > только в том случае, если до try_files встречается один if. Если два, то > возвращается 404 и a.php ищется на диске, то есть не происходит > перенаправления в @allow. 1) http://wiki.nginx.org/IfIsEvil 2) https://events.yandex.ru/lib/talks/2392/ -- Best regards, Gena From swood at fotofor.biz Wed Mar 18 16:19:49 2015 From: swood at fotofor.biz (Anton Kiryushkin) Date: Wed, 18 Mar 2015 19:19:49 +0300 Subject: =?UTF-8?B?UmU6INCb0L7Qs9C40LrQsCDQvtCx0YDQsNCx0L7RgtC60Lgg0L7Qv9GG0LjQuSA=?= =?UTF-8?B?0LIgbG9jYXRpb24=?= In-Reply-To: <55099D4B.4060904@csdoc.com> References: <55099D4B.4060904@csdoc.com> Message-ID: Да, собственно, когда-то так и было. Много разных location с отдельными правами доступа. Но при этом, хочется вынести то, что повторяется в какую-то отдельную часть, чтобы уменьшить размер конфигурационного файла и улучшить его читаемость. 18 марта 2015 г., 18:44 пользователь Gena Makhomed написал: > On 18.03.2015 17:27, Anton Kiryushkin wrote: > > try_files @allow @allow; >> > > Только последний параметр может указывать на именованный location. > > Что я тут хочу. Чтобы адрес 1.1.1.1 имел доступ только k a.php, 2.2.2.2 >> к b.php. А по переменной $all куда угодно. >> > > location /a.php { > allow 1.1.1.1; > allow 3.3.3.3; > deny all; > .... > } > > location /b.php { > allow 2.2.2.2; > allow 3.3.3.3; > deny all; > .... > } > > Тут происходит следующее. Переменные у меня заполняются предсказуемо. Но >> только в том случае, если до try_files встречается один if. Если два, то >> возвращается 404 и a.php ищется на диске, то есть не происходит >> перенаправления в @allow. >> > > 1) http://wiki.nginx.org/IfIsEvil > > 2) https://events.yandex.ru/lib/talks/2392/ > > -- > Best regards, > Gena > > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -- Best regards, Anton Kiryushkin -------------- next part -------------- An HTML attachment was scrubbed... URL: From gmm at csdoc.com Wed Mar 18 16:26:30 2015 From: gmm at csdoc.com (Gena Makhomed) Date: Wed, 18 Mar 2015 18:26:30 +0200 Subject: =?UTF-8?B?UmU6INCb0L7Qs9C40LrQsCDQvtCx0YDQsNCx0L7RgtC60Lgg0L7Qv9GG0LjQuSA=?= =?UTF-8?B?0LIgbG9jYXRpb24=?= In-Reply-To: References: <55099D4B.4060904@csdoc.com> Message-ID: <5509A736.8010109@csdoc.com> On 18.03.2015 18:19, Anton Kiryushkin wrote: > Да, собственно, когда-то так и было. Много разных location с отдельными > правами доступа. Но при этом, хочется вынести то, что повторяется в > какую-то отдельную часть, чтобы уменьшить размер конфигурационного файла > и улучшить его читаемость. Улучшить читаемость можно очень простым способом - сделав/написав свой собственный генератор конфига, где в своем собственном формате в удобной и компактной форме описывается как должен себя вести nginx. -- Best regards, Gena From swood at fotofor.biz Wed Mar 18 19:47:11 2015 From: swood at fotofor.biz (Anton Kiryushkin) Date: Wed, 18 Mar 2015 22:47:11 +0300 Subject: =?UTF-8?B?UmU6INCb0L7Qs9C40LrQsCDQvtCx0YDQsNCx0L7RgtC60Lgg0L7Qv9GG0LjQuSA=?= =?UTF-8?B?0LIgbG9jYXRpb24=?= In-Reply-To: <5509A736.8010109@csdoc.com> References: <55099D4B.4060904@csdoc.com> <5509A736.8010109@csdoc.com> Message-ID: Вместе с тем, хочется понимания, почему происходит локальная обработка при наличии больше, чем одного if, а не переход в именованный. 18 марта 2015 г., 19:26 пользователь Gena Makhomed написал: > On 18.03.2015 18:19, Anton Kiryushkin wrote: > > Да, собственно, когда-то так и было. Много разных location с отдельными >> правами доступа. Но при этом, хочется вынести то, что повторяется в >> какую-то отдельную часть, чтобы уменьшить размер конфигурационного файла >> и улучшить его читаемость. >> > > Улучшить читаемость можно очень простым способом - сделав/написав > свой собственный генератор конфига, где в своем собственном формате > в удобной и компактной форме описывается как должен себя вести nginx. > > > -- > Best regards, > Gena > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -- Best regards, Anton Kiryushkin -------------- next part -------------- An HTML attachment was scrubbed... URL: From mdounin at mdounin.ru Thu Mar 19 00:17:52 2015 From: mdounin at mdounin.ru (Maxim Dounin) Date: Thu, 19 Mar 2015 03:17:52 +0300 Subject: =?UTF-8?B?UmU6INCb0L7Qs9C40LrQsCDQvtCx0YDQsNCx0L7RgtC60Lgg0L7Qv9GG0LjQuSA=?= =?UTF-8?B?0LIgbG9jYXRpb24=?= In-Reply-To: References: <55099D4B.4060904@csdoc.com> <5509A736.8010109@csdoc.com> Message-ID: <20150319001752.GW88631@mdounin.ru> Hello! On Wed, Mar 18, 2015 at 10:47:11PM +0300, Anton Kiryushkin wrote: > Вместе с тем, хочется понимания, почему происходит локальная обработка при > наличии больше, чем одного if, а не переход в именованный. Локальная обработка происходит при любом количестве if'ов, если хотя бы один из них выполнится. Подробно про это написано на странице, ссылку на которую уже два раза в этом треде дали: http://wiki.nginx.org/IfIsEvil -- Maxim Dounin http://nginx.org/ From kulmaks at gmail.com Thu Mar 19 06:54:56 2015 From: kulmaks at gmail.com (Maksim Kulik) Date: Thu, 19 Mar 2015 09:54:56 +0300 Subject: =?UTF-8?B?UmU6IG5naW54IC0gTmdpbnggdXJsINC+0YjQuNCx0LrQsCA0MDQg0LXRgdC70Lgg?= =?UTF-8?B?0LjQvNGPINGE0LDQudC70LAgKNC40LfQvtCx0YDQsNC20LXQvdC40Y8pINC6?= =?UTF-8?B?0LjRgNC40LvQu9C40YbQtdC5Pw==?= In-Reply-To: <9467718381ea8950ce5a6ba5a6c48804.NginxMailingListRussian@forum.nginx.org> References: <9467718381ea8950ce5a6ba5a6c48804.NginxMailingListRussian@forum.nginx.org> Message-ID: Тоже хотелось бы узнать как заставить nginx искать файлы в файловой системе в незакодированном виде. Пробовал сделать try_files $uri $document_uri (которые вроде как должны соответствовать незакодированному URI), но nginx упорно не хочет искать их с кириллическими названиями. Может быть кто-то из разработчиков сможет прокомментировать? 2015-02-28 16:49 GMT+03:00 klimovv : > Nginx +php5-fpm wordpress > Все изображения с кириллицей (Пример: "недвижимость2-75x75.jpg") не > отображаются, выдает ошибку 404. > При добавлении новых изображений в базу, все работает нормально. > В чем может быть причина? > > Лог: > 2015/02/28 12:02:39 [error] 24896#0: *133 open() > "wp-content/uploads/2015/02/Обеденный-комплект-Пилар-75x75.jpg" failed (2: > No such file or directory), request: "GET > > /wp-content/uploads/2015/02/%D0%9E%D0%B1%D0%B5%D0%B4%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9-%D0%BA%D0%BE%D0%BC%D0%BF%D0%BB%D0%B5%D0%BA%D1%82-%D0%9F%D0%B8%D0%BB%D0%B0%D1%80-75x75.jpg > HTTP/1.1", > -------------- next part -------------- An HTML attachment was scrubbed... URL: From pullmix at gmail.com Thu Mar 19 08:36:06 2015 From: pullmix at gmail.com (=?UTF-8?B?0JzQuNGF0LDQuNC7INCf0YPQu9GM0LzQsNC9?=) Date: Thu, 19 Mar 2015 11:36:06 +0300 Subject: =?UTF-8?B?UmU6INCd0LXQutC+0YDRgNC10LrRgtC90LDRjyDRgNCw0LHQvtGC0LAgYWRkX2Fm?= =?UTF-8?B?dGVyX2JvZHk=?= In-Reply-To: <20150318141519.GJ88631@mdounin.ru> References: <20150318141519.GJ88631@mdounin.ru> Message-ID: содержимое inject.html следующего вида: Соответственно содержимое в формате html и не сжато. Более глубокое тестирование показало что инжект происходит когда запрос приходит от браузеров chrome, opera и не происходит когда запрос приходит от ie или firefox. Содержимое inject.html пробовал разнообразное, начиная от html кода и заканчивая произвольным текстом, ситуация во всех случаях одинаковая. С уважением, Михаил 18 марта 2015 г., 17:15 пользователь Maxim Dounin написал: > Hello! > > On Wed, Mar 18, 2015 at 04:58:28PM +0300, Михаил Пульман wrote: > > [...] > > > Суть в том что при любом запросе у сервера example01.ru, в ответ должен > > приходить ответ + Содержимое inject.html > > Содержимое inject.html добавляется к телу ответа не всегда. В чем может > > быть проблема? > > В том, что ответ не html (http://nginx.org/r/addition_types/ru) > или сжат. > > -- > Maxim Dounin > http://nginx.org/ > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -------------- next part -------------- An HTML attachment was scrubbed... URL: From sytar.alex at gmail.com Thu Mar 19 08:41:48 2015 From: sytar.alex at gmail.com (Aleksandr Sytar) Date: Thu, 19 Mar 2015 11:41:48 +0300 Subject: =?UTF-8?B?UmU6INCd0LXQutC+0YDRgNC10LrRgtC90LDRjyDRgNCw0LHQvtGC0LAgYWRkX2Fm?= =?UTF-8?B?dGVyX2JvZHk=?= In-Reply-To: References: <20150318141519.GJ88631@mdounin.ru> Message-ID: 19 марта 2015 г., 11:36 пользователь Михаил Пульман написал: > содержимое inject.html следующего вида: > > > > > Соответственно содержимое в формате html и не сжато. Более глубокое > тестирование показало что инжект происходит когда запрос приходит от > браузеров chrome, opera и не происходит когда запрос приходит от ie или > firefox. Содержимое inject.html пробовал разнообразное, начиная от html > кода и заканчивая произвольным текстом, ситуация во всех случаях одинаковая. > curl -v -I --compressed http://урл_к_которому_мы_хотим_заинжектить_данные Если вы получите ошибку - значит сервер не умеет сжимать данные и всегда возвращает html к которому можно приклеить свой. Иначе, возвращаются сжатые данные, которые нужно предварительно распаковать. > > С уважением, Михаил > > 18 марта 2015 г., 17:15 пользователь Maxim Dounin > написал: > > Hello! >> >> On Wed, Mar 18, 2015 at 04:58:28PM +0300, Михаил Пульман wrote: >> >> [...] >> >> > Суть в том что при любом запросе у сервера example01.ru, в ответ должен >> > приходить ответ + Содержимое inject.html >> > Содержимое inject.html добавляется к телу ответа не всегда. В чем может >> > быть проблема? >> >> В том, что ответ не html (http://nginx.org/r/addition_types/ru) >> или сжат. >> >> -- >> Maxim Dounin >> http://nginx.org/ >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru at nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum at nginx.us Thu Mar 19 13:31:17 2015 From: nginx-forum at nginx.us (LIVE32) Date: Thu, 19 Mar 2015 09:31:17 -0400 Subject: =?UTF-8?B?0J7Qv9GC0LjQvNC40LfQsNGG0LjRjyBuZ2lueCDQtNC70Y8g0L7RgtC00LDRh9C4?= =?UTF-8?B?INCy0LjQtNC10L7RhNCw0LnQu9C+0LI=?= Message-ID: <9ae3b13e8ad96ed9da92595d7acb47a9.NginxMailingListRussian@forum.nginx.org> Здравствуйте, Как можно оптимизировать nginx для отдачи видеофайлов Характеристика сервера: Озу: 12 гб, Процессор: Intel(R) Xeon(R) CPU L5410 @ 2.33GHz, 8 cores, система: Ubuntu Linux 14.10 utopic 64bit вот внутри nginx.conf user nginx; worker_processes 8; #error_log /var/log/nginx/error.log crit #pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log off; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257431,257431#msg-257431 From pullmix at gmail.com Thu Mar 19 13:37:31 2015 From: pullmix at gmail.com (=?UTF-8?B?0JzQuNGF0LDQuNC7INCf0YPQu9GM0LzQsNC9?=) Date: Thu, 19 Mar 2015 16:37:31 +0300 Subject: =?UTF-8?B?UmU6INCd0LXQutC+0YDRgNC10LrRgtC90LDRjyDRgNCw0LHQvtGC0LAgYWRkX2Fm?= =?UTF-8?B?dGVyX2JvZHk=?= In-Reply-To: References: <20150318141519.GJ88631@mdounin.ru> Message-ID: Да, получается на nginx приходит сжатый ответ и инжект не срабатывает. Подскажите каким образом можно произвести инжект js-скрипта в ответ, если на nginx со стороны сервера приложения приходит уже сжатый ответ ? С уважением, Михаил 19 марта 2015 г., 11:41 пользователь Aleksandr Sytar написал: > > > 19 марта 2015 г., 11:36 пользователь Михаил Пульман > написал: > >> содержимое inject.html следующего вида: >> >> >> >> >> Соответственно содержимое в формате html и не сжато. Более глубокое >> тестирование показало что инжект происходит когда запрос приходит от >> браузеров chrome, opera и не происходит когда запрос приходит от ie или >> firefox. Содержимое inject.html пробовал разнообразное, начиная от html >> кода и заканчивая произвольным текстом, ситуация во всех случаях одинаковая. >> > > > curl -v -I --compressed http://урл_к_которому_мы_хотим_заинжектить_данные > > > Если вы получите ошибку - значит сервер не умеет сжимать данные и всегда > возвращает html к которому можно приклеить свой. Иначе, возвращаются сжатые > данные, которые нужно предварительно распаковать. > > > >> >> С уважением, Михаил >> >> 18 марта 2015 г., 17:15 пользователь Maxim Dounin >> написал: >> >> Hello! >>> >>> On Wed, Mar 18, 2015 at 04:58:28PM +0300, Михаил Пульман wrote: >>> >>> [...] >>> >>> > Суть в том что при любом запросе у сервера example01.ru, в ответ >>> должен >>> > приходить ответ + Содержимое inject.html >>> > Содержимое inject.html добавляется к телу ответа не всегда. В чем может >>> > быть проблема? >>> >>> В том, что ответ не html (http://nginx.org/r/addition_types/ru) >>> или сжат. >>> >>> -- >>> Maxim Dounin >>> http://nginx.org/ >>> >>> _______________________________________________ >>> nginx-ru mailing list >>> nginx-ru at nginx.org >>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> >> >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru at nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> > > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mdounin at mdounin.ru Thu Mar 19 13:41:39 2015 From: mdounin at mdounin.ru (Maxim Dounin) Date: Thu, 19 Mar 2015 16:41:39 +0300 Subject: =?UTF-8?B?UmU6INCd0LXQutC+0YDRgNC10LrRgtC90LDRjyDRgNCw0LHQvtGC0LAgYWRkX2Fm?= =?UTF-8?B?dGVyX2JvZHk=?= In-Reply-To: References: <20150318141519.GJ88631@mdounin.ru> Message-ID: <20150319134138.GZ88631@mdounin.ru> Hello! On Thu, Mar 19, 2015 at 11:36:06AM +0300, Михаил Пульман wrote: > содержимое inject.html следующего вида: > > > > > Соответственно содержимое в формате html и не сжато. Содержимое inject.html - не важно. Важно - что в основном ответе. -- Maxim Dounin http://nginx.org/ From leave at nixkid.com Thu Mar 19 13:43:16 2015 From: leave at nixkid.com (Pavel Mihaduk) Date: Thu, 19 Mar 2015 16:43:16 +0300 Subject: =?UTF-8?B?UmU6INCd0LXQutC+0YDRgNC10LrRgtC90LDRjyDRgNCw0LHQvtGC0LAgYWRkX2Fm?= =?UTF-8?B?dGVyX2JvZHk=?= In-Reply-To: References: Message-ID: <1575184.3zASN9eoUa@mihaduk-laptop> Перестать жать на бэкенде и делать это на самом nginx, кажется, единственный вариант. Да, получается на nginx приходит сжатый ответ и инжект не срабатывает. Подскажите каким образом можно произвести инжект js-скрипта в ответ, если на nginx со стороны сервера приложения приходит уже сжатый ответ ? С уважением, Михаил 19 марта 2015 г., 11:41 пользователь Aleksandr Sytar написал: 19 марта 2015 г., 11:36 пользователь Михаил Пульман написал: содержимое inject.html следующего вида: Соответственно содержимое в формате html и не сжато. Более глубокое тестирование показало что инжект происходит когда запрос приходит от браузеров chrome, opera и не происходит когда запрос приходит от ie или firefox. Содержимое inject.html пробовал разнообразное, начиная от html кода и заканчивая произвольным текстом, ситуация во всех случаях одинаковая. curl -v -I --compressed http://урл_к_которому_мы_хотим_заинжектить_данные[3] Если вы получите ошибку - значит сервер не умеет сжимать данные и всегда возвращает html к которому можно приклеить свой. Иначе, возвращаются сжатые данные, которые нужно предварительно распаковать. С уважением, Михаил 18 марта 2015 г., 17:15 пользователь Maxim Dounin написал: Hello! On Wed, Mar 18, 2015 at 04:58:28PM +0300, Михаил Пульман wrote: [...] > Суть в том что при любом запросе у сервера example01.ru[5], в ответ должен> приходить ответ + Содержимое inject.html> Содержимое inject.html добавляется к телу ответа не всегда. В чем может> быть проблема? В том, что ответ не html (http://nginx.org/r/addition_types/ru[6])или сжат. http://nginx.org/[7] nginx-ru at nginx.org[8] http://mailman.nginx.org/mailman/listinfo/nginx-ru[9] nginx-ru at nginx.org[8] http://mailman.nginx.org/mailman/listinfo/nginx-ru[9] nginx-ru at nginx.org[8] http://mailman.nginx.org/mailman/listinfo/nginx-ru[9] -------- [1] mailto:sytar.alex at gmail.com [2] mailto:pullmix at gmail.com [3] http://xn--______-7nfb9aidhlmdcxbjgzbc2ahahaae3ch8dikbhm5fwmwa0b [4] mailto:mdounin at mdounin.ru [5] http://example01.ru [6] http://nginx.org/r/addition_types/ru [7] http://nginx.org/ [8] mailto:nginx-ru at nginx.org [9] http://mailman.nginx.org/mailman/listinfo/nginx-ru -------------- next part -------------- An HTML attachment was scrubbed... URL: From swood at fotofor.biz Thu Mar 19 13:45:02 2015 From: swood at fotofor.biz (Anton Kiryushkin) Date: Thu, 19 Mar 2015 16:45:02 +0300 Subject: =?UTF-8?B?UmU6INCe0L/RgtC40LzQuNC30LDRhtC40Y8gbmdpbngg0LTQu9GPINC+0YLQtNCw?= =?UTF-8?B?0YfQuCDQstC40LTQtdC+0YTQsNC50LvQvtCy?= In-Reply-To: <9ae3b13e8ad96ed9da92595d7acb47a9.NginxMailingListRussian@forum.nginx.org> References: <9ae3b13e8ad96ed9da92595d7acb47a9.NginxMailingListRussian@forum.nginx.org> Message-ID: Если у вас сеть 1Гбит, то все, что можете, это увеличить число подключений на воркер. Остальные вещи вас не спасут. 2015-03-19 16:31 GMT+03:00 LIVE32 : > Здравствуйте, > Как можно оптимизировать nginx для отдачи видеофайлов > Характеристика сервера: Озу: 12 гб, Процессор: Intel(R) Xeon(R) CPU L5410 @ > 2.33GHz, 8 cores, > система: Ubuntu Linux 14.10 utopic 64bit > вот внутри nginx.conf > > user nginx; > worker_processes 8; > > #error_log /var/log/nginx/error.log crit > #pid /var/run/nginx.pid; > > > events { > worker_connections 1024; > } > > > http { > include /etc/nginx/mime.types; > default_type application/octet-stream; > > log_format main '$remote_addr - $remote_user [$time_local] "$request" > ' > '$status $body_bytes_sent "$http_referer" ' > '"$http_user_agent" "$http_x_forwarded_for"'; > > access_log off; > > sendfile on; > #tcp_nopush on; > > keepalive_timeout 65; > > #gzip on; > > include /etc/nginx/conf.d/*.conf; > } > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,257431,257431#msg-257431 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Best regards, Anton Kiryushkin -------------- next part -------------- An HTML attachment was scrubbed... URL: From sytar.alex at gmail.com Thu Mar 19 13:44:48 2015 From: sytar.alex at gmail.com (Aleksandr Sytar) Date: Thu, 19 Mar 2015 16:44:48 +0300 Subject: =?UTF-8?B?UmU6INCd0LXQutC+0YDRgNC10LrRgtC90LDRjyDRgNCw0LHQvtGC0LAgYWRkX2Fm?= =?UTF-8?B?dGVyX2JvZHk=?= In-Reply-To: References: <20150318141519.GJ88631@mdounin.ru> Message-ID: 19 марта 2015 г., 16:37 пользователь Михаил Пульман написал: > Да, получается на nginx приходит сжатый ответ и инжект не срабатывает. > Подскажите каким образом можно произвести инжект js-скрипта в ответ, если > на nginx со стороны сервера приложения приходит уже сжатый ответ ? > Капитан Очевидность подсказывает - распаковать его перед подачей в nginx, например другим nginx + gungzip http://nginx.org/ru/docs/http/ngx_http_gunzip_module.html > > С уважением, Михаил > > 19 марта 2015 г., 11:41 пользователь Aleksandr Sytar > написал: > > >> >> 19 марта 2015 г., 11:36 пользователь Михаил Пульман >> написал: >> >>> содержимое inject.html следующего вида: >>> >>> >>> >>> >>> Соответственно содержимое в формате html и не сжато. Более глубокое >>> тестирование показало что инжект происходит когда запрос приходит от >>> браузеров chrome, opera и не происходит когда запрос приходит от ie или >>> firefox. Содержимое inject.html пробовал разнообразное, начиная от html >>> кода и заканчивая произвольным текстом, ситуация во всех случаях одинаковая. >>> >> >> >> curl -v -I --compressed http://урл_к_которому_мы_хотим_заинжектить_данные >> >> >> Если вы получите ошибку - значит сервер не умеет сжимать данные и всегда >> возвращает html к которому можно приклеить свой. Иначе, возвращаются сжатые >> данные, которые нужно предварительно распаковать. >> >> >> >>> >>> С уважением, Михаил >>> >>> 18 марта 2015 г., 17:15 пользователь Maxim Dounin >>> написал: >>> >>> Hello! >>>> >>>> On Wed, Mar 18, 2015 at 04:58:28PM +0300, Михаил Пульман wrote: >>>> >>>> [...] >>>> >>>> > Суть в том что при любом запросе у сервера example01.ru, в ответ >>>> должен >>>> > приходить ответ + Содержимое inject.html >>>> > Содержимое inject.html добавляется к телу ответа не всегда. В чем >>>> может >>>> > быть проблема? >>>> >>>> В том, что ответ не html (http://nginx.org/r/addition_types/ru) >>>> или сжат. >>>> >>>> -- >>>> Maxim Dounin >>>> http://nginx.org/ >>>> >>>> _______________________________________________ >>>> nginx-ru mailing list >>>> nginx-ru at nginx.org >>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >>> >>> >>> >>> _______________________________________________ >>> nginx-ru mailing list >>> nginx-ru at nginx.org >>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >>> >> >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru at nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> > > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mdounin at mdounin.ru Thu Mar 19 13:48:47 2015 From: mdounin at mdounin.ru (Maxim Dounin) Date: Thu, 19 Mar 2015 16:48:47 +0300 Subject: =?UTF-8?B?UmU6INCd0LXQutC+0YDRgNC10LrRgtC90LDRjyDRgNCw0LHQvtGC0LAgYWRkX2Fm?= =?UTF-8?B?dGVyX2JvZHk=?= In-Reply-To: References: <20150318141519.GJ88631@mdounin.ru> Message-ID: <20150319134847.GA88631@mdounin.ru> Hello! On Thu, Mar 19, 2015 at 04:44:48PM +0300, Aleksandr Sytar wrote: > 19 марта 2015 г., 16:37 пользователь Михаил Пульман > написал: > > > Да, получается на nginx приходит сжатый ответ и инжект не срабатывает. > > Подскажите каким образом можно произвести инжект js-скрипта в ответ, если > > на nginx со стороны сервера приложения приходит уже сжатый ответ ? > > > > Капитан Очевидность подсказывает - распаковать его перед подачей в nginx, > например другим nginx + gungzip > http://nginx.org/ru/docs/http/ngx_http_gunzip_module.html Это плохой путь. Правильнее всего - отключить сжатие на бекенде. Если же это по каким-то причинам невозможно - то обычно достаточно спилить заголовок Accept-Encoding из запроса к бекенду: proxy_set_header Accept-Encoding ""; http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_set_header -- Maxim Dounin http://nginx.org/ From nginx-forum at nginx.us Thu Mar 19 16:49:09 2015 From: nginx-forum at nginx.us (LIVE32) Date: Thu, 19 Mar 2015 12:49:09 -0400 Subject: =?UTF-8?B?0LHRi9GB0YLRgNGL0Lkg0LfQsNC/0YPRgdC6IG1wNA==?= Message-ID: Здравствуйте, что нужно сделать для быстрого запуска видеофайла mp4 h264 в nginx Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257442,257442#msg-257442 From nginx-forum at nginx.us Thu Mar 19 19:55:47 2015 From: nginx-forum at nginx.us (cilrill) Date: Thu, 19 Mar 2015 15:55:47 -0400 Subject: rewrite domain in location Message-ID: <8fc157ff8fcc65ab790211629c02c3dd.NginxMailingListRussian@forum.nginx.org> Добрый день. Есть необходимость отдавать весь контент из location pdf с другого доменного имени. тобишь при "заходе" на ссылки вида www.name.ru/pdf/lalala.pdf контент отдавался с pdf.name.ru/pdf/lalala.pdf сделал вот так, работает, но насколько верно? location ^~ /pdf/ { if ($host = www.name.ru) { return 301 $scheme://pdf.name.ru$request_uri; } можно ли обойтись без if ? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257446,257446#msg-257446 From gmm at csdoc.com Thu Mar 19 20:23:43 2015 From: gmm at csdoc.com (Gena Makhomed) Date: Thu, 19 Mar 2015 22:23:43 +0200 Subject: rewrite domain in location In-Reply-To: <8fc157ff8fcc65ab790211629c02c3dd.NginxMailingListRussian@forum.nginx.org> References: <8fc157ff8fcc65ab790211629c02c3dd.NginxMailingListRussian@forum.nginx.org> Message-ID: <550B304F.6090306@csdoc.com> On 19.03.2015 21:55, cilrill wrote: > Есть необходимость отдавать весь контент из location pdf с другого доменного > имени. > тобишь при "заходе" на ссылки вида www.name.ru/pdf/lalala.pdf контент > отдавался с pdf.name.ru/pdf/lalala.pdf > > сделал вот так, работает, но насколько верно? > > location ^~ /pdf/ { > > if ($host = www.name.ru) { return 301 $scheme://pdf.name.ru$request_uri; } > > можно ли обойтись без if ? > можно, для этого выбор сервера надо делать с помощью server_name и default_server: server { listen 11.22.33.44:80 default_server; return 400; } server { listen 11.22.33.44:80; server_name www.example.com; ... location ^~ /pdf/ { return 301 $scheme://pdf.name.ru$request_uri; } } server { listen 11.22.33.44:80; server_name pdf.example.com; ... } тогда во второй и третий сервера попадут только запросы к соответствующим $server_name, а в первый - все остальные. -- Best regards, Gena From a.vasilishin at kpi.ua Fri Mar 20 05:38:57 2015 From: a.vasilishin at kpi.ua (=?KOI8-R?Q?=E1=CE=C4=D2=C5=CA_=F7=C1=D3=C9=CC=C9=DB=C9=CE?=) Date: Fri, 20 Mar 2015 07:38:57 +0200 Subject: =?UTF-8?B?UmU6INCx0YvRgdGC0YDRi9C5INC30LDQv9GD0YHQuiBtcDQ=?= In-Reply-To: References: Message-ID: <550BB271.204@kpi.ua> 19.03.2015 18:49, LIVE32 пишет: > Здравствуйте, > что нужно сделать для быстрого запуска видеофайла mp4 h264 в nginx > прогнать его через qt-faststart From nginx-forum at nginx.us Fri Mar 20 07:19:46 2015 From: nginx-forum at nginx.us (cilrill) Date: Fri, 20 Mar 2015 03:19:46 -0400 Subject: rewrite domain in location In-Reply-To: <550B304F.6090306@csdoc.com> References: <550B304F.6090306@csdoc.com> Message-ID: Gena, спасибо. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257446,257465#msg-257465 From nginx-forum at nginx.us Fri Mar 20 09:36:09 2015 From: nginx-forum at nginx.us (dwow) Date: Fri, 20 Mar 2015 05:36:09 -0400 Subject: =?UTF-8?B?cHJveGUgY2FjaGUg0Y3Qu9C10LzQtdC90YIg0L3QtSDQsiDQutC10YjQtQ==?= Message-ID: Добрый день, такой вопрос: proxy_cache зона; proxy_cache_key ключ; proxy_pass бэкенд; можно ли как-то узнать, что элемента нет в кеше перед тем, как запрос отправится бекенду? Спасибо. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257473,257473#msg-257473 From pullmix at gmail.com Fri Mar 20 09:57:38 2015 From: pullmix at gmail.com (=?UTF-8?B?0JzQuNGF0LDQuNC7INCf0YPQu9GM0LzQsNC9?=) Date: Fri, 20 Mar 2015 12:57:38 +0300 Subject: =?UTF-8?B?UmU6INCd0LXQutC+0YDRgNC10LrRgtC90LDRjyDRgNCw0LHQvtGC0LAgYWRkX2Fm?= =?UTF-8?B?dGVyX2JvZHk=?= In-Reply-To: <20150319134847.GA88631@mdounin.ru> References: <20150318141519.GJ88631@mdounin.ru> <20150319134847.GA88631@mdounin.ru> Message-ID: Благодарю всех за помощь! Отключил сжатие на бекенде С уважением, Михаил 19 марта 2015 г., 16:48 пользователь Maxim Dounin написал: > Hello! > > On Thu, Mar 19, 2015 at 04:44:48PM +0300, Aleksandr Sytar wrote: > > > 19 марта 2015 г., 16:37 пользователь Михаил Пульман > > написал: > > > > > Да, получается на nginx приходит сжатый ответ и инжект не срабатывает. > > > Подскажите каким образом можно произвести инжект js-скрипта в ответ, > если > > > на nginx со стороны сервера приложения приходит уже сжатый ответ ? > > > > > > > Капитан Очевидность подсказывает - распаковать его перед подачей в nginx, > > например другим nginx + gungzip > > http://nginx.org/ru/docs/http/ngx_http_gunzip_module.html > > Это плохой путь. Правильнее всего - отключить сжатие на бекенде. > Если же это по каким-то причинам невозможно - то обычно достаточно > спилить заголовок Accept-Encoding из запроса к бекенду: > > proxy_set_header Accept-Encoding ""; > > http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_set_header > > -- > Maxim Dounin > http://nginx.org/ > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dp at nginx.com Fri Mar 20 10:04:56 2015 From: dp at nginx.com (Dmitry Pryadko) Date: Fri, 20 Mar 2015 13:04:56 +0300 Subject: =?UTF-8?B?UmU6IHByb3hlIGNhY2hlINGN0LvQtdC80LXQvdGCINC90LUg0LIg0LrQtdGI0LU=?= In-Reply-To: References: Message-ID: <550BF0C8.80201@nginx.com> Попробуйте $upstream_cache_status хранит статус доступа к кэшу ответов (0.8.3). Статус может быть одним из ?MISS?, ?BYPASS?, ?EXPIRED?, ?STALE?, ?UPDATING?, ?REVALIDATED? или ?HIT?. 20.03.15 12:36, dwow пишет: > Добрый день, > такой вопрос: > > proxy_cache зона; > proxy_cache_key ключ; > proxy_pass бэкенд; > > можно ли как-то узнать, что элемента нет в кеше перед тем, как запрос > отправится бекенду? > Спасибо. > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257473,257473#msg-257473 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -- br, Dmitry Pryadko From mdounin at mdounin.ru Fri Mar 20 10:54:32 2015 From: mdounin at mdounin.ru (Maxim Dounin) Date: Fri, 20 Mar 2015 13:54:32 +0300 Subject: =?UTF-8?B?UmU6IHByb3hlIGNhY2hlINGN0LvQtdC80LXQvdGCINC90LUg0LIg0LrQtdGI0LU=?= In-Reply-To: References: Message-ID: <20150320105432.GK88631@mdounin.ru> Hello! On Fri, Mar 20, 2015 at 05:36:09AM -0400, dwow wrote: > Добрый день, > такой вопрос: > > proxy_cache зона; > proxy_cache_key ключ; > proxy_pass бэкенд; > > можно ли как-то узнать, что элемента нет в кеше перед тем, как запрос > отправится бекенду? Нет. Если элемента нет в кеше - то запрос отправится бекенду, каких-либо возможностей вмешательства в этот процесс - не предусмотрено. -- Maxim Dounin http://nginx.org/ From nginx-forum at nginx.us Fri Mar 20 12:11:32 2015 From: nginx-forum at nginx.us (dwow) Date: Fri, 20 Mar 2015 08:11:32 -0400 Subject: =?UTF-8?B?bGltaXQgY29ubiDRgdGH0LXRgtGH0LjQug==?= Message-ID: Вопрос по модулю ngx_http_limit_conn_module. Счетчик для limit_conn увеличивается на 1 для ключа при каждом новом соединении, так? А когда счетчик сбрасывается, при завершении соединения для ключа? Спасибо. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257485,257485#msg-257485 From mdounin at mdounin.ru Fri Mar 20 12:29:43 2015 From: mdounin at mdounin.ru (Maxim Dounin) Date: Fri, 20 Mar 2015 15:29:43 +0300 Subject: =?UTF-8?B?UmU6IGxpbWl0IGNvbm4g0YHRh9C10YLRh9C40Lo=?= In-Reply-To: References: Message-ID: <20150320122943.GL88631@mdounin.ru> Hello! On Fri, Mar 20, 2015 at 08:11:32AM -0400, dwow wrote: > Вопрос по модулю ngx_http_limit_conn_module. > > Счетчик для limit_conn увеличивается на 1 для ключа при каждом новом > соединении, так? В начале обработки запроса в соответствующем соединении. > А когда счетчик сбрасывается, при завершении соединения для ключа? По завершении обработки запроса. -- Maxim Dounin http://nginx.org/ From nginx-forum at nginx.us Fri Mar 20 12:43:18 2015 From: nginx-forum at nginx.us (dwow) Date: Fri, 20 Mar 2015 08:43:18 -0400 Subject: =?UTF-8?B?UmU6IGxpbWl0IGNvbm4g0YHRh9C10YLRh9C40Lo=?= In-Reply-To: <20150320122943.GL88631@mdounin.ru> References: <20150320122943.GL88631@mdounin.ru> Message-ID: А еще такой вопрос, limit_conn_zone содержит только ключи и значение счетчика для ключа, т.е. по сути это хэш с ключем и значением (счетчиком), так? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257486,257487#msg-257487 From nginx-forum at nginx.us Fri Mar 20 13:08:55 2015 From: nginx-forum at nginx.us (voronkov) Date: Fri, 20 Mar 2015 09:08:55 -0400 Subject: =?UTF-8?B?cHJveHkgcGFzcyDRgNC10LTQuNGA0LXQutGCINC90LAg0LTRgNGD0LPQvtC5INGB?= =?UTF-8?B?0LXRgNCy0LXRgA==?= Message-ID: Всем привет! Пытаюсь сделать, чтобы https://multiqa.com/testzzz делал внутренний редирект на https://www.wikipedia.org/ Нашел рецепт редиректа на другой физический сервер: http://serverfault.com/questions/308238/redirecting-from-one-nginx-to-another upstream newserver { server 172.16.0.1:80; # this is new server, by IP address } server { listen 80; server_name subdomain.site.ru; location / { proxy_set_header Host $host; proxy_pass http://newserver; } } В результате получаю 404-ошибку. Подскажите в каком направлении искать, а то уже весь мозг сломал. Если что, - страница https://www.wikipedia.org/ на моем сервере получается нормально (проверял через lynx и wget) P.S.: На всякий случай вот мой конфиг: upstream newserver { server 91.198.174.192:80; # www.wikipedia.org by IP address } server { limit_conn myzone 10; listen 80; server_name multiqa.com www.multiqa.com; rewrite ^ https://multiqa.com$request_uri? permanent; rewrite ^ https://www.multiqa.com$request_uri? permanent; rewrite ^ http://test.multiqa.com$request_uri? permanent; error_page 404 /404.html; location = /404.html { root /usr/share/nginx/html; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location /testzzz { proxy_set_header Host $host; proxy_pass https://newserver; } location / { proxy_pass http://127.0.0.1:1081; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_redirect off; client_max_body_size 150m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 240; proxy_buffer_size 128k; proxy_buffers 256 16k; proxy_busy_buffers_size 256k; proxy_temp_file_write_size 256k; expires 24h; } # ... and so on ... } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257488,257488#msg-257488 From leave at nixkid.com Fri Mar 20 13:11:58 2015 From: leave at nixkid.com (Pavel Mihaduk) Date: Fri, 20 Mar 2015 16:11:58 +0300 Subject: =?UTF-8?B?UmU6IHByb3h5IHBhc3Mg0YDQtdC00LjRgNC10LrRgiDQvdCwINC00YDRg9Cz0L4=?= =?UTF-8?B?0Lkg0YHQtdGA0LLQtdGA?= In-Reply-To: References: Message-ID: <1445973.iUliEpqxMd@mihaduk-laptop> proxy_set_header Host $host; Вы уверены, что википедия нормально работает на вашем домене? ;) On 20 March 2015 09:08:55 voronkov wrote: > Всем привет! > > Пытаюсь сделать, чтобы https://multiqa.com/testzzz делал внутренний редирект > на https://www.wikipedia.org/ > > Нашел рецепт редиректа на другой физический сервер: > http://serverfault.com/questions/308238/redirecting-from-one-nginx-to-anothe > r upstream newserver { > server 172.16.0.1:80; # this is new server, by IP address > } > server { > listen 80; > server_name subdomain.site.ru; > location / { > proxy_set_header Host $host; > proxy_pass http://newserver; > } > } > > В результате получаю 404-ошибку. > Подскажите в каком направлении искать, а то уже весь мозг сломал. > Если что, - страница https://www.wikipedia.org/ на моем сервере получается > нормально (проверял через lynx и wget) > > P.S.: > На всякий случай вот мой конфиг: > upstream newserver { > server 91.198.174.192:80; # www.wikipedia.org by IP address > } > server { > limit_conn myzone 10; > listen 80; > > server_name multiqa.com www.multiqa.com; > rewrite ^ https://multiqa.com$request_uri? permanent; > rewrite ^ https://www.multiqa.com$request_uri? permanent; > rewrite ^ http://test.multiqa.com$request_uri? permanent; > error_page 404 /404.html; > location = /404.html { > root /usr/share/nginx/html; > } > > error_page 500 502 503 504 /50x.html; > location = /50x.html { > root /usr/share/nginx/html; > } > > location /testzzz { > proxy_set_header Host $host; > proxy_pass https://newserver; > } > > location / { > proxy_pass http://127.0.0.1:1081; > proxy_set_header Host $host; > proxy_set_header X-Real-IP $remote_addr; > proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; > proxy_redirect off; > client_max_body_size 150m; > client_body_buffer_size 128k; > proxy_connect_timeout 90; > proxy_send_timeout 90; > proxy_read_timeout 240; > proxy_buffer_size 128k; > proxy_buffers 256 16k; > proxy_busy_buffers_size 256k; > proxy_temp_file_write_size 256k; > expires 24h; > } > > # ... and so on ... > } > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,257488,257488#msg-257488 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum at nginx.us Fri Mar 20 13:24:32 2015 From: nginx-forum at nginx.us (voronkov) Date: Fri, 20 Mar 2015 09:24:32 -0400 Subject: =?UTF-8?B?UmU6IHByb3h5IHBhc3Mg0YDQtdC00LjRgNC10LrRgiDQvdCwINC00YDRg9Cz0L4=?= =?UTF-8?B?0Lkg0YHQtdGA0LLQtdGA?= In-Reply-To: <1445973.iUliEpqxMd@mihaduk-laptop> References: <1445973.iUliEpqxMd@mihaduk-laptop> Message-ID: <0f14125ef87edabe1be612e72c15f306.NginxMailingListRussian@forum.nginx.org> Да, я готов что угодно прописать в этот Host, лишь бы заработало. Вообще, в оригинале, там конечно не Википедия была, а один из моих сайтов. Но его я пока что заменил на Википедию, потому что сайт А ( https://multiqa.com/testzzz ) у меня на https, а сайт Б ( http://new.multiqa.com:4997/ ) на http. А с этим вроде возможны проблемы... Википедия же нормально работает на https, поэтому ее пока что и использую в тестовых целях. > proxy_set_header Host $host; > Вы уверены, что википедия нормально работает на вашем домене? ;) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257489,257490#msg-257490 From nginx-forum at nginx.us Fri Mar 20 13:57:23 2015 From: nginx-forum at nginx.us (dwow) Date: Fri, 20 Mar 2015 09:57:23 -0400 Subject: =?UTF-8?B?UmU6IGxpbWl0IGNvbm4g0YHRh9C10YLRh9C40Lo=?= In-Reply-To: <20150320122943.GL88631@mdounin.ru> References: <20150320122943.GL88631@mdounin.ru> Message-ID: И еще вопрос, а можно получить значение счетчика для ключа? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257486,257491#msg-257491 From mdounin at mdounin.ru Fri Mar 20 14:50:10 2015 From: mdounin at mdounin.ru (Maxim Dounin) Date: Fri, 20 Mar 2015 17:50:10 +0300 Subject: =?UTF-8?B?UmU6IGxpbWl0IGNvbm4g0YHRh9C10YLRh9C40Lo=?= In-Reply-To: References: <20150320122943.GL88631@mdounin.ru> Message-ID: <20150320145010.GM88631@mdounin.ru> Hello! On Fri, Mar 20, 2015 at 08:43:18AM -0400, dwow wrote: > А еще такой вопрос, > limit_conn_zone содержит только ключи и значение счетчика для ключа, т.е. по > сути это хэш с ключем и значением (счетчиком), так? Да. -- Maxim Dounin http://nginx.org/ From mdounin at mdounin.ru Fri Mar 20 14:50:23 2015 From: mdounin at mdounin.ru (Maxim Dounin) Date: Fri, 20 Mar 2015 17:50:23 +0300 Subject: =?UTF-8?B?UmU6IGxpbWl0IGNvbm4g0YHRh9C10YLRh9C40Lo=?= In-Reply-To: References: <20150320122943.GL88631@mdounin.ru> Message-ID: <20150320145022.GN88631@mdounin.ru> Hello! On Fri, Mar 20, 2015 at 09:57:23AM -0400, dwow wrote: > И еще вопрос, а можно получить значение счетчика для ключа? Нет. -- Maxim Dounin http://nginx.org/ From nginx-forum at nginx.us Fri Mar 20 17:42:26 2015 From: nginx-forum at nginx.us (itcod) Date: Fri, 20 Mar 2015 13:42:26 -0400 Subject: webdav+ext base.auth+var=error Message-ID: Добрый день уважаемые! Кто нибудь сталкивался? auth_basic_user_file $file_password; Конструкция работает при обычном обращении из браузера к location. И не работает запрос пароля, при обращении из dav-клиентов (far-netdrive, bitkinex...). В результате доступ к закрытым папкам, открыт по дав.... эт бред... Проблема похоже в том, что модули дав или екст не понимают переменную содержащую имя файла паролей. пс: они прекрасно работают, когда там статичный файл. Только мне нужны отдельные персональные файлы авторизаций для папок... и один .htpasswd совсем не вариант... В тупике сижу... Буду благодарен даже за идеи.... сенькс. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257495,257495#msg-257495 From nginx-forum at nginx.us Fri Mar 20 19:03:43 2015 From: nginx-forum at nginx.us (itcod) Date: Fri, 20 Mar 2015 15:03:43 -0400 Subject: =?UTF-8?B?UmU6INCa0LDQuiDQstGL0LfQstCw0YLRjCBwaGFudG9tanMg0L/RgNGP0LzQviA=?= =?UTF-8?B?0LjQtyBuZ2lueD8=?= In-Reply-To: <80bd539ef840c54a10731e570714f458.NginxMailingListRussian@forum.nginx.org> References: <80bd539ef840c54a10731e570714f458.NginxMailingListRussian@forum.nginx.org> Message-ID: <1593c725afcf0dce84d2f81bf8904c72.NginxMailingListRussian@forum.nginx.org> js прям из..... может через ngx_http_js_module поэкпериментировать..... хотя слабо верится, что это как то сработает для вашей задачи... Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257159,257504#msg-257504 From swood at fotofor.biz Fri Mar 20 19:36:55 2015 From: swood at fotofor.biz (Anton Kiryushkin) Date: Fri, 20 Mar 2015 22:36:55 +0300 Subject: =?UTF-8?B?UmU6INC/0LDQtNCw0LXRgiBuZ2lueCBtcDQg0YHRgtGA0LjQvNC40L3QsyDQvNC+?= =?UTF-8?B?0LTRg9C70Yw=?= In-Reply-To: <5469D9AC.7030502@kpi.ua> References: <4017304.aqlQgFlEid@vbart-laptop> <5469D9AC.7030502@kpi.ua> Message-ID: Здравствуйте. Подскажите, пожалуйста, как правильно дебажить падение стримминга mp4. Выдает mp4 atom too large:1961198299. Пробовал дергать mp4_buffer_size и mp4_max_buffer_size. Не помогло. Пробовал выключать open_file_cache. Сейчас включен aio. Пробовал выключить. Файловая система xfs. По отладочному логу как-то сходу не понял, на что стоит обратить внимание. 17 ноября 2014 г., 14:19 пользователь Андрей Василишин написал: > 17.11.2014 13:00, kosmozoo пишет: > >> Верно, в этом случае про tmpfs. Но насколько помню проблема возникала и >> при >> стриминге с диска. >> >> Возможно у вас есть идеи как решить для tmpfs ? >> >> > > Создать отдельный локейшн для тмпфс и отключить там директио > > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -- Best regards, Anton Kiryushkin -------------- next part -------------- An HTML attachment was scrubbed... URL: From chipitsine at gmail.com Sat Mar 21 06:07:27 2015 From: chipitsine at gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Sat, 21 Mar 2015 11:07:27 +0500 Subject: webdav+ext base.auth+var=error In-Reply-To: References: Message-ID: используем access_by_lua_file 'fast-basic.lua'; внутри fast-basic.lua - та логика обработки, которая нам нужна. манипуляции с хедером Authorization несложны 20 марта 2015 г., 22:42 пользователь itcod написал: > Добрый день уважаемые! > Кто нибудь сталкивался? > > auth_basic_user_file $file_password; > > Конструкция работает при обычном обращении из браузера к location. > И не работает запрос пароля, при обращении из dav-клиентов (far-netdrive, > bitkinex...). > В результате доступ к закрытым папкам, открыт по дав.... эт бред... > > Проблема похоже в том, что модули дав или екст не понимают переменную > содержащую имя файла паролей. > > пс: > они прекрасно работают, когда там статичный файл. Только мне нужны отдельные > персональные файлы авторизаций для папок... и один .htpasswd совсем не > вариант... > > В тупике сижу... Буду благодарен даже за идеи.... сенькс. > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257495,257495#msg-257495 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From mdounin at mdounin.ru Sat Mar 21 13:39:18 2015 From: mdounin at mdounin.ru (Maxim Dounin) Date: Sat, 21 Mar 2015 16:39:18 +0300 Subject: =?UTF-8?B?UmU6INC/0LDQtNCw0LXRgiBuZ2lueCBtcDQg0YHRgtGA0LjQvNC40L3QsyDQvNC+?= =?UTF-8?B?0LTRg9C70Yw=?= In-Reply-To: References: <4017304.aqlQgFlEid@vbart-laptop> <5469D9AC.7030502@kpi.ua> Message-ID: <20150321133918.GO88631@mdounin.ru> Hello! On Fri, Mar 20, 2015 at 10:36:55PM +0300, Anton Kiryushkin wrote: > Здравствуйте. > > Подскажите, пожалуйста, как правильно дебажить падение стримминга mp4. > Выдает mp4 atom too large:1961198299. Пробовал дергать mp4_buffer_size и > mp4_max_buffer_size. Не помогло. Пробовал выключать open_file_cache. Сейчас > включен aio. Пробовал выключить. Файловая система xfs. > По отладочному логу как-то сходу не понял, на что стоит обратить внимание. Стоит обратить внимания на файлик - он битый. -- Maxim Dounin http://nginx.org/ From nginx-forum at nginx.us Sat Mar 21 14:34:24 2015 From: nginx-forum at nginx.us (itcod) Date: Sat, 21 Mar 2015 10:34:24 -0400 Subject: webdav+ext base.auth+var=error In-Reply-To: References: Message-ID: <24e3d299dc16400075a6e80d79ff1099.NginxMailingListRussian@forum.nginx.org> пс2.... Проверил модуль auth_request .... вылезают разные ошибки.... 301 404.... и тож не работает с дав..... редиректы так же облом... дав на них не реагирует.... Может эт у меня руки кривые.... ? или звёзды так повернулись.....затмение блин:) У кого нибудь дав работает с авторизацией от .htpasswd без описания файла а с именем в переменной....? Или кто нить знает имя модуля который без вопросов сам ищет в uri файл .htpasswd и включает авторизацию для раздела? вдруг он с дав дружит..... Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257495,257516#msg-257516 From nginx-forum at nginx.us Sat Mar 21 14:40:30 2015 From: nginx-forum at nginx.us (itcod) Date: Sat, 21 Mar 2015 10:40:30 -0400 Subject: webdav+ext base.auth+var=error In-Reply-To: References: Message-ID: <68c02bda7171cdaffa979f63a6e7da85.NginxMailingListRussian@forum.nginx.org> Илья спасибо! за наводку! если не затруднит киньте микро-пример... я полный чайник в луа.. если на перл или js синтаксис похоже то разберусь:) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257511,257518#msg-257518 From mdounin at mdounin.ru Sat Mar 21 14:45:12 2015 From: mdounin at mdounin.ru (Maxim Dounin) Date: Sat, 21 Mar 2015 17:45:12 +0300 Subject: webdav+ext base.auth+var=error In-Reply-To: References: Message-ID: <20150321144512.GR88631@mdounin.ru> Hello! On Fri, Mar 20, 2015 at 01:42:26PM -0400, itcod wrote: > Добрый день уважаемые! > Кто нибудь сталкивался? > > auth_basic_user_file $file_password; > > Конструкция работает при обычном обращении из браузера к location. > И не работает запрос пароля, при обращении из dav-клиентов (far-netdrive, > bitkinex...). > В результате доступ к закрытым папкам, открыт по дав.... эт бред... > > Проблема похоже в том, что модули дав или екст не понимают переменную > содержащую имя файла паролей. > > пс: > они прекрасно работают, когда там статичный файл. Только мне нужны отдельные > персональные файлы авторизаций для папок... и один .htpasswd совсем не > вариант... > > В тупике сижу... Буду благодарен даже за идеи.... сенькс. Если доступ оказывается открыт - значит, переменная $file_password пустая. Почему она пустая - вероятно, вопрос про то, как вы её устанавливаете. Если показать конфигурацию - больше шансов, что помогут найти проблему. -- Maxim Dounin http://nginx.org/ From pullmix at gmail.com Mon Mar 23 08:54:14 2015 From: pullmix at gmail.com (=?UTF-8?B?0JzQuNGF0LDQuNC7INCf0YPQu9GM0LzQsNC9?=) Date: Mon, 23 Mar 2015 11:54:14 +0300 Subject: =?UTF-8?B?0L7QsdGJ0LjQuSDQutGN0Ygg0LTQu9GPINC90LXRgdC60L7Qu9GM0LrQuNGFIG5n?= =?UTF-8?B?aW54?= Message-ID: Добрый день коллеги! На фронте имеется n-ое количество nginx которые выступают в качестве балансировщиков. Нужно наладить единый кэш для всех фронтенд nginxов. Какие есть возможности в nginx для реализации этой задачи? С уважением, Михаил -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum at nginx.us Mon Mar 23 09:20:39 2015 From: nginx-forum at nginx.us (anstrem) Date: Mon, 23 Mar 2015 05:20:39 -0400 Subject: =?UTF-8?B?MzAxINGA0LXQtNC40YDQtdC60YIgaHR0cC0+aHR0cHMg0LjRgdC60LvRjtGH0LA=?= =?UTF-8?B?0Y8g0LPRgNCw0YTQuNC60YMg0Lggcm9ib3RzLnR4dCDQutCw0LogPw==?= Message-ID: Подскажите как правильно настроить 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 From me at kemko.ru Mon Mar 23 09:23:06 2015 From: me at kemko.ru (=?UTF-8?B?0JTQvNC40YLRgNC40Lkg0JDQvdC00YDQtdC10LI=?=) Date: Mon, 23 Mar 2015 12:23:06 +0300 Subject: =?UTF-8?B?UmU6IDMwMSDRgNC10LTQuNGA0LXQutGCIGh0dHAtPmh0dHBzINC40YHQutC70Y4=?= =?UTF-8?B?0YfQsNGPINCz0YDQsNGE0LjQutGDINC4IHJvYm90cy50eHQg0LrQsNC6ID8=?= In-Reply-To: References: Message-ID: 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; } } -------------- next part -------------- An HTML attachment was scrubbed... URL: From oleg at mamontov.net Mon Mar 23 09:28:04 2015 From: oleg at mamontov.net (Oleg A. Mamontov) Date: Mon, 23 Mar 2015 12:28:04 +0300 Subject: =?UTF-8?B?UmU6IDMwMSDRgNC10LTQuNGA0LXQutGCIGh0dHAtPmh0dHBzINC40YHQutC70Y4=?= =?UTF-8?B?0YfQsNGPINCz0YDQsNGE0LjQutGDINC4IHJvYm90cy50eHQg0LrQsNC6ID8=?= In-Reply-To: References: Message-ID: <20150323092804.GC720@xenon.mamontov.net> 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 at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Cheers, Oleg A. Mamontov From nginx-forum at nginx.us Mon Mar 23 09:43:57 2015 From: nginx-forum at nginx.us (anstrem) Date: Mon, 23 Mar 2015 05:43:57 -0400 Subject: =?UTF-8?B?UmU6IDMwMSDRgNC10LTQuNGA0LXQutGCIGh0dHAtPmh0dHBzINC40YHQutC70Y4=?= =?UTF-8?B?0YfQsNGPINCz0YDQsNGE0LjQutGDINC4IHJvYm90cy50eHQg0LrQsNC6ID8=?= In-Reply-To: References: Message-ID: <097b4bbe249feeab9f4049f145800930.NginxMailingListRussian@forum.nginx.org> В таком варианте получаю 404 Not Found при попытке вызвать robots.txt или графику через Http Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257548,257551#msg-257551 From nginx-forum at nginx.us Mon Mar 23 09:51:57 2015 From: nginx-forum at nginx.us (anstrem) Date: Mon, 23 Mar 2015 05:51:57 -0400 Subject: =?UTF-8?B?UmU6IDMwMSDRgNC10LTQuNGA0LXQutGCIGh0dHAtPmh0dHBzINC40YHQutC70Y4=?= =?UTF-8?B?0YfQsNGPINCz0YDQsNGE0LjQutGDINC4IHJvYm90cy50eHQg0LrQsNC6ID8=?= In-Reply-To: <20150323092804.GC720@xenon.mamontov.net> References: <20150323092804.GC720@xenon.mamontov.net> Message-ID: <48e10cc01b255cd06487246c2f355ce8.NginxMailingListRussian@forum.nginx.org> Тоже самое :( 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 From chipitsine at gmail.com Mon Mar 23 09:56:51 2015 From: chipitsine at gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Mon, 23 Mar 2015 14:56:51 +0500 Subject: =?UTF-8?B?UmU6INC+0LHRidC40Lkg0LrRjdGIINC00LvRjyDQvdC10YHQutC+0LvRjNC60Lg=?= =?UTF-8?B?0YUgbmdpbng=?= In-Reply-To: References: Message-ID: возможно, вы придете к монстроидной схеме nginx --> squid (с поддержкой ICAP) --> бекенды и даже после танцев с бубном вы ее настроите. но, практика показывает, что в таких случаях надо уметь отвечать на вопрос "зачем это надо ?". после ответа на который часто оказывается, что на самом деле - не надо. вы бы рассказали про вашу ситуацию в деталях ? 23 марта 2015 г., 13:54 пользователь Михаил Пульман написал: > Добрый день коллеги! > > На фронте имеется n-ое количество nginx которые выступают в качестве > балансировщиков. > Нужно наладить единый кэш для всех фронтенд nginxов. Какие есть возможности > в nginx для реализации этой задачи? > > С уважением, Михаил > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From oleg at mamontov.net Mon Mar 23 10:04:54 2015 From: oleg at mamontov.net (Oleg A. Mamontov) Date: Mon, 23 Mar 2015 13:04:54 +0300 Subject: =?UTF-8?B?UmU6IDMwMSDRgNC10LTQuNGA0LXQutGCIGh0dHAtPmh0dHBzINC40YHQutC70Y4=?= =?UTF-8?B?0YfQsNGPINCz0YDQsNGE0LjQutGDINC4IHJvYm90cy50eHQg0LrQsNC6ID8=?= In-Reply-To: <48e10cc01b255cd06487246c2f355ce8.NginxMailingListRussian@forum.nginx.org> References: <20150323092804.GC720@xenon.mamontov.net> <48e10cc01b255cd06487246c2f355ce8.NginxMailingListRussian@forum.nginx.org> Message-ID: <20150323100454.GD720@xenon.mamontov.net> 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 at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Cheers, Oleg A. Mamontov mailto: oleg at mamontov.net skype: lonerr11 cell: +7 (903) 798-1352 From nginx-forum at nginx.us Mon Mar 23 10:17:05 2015 From: nginx-forum at nginx.us (anstrem) Date: Mon, 23 Mar 2015 06:17:05 -0400 Subject: =?UTF-8?B?UmU6IDMwMSDRgNC10LTQuNGA0LXQutGCIGh0dHAtPmh0dHBzINC40YHQutC70Y4=?= =?UTF-8?B?0YfQsNGPINCz0YDQsNGE0LjQutGDINC4IHJvYm90cy50eHQg0LrQsNC6ID8=?= In-Reply-To: <20150323100454.GD720@xenon.mamontov.net> References: <20150323100454.GD720@xenon.mamontov.net> Message-ID: <229a4366e644a394f6320b0832624815.NginxMailingListRussian@forum.nginx.org> Все разобрался :) root $root_path/$subdomain; надо было из секции http поставить Огромное человеческое спасибо ! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257548,257555#msg-257555 From nginx-forum at nginx.us Mon Mar 23 11:06:35 2015 From: nginx-forum at nginx.us (Worldmaster) Date: Mon, 23 Mar 2015 07:06:35 -0400 Subject: =?UTF-8?B?0JLQtdGJ0LDQvdC40LUgUlRTUCAtIFJUTVAgKyBOR0lOWA==?= Message-ID: <05d8b987a0633c21ded4c560700594a0.NginxMailingListRussian@forum.nginx.org> Здравствуйте, необходимо сделать вещание с камеры 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 From chipitsine at gmail.com Mon Mar 23 12:09:48 2015 From: chipitsine at gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Mon, 23 Mar 2015 17:09:48 +0500 Subject: webdav+ext base.auth+var=error In-Reply-To: <68c02bda7171cdaffa979f63a6e7da85.NginxMailingListRussian@forum.nginx.org> References: <68c02bda7171cdaffa979f63a6e7da85.NginxMailingListRussian@forum.nginx.org> Message-ID: в общем 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 at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From pullmix at gmail.com Mon Mar 23 12:30:20 2015 From: pullmix at gmail.com (=?UTF-8?B?0JzQuNGF0LDQuNC7INCf0YPQu9GM0LzQsNC9?=) Date: Mon, 23 Mar 2015 15:30:20 +0300 Subject: =?UTF-8?B?UmU6INC+0LHRidC40Lkg0LrRjdGIINC00LvRjyDQvdC10YHQutC+0LvRjNC60Lg=?= =?UTF-8?B?0YUgbmdpbng=?= In-Reply-To: References: Message-ID: Ситуация в том что есть железный балансировщик, он раскидывает трафик по 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 at nginx.org > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -------------- next part -------------- An HTML attachment was scrubbed... URL: From leave at nixkid.com Mon Mar 23 12:44:50 2015 From: leave at nixkid.com (Pavel Mihaduk) Date: Mon, 23 Mar 2015 15:44:50 +0300 Subject: =?UTF-8?B?UmU6INC+0LHRidC40Lkg0LrRjdGIINC00LvRjyDQvdC10YHQutC+0LvRjNC60Lg=?= =?UTF-8?B?0YUgbmdpbng=?= In-Reply-To: References: Message-ID: <1503183.nc1Y5vBvUI@mihaduk-laptop> Очень сомневаюсь, что прирост будет "хорошим". Я бы начал все же с выстраивания стратегии кэширования. Из экзотики: можете рискнуть сложить кэш на 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- ru at nginx.org[3] http://mailman.nginx.org/mailman/listinfo/nginx-ru[4] nginx-ru at nginx.org[3] http://mailman.nginx.org/mailman/listinfo/nginx-ru[4] -------- [1] mailto:chipitsine at gmail.com [2] mailto:pullmix at gmail.com [3] mailto:nginx-ru at nginx.org [4] http://mailman.nginx.org/mailman/listinfo/nginx-ru -------------- next part -------------- An HTML attachment was scrubbed... URL: From chipitsine at gmail.com Mon Mar 23 13:10:38 2015 From: chipitsine at gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Mon, 23 Mar 2015 18:10:38 +0500 Subject: =?UTF-8?B?UmU6INC+0LHRidC40Lkg0LrRjdGIINC00LvRjyDQvdC10YHQutC+0LvRjNC60Lg=?= =?UTF-8?B?0YUgbmdpbng=?= In-Reply-To: References: Message-ID: а есть расчеты, подтверждающие хороший прирост производительности ? 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 at nginx.org >> > http://mailman.nginx.org/mailman/listinfo/nginx-ru >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru at nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From oleg at mamontov.net Mon Mar 23 13:22:27 2015 From: oleg at mamontov.net (Oleg A. Mamontov) Date: Mon, 23 Mar 2015 16:22:27 +0300 Subject: =?UTF-8?B?UmU6INC+0LHRidC40Lkg0LrRjdGIINC00LvRjyDQvdC10YHQutC+0LvRjNC60Lg=?= =?UTF-8?B?0YUgbmdpbng=?= In-Reply-To: <1503183.nc1Y5vBvUI@mihaduk-laptop> References: <1503183.nc1Y5vBvUI@mihaduk-laptop> Message-ID: <20150323132227.GE720@xenon.mamontov.net> 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- > ru at nginx.org[3] > http://mailman.nginx.org/mailman/listinfo/nginx-ru[4] > nginx-ru at nginx.org[3] > http://mailman.nginx.org/mailman/listinfo/nginx-ru[4] > > > > > > -------- > [1] mailto:chipitsine at gmail.com > [2] mailto:pullmix at gmail.com > [3] mailto:nginx-ru at nginx.org > [4] http://mailman.nginx.org/mailman/listinfo/nginx-ru > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Cheers, Oleg A. Mamontov mailto: oleg at mamontov.net skype: lonerr11 cell: +7 (903) 798-1352 From pullmix at gmail.com Mon Mar 23 13:24:11 2015 From: pullmix at gmail.com (=?UTF-8?B?0JzQuNGF0LDQuNC7INCf0YPQu9GM0LzQsNC9?=) Date: Mon, 23 Mar 2015 16:24:11 +0300 Subject: =?UTF-8?B?UmU6INC+0LHRidC40Lkg0LrRjdGIINC00LvRjyDQvdC10YHQutC+0LvRjNC60Lg=?= =?UTF-8?B?0YUgbmdpbng=?= In-Reply-To: References: Message-ID: Расчетов нет, есть предположение. Вы подскажите как реализовать, а последующие тесты покажут результативность такого решения. Чисто из логических соображений прирост должен быть обязательно. С уважением, Михаил 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 at nginx.org > >> > http://mailman.nginx.org/mailman/listinfo/nginx-ru > >> _______________________________________________ > >> nginx-ru mailing list > >> nginx-ru at nginx.org > >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > > > > > _______________________________________________ > > nginx-ru mailing list > > nginx-ru at nginx.org > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -------------- next part -------------- An HTML attachment was scrubbed... URL: From vbart at nginx.com Mon Mar 23 13:27:29 2015 From: vbart at nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Mon, 23 Mar 2015 16:27:29 +0300 Subject: =?UTF-8?B?UmU6INC+0LHRidC40Lkg0LrRjdGIINC00LvRjyDQvdC10YHQutC+0LvRjNC60Lg=?= =?UTF-8?B?0YUgbmdpbng=?= In-Reply-To: References: Message-ID: <1985122.LArs3auORr@vbart-workstation> On Monday 23 March 2015 15:30:20 Михаил Пульман wrote: > Ситуация в том что есть железный балансировщик, он раскидывает трафик по > 4-6 штукам nginx, а нжинксы балансируя траффик с помощью апстрима > перенаправляют на бэкенд сервера. На балансировщиках nginx настроен кэш. > Получается что на всех балансировщиках разный кеш. Допусти клиентский > запрос попавший на балансир номер 1 кеша там не обнаружилось и запрос пошел > на бэкенд, в то время как на балансировщике номер 2 нужный кеш в этот > момент был, но по понятным причинам не был использоан. Вообщем если сделать > общий кеш для всех балансировщиков nginx можно получить хороший прирост > производительности. [..] Скорее наоборот. Узким местом станет этот самый кэш и смысл в нескольких nginx-ах с точки зрения производительности пропадет. -- Валентин Бартенев From pullmix at gmail.com Mon Mar 23 13:33:43 2015 From: pullmix at gmail.com (=?UTF-8?B?0JzQuNGF0LDQuNC7INCf0YPQu9GM0LzQsNC9?=) Date: Mon, 23 Mar 2015 16:33:43 +0300 Subject: =?UTF-8?B?UmU6INC+0LHRidC40Lkg0LrRjdGIINC00LvRjyDQvdC10YHQutC+0LvRjNC60Lg=?= =?UTF-8?B?0YUgbmdpbng=?= In-Reply-To: <1985122.LArs3auORr@vbart-workstation> References: <1985122.LArs3auORr@vbart-workstation> Message-ID: > > > > Скорее наоборот. Узким местом станет этот самый кэш и смысл в > нескольких nginx-ах с точки зрения производительности пропадет. > > Валентин, почему Вы считаете что кеш станет узким местом? Разъясните если не трудно. -------------- next part -------------- An HTML attachment was scrubbed... URL: From leave at nixkid.com Mon Mar 23 13:35:45 2015 From: leave at nixkid.com (Pavel Mihaduk) Date: Mon, 23 Mar 2015 16:35:45 +0300 Subject: =?UTF-8?B?UmU6INC+0LHRidC40Lkg0LrRjdGIINC00LvRjyDQvdC10YHQutC+0LvRjNC60Lg=?= =?UTF-8?B?0YUgbmdpbng=?= In-Reply-To: References: <1985122.LArs3auORr@vbart-workstation> Message-ID: <1639218.z3GV48pMnH@mihaduk-laptop> Я так понимаю, у вас не самый маленький проект. Представьте себе _взаимную_ (master-master) синхронизацию между несколькими серверами. Валентин, почему Вы считаете что кеш станет узким местом? Разъясните если не трудно. -------------- next part -------------- An HTML attachment was scrubbed... URL: From vbart at nginx.com Mon Mar 23 13:38:23 2015 From: vbart at nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Mon, 23 Mar 2015 16:38:23 +0300 Subject: =?UTF-8?B?UmU6INC+0LHRidC40Lkg0LrRjdGIINC00LvRjyDQvdC10YHQutC+0LvRjNC60Lg=?= =?UTF-8?B?0YUgbmdpbng=?= In-Reply-To: References: <1985122.LArs3auORr@vbart-workstation> Message-ID: <1737058.dH9BjDIIHg@vbart-workstation> On Monday 23 March 2015 16:33:43 Михаил Пульман wrote: > > > > > > > > Скорее наоборот. Узким местом станет этот самый кэш и смысл в > > нескольких nginx-ах с точки зрения производительности пропадет. > > > Валентин, почему Вы считаете что кеш станет узким местом? Разъясните если > не трудно. > Потому, что чаще всего nginx упирается в производительность хранилища данных. А в вашем случае производительность одного хранилища поделится между всеми nginx-ами, которые скорее всего большую часть времени ничего полезного делать не будут, кроме ожидания ввода-вывода из этого хранилища. -- Валентин Бартенев From oleg at mamontov.net Mon Mar 23 13:41:47 2015 From: oleg at mamontov.net (Oleg A. Mamontov) Date: Mon, 23 Mar 2015 16:41:47 +0300 Subject: =?UTF-8?B?UmU6INC+0LHRidC40Lkg0LrRjdGIINC00LvRjyDQvdC10YHQutC+0LvRjNC60Lg=?= =?UTF-8?B?0YUgbmdpbng=?= In-Reply-To: References: Message-ID: <20150323134147.GF720@xenon.mamontov.net> 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 at nginx.org > > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > _______________________________________________ > > nginx-ru mailing list > > nginx-ru at nginx.org > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Cheers, Oleg A. Mamontov mailto: oleg at mamontov.net skype: lonerr11 cell: +7 (903) 798-1352 From pullmix at gmail.com Mon Mar 23 14:02:35 2015 From: pullmix at gmail.com (=?UTF-8?B?0JzQuNGF0LDQuNC7INCf0YPQu9GM0LzQsNC9?=) Date: Mon, 23 Mar 2015 17:02:35 +0300 Subject: =?UTF-8?B?UmU6INC+0LHRidC40Lkg0LrRjdGIINC00LvRjyDQvdC10YHQutC+0LvRjNC60Lg=?= =?UTF-8?B?0YUgbmdpbng=?= In-Reply-To: <20150323134147.GF720@xenon.mamontov.net> References: <20150323134147.GF720@xenon.mamontov.net> Message-ID: > > "железный балансировщиков" на каком уровне 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 at nginx.org > > > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > _______________________________________________ > > > nginx-ru mailing list > > > nginx-ru at nginx.org > > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > _______________________________________________ > > nginx-ru mailing list > > nginx-ru at nginx.org > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > -- > Cheers, > Oleg A. Mamontov > > mailto: oleg at mamontov.net > > skype: lonerr11 > cell: +7 (903) 798-1352 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -------------- next part -------------- An HTML attachment was scrubbed... URL: From oleg at mamontov.net Mon Mar 23 14:10:09 2015 From: oleg at mamontov.net (Oleg A. Mamontov) Date: Mon, 23 Mar 2015 17:10:09 +0300 Subject: =?UTF-8?B?UmU6INC+0LHRidC40Lkg0LrRjdGIINC00LvRjyDQvdC10YHQutC+0LvRjNC60Lg=?= =?UTF-8?B?0YUgbmdpbng=?= In-Reply-To: References: <20150323134147.GF720@xenon.mamontov.net> Message-ID: <20150323141009.GG720@xenon.mamontov.net> 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 at nginx.org > > > > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > _______________________________________________ > > > > nginx-ru mailing list > > > > nginx-ru at nginx.org > > > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > > _______________________________________________ > > > nginx-ru mailing list > > > nginx-ru at nginx.org > > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > > > -- > > Cheers, > > Oleg A. Mamontov > > > > mailto: oleg at mamontov.net > > > > skype: lonerr11 > > cell: +7 (903) 798-1352 > > > > _______________________________________________ > > nginx-ru mailing list > > nginx-ru at nginx.org > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Cheers, Oleg A. Mamontov mailto: oleg at mamontov.net skype: lonerr11 cell: +7 (903) 798-1352 From nginx-forum at nginx.us Mon Mar 23 14:14:44 2015 From: nginx-forum at nginx.us (S.A.N) Date: Mon, 23 Mar 2015 10:14:44 -0400 Subject: =?UTF-8?B?UmU6INC+0LHRidC40Lkg0LrRjdGIINC00LvRjyDQvdC10YHQutC+0LvRjNC60Lg=?= =?UTF-8?B?0YUgbmdpbng=?= In-Reply-To: References: Message-ID: > На фронте имеется 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 From pullmix at gmail.com Mon Mar 23 14:16:02 2015 From: pullmix at gmail.com (=?UTF-8?B?0JzQuNGF0LDQuNC7INCf0YPQu9GM0LzQsNC9?=) Date: Mon, 23 Mar 2015 17:16:02 +0300 Subject: =?UTF-8?B?UmU6INC+0LHRidC40Lkg0LrRjdGIINC00LvRjyDQvdC10YHQutC+0LvRjNC60Lg=?= =?UTF-8?B?0YUgbmdpbng=?= In-Reply-To: <20150323141009.GG720@xenon.mamontov.net> References: <20150323134147.GF720@xenon.mamontov.net> <20150323141009.GG720@xenon.mamontov.net> Message-ID: > > Настройте балансировку по группам 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 пользователь Илья Шипицин < > chipitsine at gmail.com> > > > > написал: > > > > > > > > > возможно, вы придете к монстроидной схеме > > > > > > > > > > nginx --> squid (с поддержкой ICAP) --> бекенды > > > > > > > > > > и даже после танцев с бубном вы ее настроите. > > > > > > > > > > но, практика показывает, что в таких случаях надо уметь отвечать на > > > > > вопрос "зачем это надо ?". > > > > > после ответа на который часто оказывается, что на самом деле - не > надо. > > > > > > > > > > вы бы рассказали про вашу ситуацию в деталях ? > > > > > > > > > > 23 марта 2015 г., 13:54 пользователь Михаил Пульман < > pullmix at gmail.com > > > > > > > > > написал: > > > > > > Добрый день коллеги! > > > > > > > > > > > > На фронте имеется n-ое количество nginx которые выступают в > качестве > > > > > > балансировщиков. > > > > > > Нужно наладить единый кэш для всех фронтенд nginxов. Какие есть > > > > > возможности > > > > > > в nginx для реализации этой задачи? > > > > > > > > > > > > С уважением, Михаил > > > > > > > > > > > > _______________________________________________ > > > > > > nginx-ru mailing list > > > > > > nginx-ru at nginx.org > > > > > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > > _______________________________________________ > > > > > nginx-ru mailing list > > > > > nginx-ru at nginx.org > > > > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > > > > _______________________________________________ > > > > nginx-ru mailing list > > > > nginx-ru at nginx.org > > > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > > > > > > -- > > > Cheers, > > > Oleg A. Mamontov > > > > > > mailto: oleg at mamontov.net > > > > > > skype: lonerr11 > > > cell: +7 (903) 798-1352 > > > > > > _______________________________________________ > > > nginx-ru mailing list > > > nginx-ru at nginx.org > > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > > > _______________________________________________ > > nginx-ru mailing list > > nginx-ru at nginx.org > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > -- > Cheers, > Oleg A. Mamontov > > mailto: oleg at mamontov.net > > skype: lonerr11 > cell: +7 (903) 798-1352 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -------------- next part -------------- An HTML attachment was scrubbed... URL: From vbart at nginx.com Mon Mar 23 14:22:16 2015 From: vbart at nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Mon, 23 Mar 2015 17:22:16 +0300 Subject: =?UTF-8?B?UmU6INC+0LHRidC40Lkg0LrRjdGIINC00LvRjyDQvdC10YHQutC+0LvRjNC60Lg=?= =?UTF-8?B?0YUgbmdpbng=?= In-Reply-To: References: Message-ID: <1880805.s3zfSECxIT@vbart-workstation> 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 > Это не будет работать. -- Валентин Бартенев From oleg at mamontov.net Mon Mar 23 14:22:28 2015 From: oleg at mamontov.net (Oleg A. Mamontov) Date: Mon, 23 Mar 2015 17:22:28 +0300 Subject: =?UTF-8?B?UmU6INC+0LHRidC40Lkg0LrRjdGIINC00LvRjyDQvdC10YHQutC+0LvRjNC60Lg=?= =?UTF-8?B?0YUgbmdpbng=?= In-Reply-To: References: <20150323134147.GF720@xenon.mamontov.net> <20150323141009.GG720@xenon.mamontov.net> Message-ID: <20150323142228.GH720@xenon.mamontov.net> 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 пользователь Илья Шипицин < > > chipitsine at gmail.com> > > > > > написал: > > > > > > > > > > > возможно, вы придете к монстроидной схеме > > > > > > > > > > > > nginx --> squid (с поддержкой ICAP) --> бекенды > > > > > > > > > > > > и даже после танцев с бубном вы ее настроите. > > > > > > > > > > > > но, практика показывает, что в таких случаях надо уметь отвечать на > > > > > > вопрос "зачем это надо ?". > > > > > > после ответа на который часто оказывается, что на самом деле - не > > надо. > > > > > > > > > > > > вы бы рассказали про вашу ситуацию в деталях ? > > > > > > > > > > > > 23 марта 2015 г., 13:54 пользователь Михаил Пульман < > > pullmix at gmail.com > > > > > > > > > > > написал: > > > > > > > Добрый день коллеги! > > > > > > > > > > > > > > На фронте имеется n-ое количество nginx которые выступают в > > качестве > > > > > > > балансировщиков. > > > > > > > Нужно наладить единый кэш для всех фронтенд nginxов. Какие есть > > > > > > возможности > > > > > > > в nginx для реализации этой задачи? > > > > > > > > > > > > > > С уважением, Михаил > > > > > > > > > > > > > > _______________________________________________ > > > > > > > nginx-ru mailing list > > > > > > > nginx-ru at nginx.org > > > > > > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > > > _______________________________________________ > > > > > > nginx-ru mailing list > > > > > > nginx-ru at nginx.org > > > > > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > > > > > > _______________________________________________ > > > > > nginx-ru mailing list > > > > > nginx-ru at nginx.org > > > > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > > > > > > > > > -- > > > > Cheers, > > > > Oleg A. Mamontov > > > > > > > > mailto: oleg at mamontov.net > > > > > > > > skype: lonerr11 > > > > cell: +7 (903) 798-1352 > > > > > > > > _______________________________________________ > > > > nginx-ru mailing list > > > > nginx-ru at nginx.org > > > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > > > > > > _______________________________________________ > > > nginx-ru mailing list > > > nginx-ru at nginx.org > > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > > > -- > > Cheers, > > Oleg A. Mamontov > > > > mailto: oleg at mamontov.net > > > > skype: lonerr11 > > cell: +7 (903) 798-1352 > > > > _______________________________________________ > > nginx-ru mailing list > > nginx-ru at nginx.org > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Cheers, Oleg A. Mamontov mailto: oleg at mamontov.net skype: lonerr11 cell: +7 (903) 798-1352 From chipitsine at gmail.com Mon Mar 23 14:58:23 2015 From: chipitsine at gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Mon, 23 Mar 2015 19:58:23 +0500 Subject: =?UTF-8?B?UmU6INC+0LHRidC40Lkg0LrRjdGIINC00LvRjyDQvdC10YHQutC+0LvRjNC60Lg=?= =?UTF-8?B?0YUgbmdpbng=?= In-Reply-To: References: Message-ID: расчеты можно сделать исходя, например, из 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 at nginx.org >> >> > http://mailman.nginx.org/mailman/listinfo/nginx-ru >> >> _______________________________________________ >> >> nginx-ru mailing list >> >> nginx-ru at nginx.org >> >> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> > >> > >> > >> > _______________________________________________ >> > nginx-ru mailing list >> > nginx-ru at nginx.org >> > http://mailman.nginx.org/mailman/listinfo/nginx-ru >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru at nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From nginx-forum at nginx.us Mon Mar 23 16:11:31 2015 From: nginx-forum at nginx.us (sion999) Date: Mon, 23 Mar 2015 12:11:31 -0400 Subject: =?UTF-8?B?bmdpbngg0Lgg0YHQtdGC0LXQstGL0LUg0L/QsNC/0LrQuA==?= Message-ID: Доброго времени. Я не очень силен в настройке 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 From nginx-forum at nginx.us Mon Mar 23 20:26:34 2015 From: nginx-forum at nginx.us (dwow) Date: Mon, 23 Mar 2015 16:26:34 -0400 Subject: =?UTF-8?B?UmU6IGxpbWl0IGNvbm4g0YHRh9C10YLRh9C40Lo=?= In-Reply-To: <20150320122943.GL88631@mdounin.ru> References: <20150320122943.GL88631@mdounin.ru> Message-ID: <253389f1e054d2047168283566fb5edd.NginxMailingListRussian@forum.nginx.org> И еще вопрос. Как обнулить счетчик? reload или stop/start? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257486,257602#msg-257602 From nginx-forum at nginx.us Mon Mar 23 20:31:02 2015 From: nginx-forum at nginx.us (dwow) Date: Mon, 23 Mar 2015 16:31:02 -0400 Subject: =?UTF-8?B?UmU6IHByb3hlIGNhY2hlINGN0LvQtdC80LXQvdGCINC90LUg0LIg0LrQtdGI0LU=?= In-Reply-To: <550BF0C8.80201@nginx.com> References: <550BF0C8.80201@nginx.com> Message-ID: <5c63eaac382d9768535c03eff6634e74.NginxMailingListRussian@forum.nginx.org> Спасибо. зы почему-то не сработала "напоминалка" об ответе в треде( Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257477,257603#msg-257603 From nginx-forum at nginx.us Mon Mar 23 21:50:59 2015 From: nginx-forum at nginx.us (MereMortals) Date: Mon, 23 Mar 2015 17:50:59 -0400 Subject: =?UTF-8?B?0KbQtdC/0L7Rh9C60LAgbmdpbnggcHJveHk=?= Message-ID: Добрый день! В интернете решения так и не нашел. Есть такая схема клиент <->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 From mdounin at mdounin.ru Mon Mar 23 22:06:51 2015 From: mdounin at mdounin.ru (Maxim Dounin) Date: Tue, 24 Mar 2015 01:06:51 +0300 Subject: =?UTF-8?B?UmU6IGxpbWl0IGNvbm4g0YHRh9C10YLRh9C40Lo=?= In-Reply-To: <253389f1e054d2047168283566fb5edd.NginxMailingListRussian@forum.nginx.org> References: <20150320122943.GL88631@mdounin.ru> <253389f1e054d2047168283566fb5edd.NginxMailingListRussian@forum.nginx.org> Message-ID: <20150323220651.GH88631@mdounin.ru> 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/ From gmm at csdoc.com Mon Mar 23 22:07:30 2015 From: gmm at csdoc.com (Gena Makhomed) Date: Tue, 24 Mar 2015 00:07:30 +0200 Subject: =?UTF-8?B?UmU6INCm0LXQv9C+0YfQutCwIG5naW54IHByb3h5?= In-Reply-To: References: Message-ID: <55108EA2.5050805@csdoc.com> 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 From mdounin at mdounin.ru Mon Mar 23 22:27:25 2015 From: mdounin at mdounin.ru (Maxim Dounin) Date: Tue, 24 Mar 2015 01:27:25 +0300 Subject: =?UTF-8?B?UmU6INCm0LXQv9C+0YfQutCwIG5naW54IHByb3h5?= In-Reply-To: References: Message-ID: <20150323222725.GJ88631@mdounin.ru> 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/ From nginx-forum at nginx.us Tue Mar 24 05:45:08 2015 From: nginx-forum at nginx.us (dwow) Date: Tue, 24 Mar 2015 01:45:08 -0400 Subject: =?UTF-8?B?UmU6IGxpbWl0IGNvbm4g0YHRh9C10YLRh9C40Lo=?= In-Reply-To: <20150323220651.GH88631@mdounin.ru> References: <20150323220651.GH88631@mdounin.ru> Message-ID: Maxim Dounin Wrote: ------------------------------------------------------- > Зачем? Если выполняющихся запросов нет - то и в счётчике будет > пусто. Из-за некорректных данных в счетчике. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257486,257624#msg-257624 From nginx-forum at nginx.us Tue Mar 24 06:29:36 2015 From: nginx-forum at nginx.us (itcod) Date: Tue, 24 Mar 2015 02:29:36 -0400 Subject: webdav+ext base.auth+var=error In-Reply-To: References: Message-ID: да! хорошая иллюстрация! Илья спасибо. :) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257511,257625#msg-257625 From leave at nixkid.com Tue Mar 24 08:34:21 2015 From: leave at nixkid.com (Pavel Mihaduk) Date: Tue, 24 Mar 2015 11:34:21 +0300 Subject: =?UTF-8?B?UmU6INCm0LXQv9C+0YfQutCwIG5naW54IHByb3h5?= In-Reply-To: <20150323222725.GJ88631@mdounin.ru> References: <20150323222725.GJ88631@mdounin.ru> Message-ID: <2390589.AWbHUMBPeH@mihaduk-laptop> Кстати, в связи с подчеркиваниями у меня давно вопрос: чего ради было делать дефолт именно таким, какой он есть? Мне в свое время это доставило немало головной боли с uwsgi, когда nginx выбрасывал REQUEST_METHOD :( On 24 March 2015 01:27:25 Maxim Dounin wrote: > 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_heade > rs > > В данном случае - правильнее будет переименовать заголовки. > > -- > Maxim Dounin > http://nginx.org/ > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -------------- next part -------------- An HTML attachment was scrubbed... URL: From mdounin at mdounin.ru Tue Mar 24 12:12:57 2015 From: mdounin at mdounin.ru (Maxim Dounin) Date: Tue, 24 Mar 2015 15:12:57 +0300 Subject: =?UTF-8?B?UmU6INCm0LXQv9C+0YfQutCwIG5naW54IHByb3h5?= In-Reply-To: <2390589.AWbHUMBPeH@mihaduk-laptop> References: <20150323222725.GJ88631@mdounin.ru> <2390589.AWbHUMBPeH@mihaduk-laptop> Message-ID: <20150324121257.GL88631@mdounin.ru> Hello! On Tue, Mar 24, 2015 at 11:34:21AM +0300, Pavel Mihaduk wrote: > Кстати, в связи с подчеркиваниями у меня давно вопрос: чего ради было делать > дефолт именно таким, какой он есть? Мне в свое время это доставило немало > головной боли с uwsgi, когда nginx выбрасывал REQUEST_METHOD :( Потому что в рамках протокола CGI (используемого, в своих вариациях, чуть менее, чем везде, включая переменные $http_... в самом nginx'е) заголовки представляются в виде переменных с именами HTTP_HEADER_NAME, и заголовки с подчёркиваниями - не отличимы от заголовков со стандартным дефисом. Соответственно заголовки с подчёркиванием могут быть использованы для того, чтобы выдать их за какие-либо специальные заголовки (Content-Length, X-Real-IP, whatever). При этом в HTTP - не бывает стандартных заголовков с подчёркиванием, и если вдруг подчёркивание встретилось - это чья-то самодеятельность. Формально, по стандарту HTTP - подчёркивание использовать можно, это обычный символ. Но, в свете вышеизложенного, обрабатывать такие заголовки и пропускать их на бекенды - плохая идея. -- Maxim Dounin http://nginx.org/ From leave at nixkid.com Tue Mar 24 12:36:11 2015 From: leave at nixkid.com (Pavel Mihaduk) Date: Tue, 24 Mar 2015 15:36:11 +0300 Subject: =?UTF-8?B?UmU6INCm0LXQv9C+0YfQutCwIG5naW54IHByb3h5?= In-Reply-To: <20150324121257.GL88631@mdounin.ru> References: <2390589.AWbHUMBPeH@mihaduk-laptop> <20150324121257.GL88631@mdounin.ru> Message-ID: <23031310.NYWgsxVom4@mihaduk-laptop> Может, хотя бы для uwsgi сделать исключение? Он как раз ожидает подчеркивания. On 24 March 2015 15:12:57 Maxim Dounin wrote: > Hello! > > On Tue, Mar 24, 2015 at 11:34:21AM +0300, Pavel Mihaduk wrote: > > Кстати, в связи с подчеркиваниями у меня давно вопрос: чего ради было > > делать дефолт именно таким, какой он есть? Мне в свое время это доставило > > немало головной боли с uwsgi, когда nginx выбрасывал REQUEST_METHOD :( > > Потому что в рамках протокола CGI (используемого, в своих > вариациях, чуть менее, чем везде, включая переменные $http_... в > самом nginx'е) заголовки представляются в виде переменных с > именами HTTP_HEADER_NAME, и заголовки с подчёркиваниями - не > отличимы от заголовков со стандартным дефисом. Соответственно > заголовки с подчёркиванием могут быть использованы для того, чтобы > выдать их за какие-либо специальные заголовки (Content-Length, > X-Real-IP, whatever). > > При этом в HTTP - не бывает стандартных заголовков с > подчёркиванием, и если вдруг подчёркивание встретилось - это > чья-то самодеятельность. > > Формально, по стандарту HTTP - подчёркивание использовать можно, > это обычный символ. Но, в свете вышеизложенного, обрабатывать > такие заголовки и пропускать их на бекенды - плохая идея. > > -- > Maxim Dounin > http://nginx.org/ > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -------------- next part -------------- An HTML attachment was scrubbed... URL: From mdounin at mdounin.ru Tue Mar 24 14:27:09 2015 From: mdounin at mdounin.ru (Maxim Dounin) Date: Tue, 24 Mar 2015 17:27:09 +0300 Subject: =?UTF-8?B?UmU6INCm0LXQv9C+0YfQutCwIG5naW54IHByb3h5?= In-Reply-To: <23031310.NYWgsxVom4@mihaduk-laptop> References: <2390589.AWbHUMBPeH@mihaduk-laptop> <20150324121257.GL88631@mdounin.ru> <23031310.NYWgsxVom4@mihaduk-laptop> Message-ID: <20150324142709.GM88631@mdounin.ru> Hello! On Tue, Mar 24, 2015 at 03:36:11PM +0300, Pavel Mihaduk wrote: > Может, хотя бы для uwsgi сделать исключение? Он как раз ожидает > подчеркивания. С помощью uwsgi_param можно устанавливать любые параметры для uwsgi, заголовкам и их обработке это отношения не имеет (кроме собственно того факта, что HTTP-заголовки превращаются в параметры вида HTTP_* - и это та самая проблема с неотличимостью "_" от "-"). -- Maxim Dounin http://nginx.org/ From mdounin at mdounin.ru Tue Mar 24 16:22:13 2015 From: mdounin at mdounin.ru (Maxim Dounin) Date: Tue, 24 Mar 2015 19:22:13 +0300 Subject: nginx-1.7.11 Message-ID: <20150324162213.GU88631@mdounin.ru> Изменения в nginx 1.7.11 24.03.2015 *) Изменение: параметр sendfile директивы aio более не нужен; теперь nginx автоматически использует AIO для подгрузки данных для sendfile, если одновременно используются директивы aio и sendfile. *) Добавление: экспериментальная поддержка потоков. *) Добавление: директивы proxy_request_buffering, fastcgi_request_buffering, scgi_request_buffering и uwsgi_request_buffering. *) Добавление: экспериментальное API для обработки тела запроса. *) Добавление: проверка клиентских SSL-сертификатов в почтовом прокси-сервере. Спасибо Sven Peter, Franck Levionnois и Filipe Da Silva. *) Добавление: уменьшение времени запуска при использовании дирекивы "hash ... consistent" в блоке upstream. Спасибо Wai Keen Woon. *) Добавление: отладочное логгирование в кольцевой буфер в памяти. *) Исправление: в обработке хэш-таблиц. Спасибо Chris West. *) Исправление: в директиве proxy_cache_revalidate. *) Исправление: SSL-соединения могли зависать, если использовался отложенный accept или параметр proxy_protocol директивы listen. Спасибо James Hamlin. *) Исправление: переменная $upstream_response_time могла содержать неверное значение при использовании директивы image_filter. *) Исправление: в обработке целочисленных переполнений. Спасибо R?gis Leroy. *) Исправление: при использовании LibreSSL было невозможно включить поддержку SSLv3. *) Исправление: при использовании LibreSSL в логах появлялись сообщения "ignoring stale global SSL error ... called a function you should not call". *) Исправление: сертификаты, указанные в директивах ssl_client_certificate и ssl_trusted_certificate, использовались для автоматического построения цепочек сертификатов. -- Maxim Dounin http://nginx.org/en/donation.html From sargaskn at gmail.com Tue Mar 24 17:21:27 2015 From: sargaskn at gmail.com (Sargas) Date: Tue, 24 Mar 2015 19:21:27 +0200 Subject: nginx-1.7.11 In-Reply-To: <20150324162213.GU88631@mdounin.ru> References: <20150324162213.GU88631@mdounin.ru> Message-ID: Приветствую. Расскажите, пожалуйста, подробнее про *) Добавление: экспериментальная поддержка потоков. Предполагаю что в каждом child процессе nginx'а теперь несколько thread'ов будет? 24 марта 2015 г., 18:22 пользователь Maxim Dounin написал: > Изменения в nginx 1.7.11 > 24.03.2015 > > *) Изменение: параметр sendfile директивы aio более не нужен; теперь > nginx автоматически использует AIO для подгрузки данных для > sendfile, > если одновременно используются директивы aio и sendfile. > > *) Добавление: экспериментальная поддержка потоков. > > *) Добавление: директивы proxy_request_buffering, > fastcgi_request_buffering, scgi_request_buffering и > uwsgi_request_buffering. > > *) Добавление: экспериментальное API для обработки тела запроса. > > *) Добавление: проверка клиентских SSL-сертификатов в почтовом > прокси-сервере. > Спасибо Sven Peter, Franck Levionnois и Filipe Da Silva. > > *) Добавление: уменьшение времени запуска при использовании дирекивы > "hash ... consistent" в блоке upstream. > Спасибо Wai Keen Woon. > > *) Добавление: отладочное логгирование в кольцевой буфер в памяти. > > *) Исправление: в обработке хэш-таблиц. > Спасибо Chris West. > > *) Исправление: в директиве proxy_cache_revalidate. > > *) Исправление: SSL-соединения могли зависать, если использовался > отложенный accept или параметр proxy_protocol директивы listen. > Спасибо James Hamlin. > > *) Исправление: переменная $upstream_response_time могла содержать > неверное значение при использовании директивы image_filter. > > *) Исправление: в обработке целочисленных переполнений. > Спасибо R?gis Leroy. > > *) Исправление: при использовании LibreSSL было невозможно включить > поддержку SSLv3. > > *) Исправление: при использовании LibreSSL в логах появлялись сообщения > "ignoring stale global SSL error ... called a function you should > not > call". > > *) Исправление: сертификаты, указанные в директивах > ssl_client_certificate и ssl_trusted_certificate, использовались для > автоматического построения цепочек сертификатов. > > > -- > Maxim Dounin > http://nginx.org/en/donation.html > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -------------- next part -------------- An HTML attachment was scrubbed... URL: From konstantin at symbi.org Tue Mar 24 17:22:22 2015 From: konstantin at symbi.org (Konstantin Baryshnikov) Date: Tue, 24 Mar 2015 20:22:22 +0300 Subject: =?UTF-8?B?UmU6INCa0LDQuiDQstGL0LfQstCw0YLRjCBwaGFudG9tanMg0L/RgNGP0LzQviA=?= =?UTF-8?B?0LjQtyBuZ2lueD8=?= In-Reply-To: References: Message-ID: <13C935AA-549B-4884-9224-85FB9879A2EB@symbi.org> On Mar 10, 2015, at 7:30 AM, softshape wrote: > Всем привет, > > нужен совет, возможно ли и как настроить nginx, чтобы решить такую задачу - > > на каждый запрос вида http://pdf.domain.ru/path/?pdf=12345.pdf вызывать > phantomjs c параметрами - > > phantomjs /opt/www/modules/pdf/rasterize.js 'http://www.domain.ru/path/' > /opt/www/files/12345.pdf A4 Не надо на каждый запрос запускать phantomjs. Это очень низкопроизводительный способ, да и nginx не умеет CGI. Надо, используя модуль webserver, входящий в поставку в phantomjs, реализовать, собственно, веб-сервер, который в event loop-е принимает запрос, выполняет необходимую процедуру и отдает ответ, после чего настроить проксирование из nginx. Как это делать, написано в документации на сайте phantomjs. Там же есть примеры. From chipitsine at gmail.com Tue Mar 24 17:59:05 2015 From: chipitsine at gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Tue, 24 Mar 2015 22:59:05 +0500 Subject: =?UTF-8?B?0LrQsNC6INC/0YDQsNCy0LjQu9GM0L3QviDRg9C60LDQt9GL0LLQsNGC0Ywg0L8=?= =?UTF-8?B?0LDRgNCw0LzQtdGC0YAgZ3ppcF90eXBlcyDQtNC70Y8gImFwcGxpY2F0aW9u?= =?UTF-8?B?L2F0b20reG1sO3R5cGU9ZmVlZDtjaGFyc2V0PXV0Zi04IiA/?= Message-ID: Добрый день! есть контент типа application/atom+xml;type=feed;charset=utf-8 как его сжать ? Илья Шипицин From mdounin at mdounin.ru Tue Mar 24 19:07:00 2015 From: mdounin at mdounin.ru (Maxim Dounin) Date: Tue, 24 Mar 2015 22:07:00 +0300 Subject: nginx-1.7.11 In-Reply-To: References: <20150324162213.GU88631@mdounin.ru> Message-ID: <20150324190700.GZ88631@mdounin.ru> Hello! On Tue, Mar 24, 2015 at 07:21:27PM +0200, Sargas wrote: > Приветствую. > > Расскажите, пожалуйста, подробнее про > > *) Добавление: экспериментальная поддержка потоков. > > Предполагаю что в каждом child процессе nginx'а теперь несколько thread'ов > будет? Появились вспомогательные thread'ы, используемые для выполнения длительных операций (чтения файлов, и их отправки с помощью вызова sendfile). Подробнее тут: http://nginx.org/ru/docs/http/ngx_http_core_module.html#aio -- Maxim Dounin http://nginx.org/ From sargaskn at gmail.com Tue Mar 24 19:42:19 2015 From: sargaskn at gmail.com (Sargas) Date: Tue, 24 Mar 2015 21:42:19 +0200 Subject: nginx-1.7.11 In-Reply-To: <20150324190700.GZ88631@mdounin.ru> References: <20150324162213.GU88631@mdounin.ru> <20150324190700.GZ88631@mdounin.ru> Message-ID: Благодарю. >Отправка файлов в многопоточном режиме поддерживается только на Linux. А на FreeBSD планируется поддержка? Видимо есть какие-то нюансы в ядре которые это сейчас не позволяют реализовать? 24 марта 2015 г., 21:07 пользователь Maxim Dounin написал: > Hello! > > On Tue, Mar 24, 2015 at 07:21:27PM +0200, Sargas wrote: > > > Приветствую. > > > > Расскажите, пожалуйста, подробнее про > > > > *) Добавление: экспериментальная поддержка потоков. > > > > Предполагаю что в каждом child процессе nginx'а теперь несколько > thread'ов > > будет? > > Появились вспомогательные thread'ы, используемые для выполнения > длительных операций (чтения файлов, и их отправки с помощью вызова > sendfile). Подробнее тут: > > http://nginx.org/ru/docs/http/ngx_http_core_module.html#aio > > -- > Maxim Dounin > http://nginx.org/ > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -------------- next part -------------- An HTML attachment was scrubbed... URL: From eugene.peregudov at gmail.com Wed Mar 25 07:24:52 2015 From: eugene.peregudov at gmail.com (Eugene Peregudov) Date: Wed, 25 Mar 2015 13:24:52 +0600 Subject: =?UTF-8?B?UmU6INC/0YDQvtC60YHQuNGA0L7QstCw0L3QuNC1INCx0L7Qu9GM0YjQuNGFINGE?= =?UTF-8?B?0LDQudC70L7Qsg==?= In-Reply-To: <20140707135749.GE1849@mdounin.ru> References: <20140707135749.GE1849@mdounin.ru> Message-ID: Добрый день! Прочитал список добавлений в nginx 1.7.11, правильно я понимаю что директивы proxy_request_buffering off fastcgi_request_buffering off отключают полную буферизацию запроса клиента, что поможет в решении нижеописанной проблемы? Maxim Dounin писал(а) в своём письме Mon, 07 Jul 2014 19:57:50 +0600: > Hello! > > On Mon, Jul 07, 2014 at 02:08:34PM +0700, Eugene Peregudov wrote: > >> Доброго времени суток! >> >> Имеется веб-приложение к хранилищу файлов, преимущественно больших, >> схема: >> client <--> nginx proxy <--> apache, прокси и бэкенд на разных машинах >> (nginx/1.6.0, ОС RHEL6.5 x64) >> >> При загрузке большого файла в веб-приложение (10-15Гб), nginx сначала >> целиком буферизует содержимое http-запроса, лишь затем отдает бэкенду... >> >> на прокси-машине в момент загрузки файла наблюдается большой >> client_temp, >> соотвественно на клиенте большая задержка: >> #lsof | grep client_temp >> nginx 30802 nginx ... 8,1 3654929415 394068 >> /var/cache/nginx/client_temp/0000000002 (deleted) >> >> Есть ли возможность отключения полной буферизации проксируемого запроса >> на >> прокси-машине? т.е. чтобы nginx буферизовал, например, часть запроса от >> клиента, затем открывал соединение с бэкендом и неспеша, кусочек за >> кусочком >> передавал данные от клиента бэкенду. > > Нет, такой возможности в настоящий момент нет. > -- With best regards, Eugene JONIK Peregudov mailto: eugene.peregudov at gmail.com From maxim at nginx.com Wed Mar 25 09:22:37 2015 From: maxim at nginx.com (Maxim Konovalov) Date: Wed, 25 Mar 2015 12:22:37 +0300 Subject: nginx-1.7.11 In-Reply-To: References: <20150324162213.GU88631@mdounin.ru> <20150324190700.GZ88631@mdounin.ru> Message-ID: <55127E5D.1030402@nginx.com> On 3/24/15 10:42 PM, Sargas wrote: > Благодарю. > >>Отправка файлов в многопоточном режиме поддерживается только на Linux. > А на FreeBSD планируется поддержка? Видимо есть какие-то нюансы в > ядре которые это сейчас не позволяют реализовать? > Что такое "отправка файлов" я доподлинно не знаю, но поддержка системного вызова sendfile(2) в тредах на FreeBSD планируется. -- Maxim Konovalov http://nginx.com From nginx-forum at nginx.us Wed Mar 25 12:41:00 2015 From: nginx-forum at nginx.us (oamakarov) Date: Wed, 25 Mar 2015 08:41:00 -0400 Subject: =?UTF-8?B?bmdpbngg0LHQsNC70LDQvdGB0LjRgNC+0LLQutCw?= Message-ID: Добрый день. Есть задача: запрос идет на сервер, где nginx балансирует в зависимости от ip адреса. Если ip адрес из списка, то запрос идет дальше на сервер1, если нет то запрос идет дальше на один из серверов(сервер2,сервер3), которые между собой балансируются. Как бы это реализовать, друзья? ## one backend ## upstream apachereadonly { server 10.10.11.10:443; server 10.10.11.11:443; ip_hash; } ## two backend ## upstream apachereadwrite { server 10.10.11.12:443; } ## config ## location / { proxy_set_header Accept-Encoding ""; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-By $server_addr:$server_port; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; ## default backend proxy_pass https://serverone.com; ## send traffic to TWO backend if ip is 1.2.3.4 ## if ( $remote_addr ~* 1.2.3.4 ) { proxy_pass https://servertwo.com; } proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; } Как вместо 1.2.3.4 указать пул адресов? Правильно ли выглядит конфиг, и то что я хочу получить будет работать по такой схеме? Удобнее ли вместо Ip_hash использовать sticky module ? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257673,257673#msg-257673 From nginx-forum at nginx.us Wed Mar 25 13:15:57 2015 From: nginx-forum at nginx.us (oamakarov) Date: Wed, 25 Mar 2015 09:15:57 -0400 Subject: =?UTF-8?B?UmU6IG5naW54INCx0LDQu9Cw0L3RgdC40YDQvtCy0LrQsA==?= In-Reply-To: References: Message-ID: Кроме того, как должна выглядеть конфигурация на хостах, чтобы между ними тоже был свой балансер? server 10.10.11.10:443; server 10.10.11.11:443; Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257673,257674#msg-257674 From nginx-forum at nginx.us Wed Mar 25 15:10:28 2015 From: nginx-forum at nginx.us (skeletor) Date: Wed, 25 Mar 2015 11:10:28 -0400 Subject: =?UTF-8?B?UmU6INC/0YDQvtC60YHQuNGA0L7QstCw0L3QuNC1INCx0L7Qu9GM0YjQuNGFINGE?= =?UTF-8?B?0LDQudC70L7Qsg==?= In-Reply-To: References: Message-ID: А не смотрели в сторону upload-module+upload-progress-module? А прокси и бэкенд связать через NFS. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,251491,257679#msg-257679 From pluknet at nginx.com Wed Mar 25 15:53:46 2015 From: pluknet at nginx.com (Sergey Kandaurov) Date: Wed, 25 Mar 2015 18:53:46 +0300 Subject: =?UTF-8?B?UmU6INC/0YDQvtC60YHQuNGA0L7QstCw0L3QuNC1INCx0L7Qu9GM0YjQuNGFINGE?= =?UTF-8?B?0LDQudC70L7Qsg==?= In-Reply-To: References: <20140707135749.GE1849@mdounin.ru> Message-ID: <355AB681-729D-4F56-B367-CDD0A2F3BC8E@nginx.com> On Mar 25, 2015, at 10:24 AM, Eugene Peregudov wrote: > Добрый день! > > Прочитал список добавлений в nginx 1.7.11, правильно я понимаю что директивы > > proxy_request_buffering off > fastcgi_request_buffering off > > отключают полную буферизацию запроса клиента, что поможет в решении нижеописанной проблемы? > Верно. Подробнее тут: http://nginx.org/r/proxy_request_buffering/ru http://nginx.org/r/fastcgi_request_buffering/ru -- Sergey Kandaurov From postmaster at softsearch.ru Wed Mar 25 16:08:28 2015 From: postmaster at softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Wed, 25 Mar 2015 19:08:28 +0300 Subject: nginx-1.7.11 In-Reply-To: <20150324190700.GZ88631@mdounin.ru> References: <20150324162213.GU88631@mdounin.ru> <20150324190700.GZ88631@mdounin.ru> Message-ID: <574787503.20150325190828@softsearch.ru> Здравствуйте, Maxim. >> Расскажите, пожалуйста, подробнее про >> >> *) Добавление: экспериментальная поддержка потоков. >> >> Предполагаю что в каждом child процессе nginx'а теперь несколько thread'ов >> будет? > Появились вспомогательные thread'ы, используемые для выполнения > длительных операций (чтения файлов, и их отправки с помощью вызова > sendfile). Подробнее тут: > http://nginx.org/ru/docs/http/ngx_http_core_module.html#aio А чем они лучше aio-тредов операционки? -- С уважением, Михаил mailto:postmaster at softsearch.ru From postmaster at softsearch.ru Wed Mar 25 16:10:54 2015 From: postmaster at softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Wed, 25 Mar 2015 19:10:54 +0300 Subject: nginx-1.7.11 In-Reply-To: <55127E5D.1030402@nginx.com> References: <20150324162213.GU88631@mdounin.ru> <20150324190700.GZ88631@mdounin.ru> <55127E5D.1030402@nginx.com> Message-ID: <1651134245.20150325191054@softsearch.ru> Здравствуйте, Maxim. >>>Отправка файлов в многопоточном режиме поддерживается только на >>>Linux. >> А на FreeBSD планируется поддержка? Видимо есть какие-то нюансы в >> ядре которые это сейчас не позволяют реализовать? >> > Что такое "отправка файлов" я доподлинно не знаю Максим, обратитесь к документации: http://nginx.org/ru/docs/http/ngx_http_core_module.html#aio "Кроме того, читать и ОТПРАВЛЯТЬ файлы можно в многопоточном режиме" :-) -- С уважением, Михаил mailto:postmaster at softsearch.ru From maxim at nginx.com Wed Mar 25 16:42:11 2015 From: maxim at nginx.com (Maxim Konovalov) Date: Wed, 25 Mar 2015 19:42:11 +0300 Subject: nginx-1.7.11 In-Reply-To: <574787503.20150325190828@softsearch.ru> References: <20150324162213.GU88631@mdounin.ru> <20150324190700.GZ88631@mdounin.ru> <574787503.20150325190828@softsearch.ru> Message-ID: <5512E563.5030808@nginx.com> On 3/25/15 7:08 PM, Михаил Монашёв wrote: > Здравствуйте, Maxim. > >>> Расскажите, пожалуйста, подробнее про >>> >>> *) Добавление: экспериментальная поддержка потоков. >>> >>> Предполагаю что в каждом child процессе nginx'а теперь несколько thread'ов >>> будет? > >> Появились вспомогательные thread'ы, используемые для выполнения >> длительных операций (чтения файлов, и их отправки с помощью вызова >> sendfile). Подробнее тут: > >> http://nginx.org/ru/docs/http/ngx_http_core_module.html#aio > > А чем они лучше aio-тредов операционки? > Ну например тем, что нет возможности выполнить sendfile(2) (в некоторых источниках известен как "отправка файла"). в контексте aio-тредов операционки. Или, скажем, использование сисколлов семейства aio влечет за собой на некоторых операционках странное: http://nginx.org/r/directio Да и само это семейство довольно ограничено. Например, aio_readdir() или aio_open() вряд ли будут представлены в современных операционках в ближайшее время, зато userland треды могут такие задачи решать вполне эффективно. -- Maxim Konovalov http://nginx.com From mdounin at mdounin.ru Wed Mar 25 19:30:28 2015 From: mdounin at mdounin.ru (Maxim Dounin) Date: Wed, 25 Mar 2015 22:30:28 +0300 Subject: nginx-1.7.11 In-Reply-To: References: <20150324162213.GU88631@mdounin.ru> <20150324190700.GZ88631@mdounin.ru> Message-ID: <20150325193028.GB88631@mdounin.ru> Hello! On Tue, Mar 24, 2015 at 09:42:19PM +0200, Sargas wrote: > Благодарю. > > >Отправка файлов в многопоточном режиме поддерживается только на Linux. > А на FreeBSD планируется поддержка? Видимо есть какие-то нюансы в ядре > которые это сейчас не позволяют реализовать? На FreeBSD планируется совсем новый sendfile() by glebius@, который сделает это ненужным (т.к. сам вызов sendfile() не будет ждать выполнения ввода-вывода, а будет лишь запускать на выполнение соответствующее задание). Сделать вызов sendfile() в тредах на FreeBSD тоже - не проблема, но не совсем ясно, нужно ли. В планах - сделать патч и для начала погонять тесты. (Ну и вообще, на самом деле, треды - это в первую очередь нужная для линукса функциональность, т.к. там нормально не работает AIO, требет directio.) -- Maxim Dounin http://nginx.org/ From nginx-forum at nginx.us Thu Mar 26 16:51:32 2015 From: nginx-forum at nginx.us (sms9) Date: Thu, 26 Mar 2015 12:51:32 -0400 Subject: =?UTF-8?B?cHJveHkgcGFzcyDQmNC30LzQtdC90LXQvdC40LUg0LfQsNCz0L7Qu9C+0LLQutC+?= =?UTF-8?B?0LIg0L7RgtCy0LXRgtCw?= Message-ID: Доброго времени суток. Нужна помощь. Для дебага использую proxy_pass - для транслирования ответа сервера. Так же стоит параметр: proxy_cookie_domain ~.* 127.0.0.1; Но сервер в некоторых случаях выдает заголовок: Set-Cookie:Auth=76cbe7ae-8650-4166-af17-f6ea16690cf8; Domain=...; Path=/; Secure И кука ставитса только для https. Мне нужно эту куку поставить для http То есть мне нужно ка кто убрать Secure с заголовка, или может есть какойто механизм который будет транслировать куку с https как для http Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257702,257702#msg-257702 From nginx-forum at nginx.us Fri Mar 27 14:40:54 2015 From: nginx-forum at nginx.us (itpp2012) Date: Fri, 27 Mar 2015 10:40:54 -0400 Subject: =?UTF-8?B?UmU6IG5naW54INC4INGB0LXRgtC10LLRi9C1INC/0LDQv9C60Lg=?= In-Reply-To: References: Message-ID: <310f59f1a000f4365c1c02b64574993e.NginxMailingListRussian@forum.nginx.org> Когда Nginx начинает сетевой диск должен быть доступен, или попытаться получить доступ к ресурсу напрямую, шт; root //192.168.11.22/path/......; Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257586,257714#msg-257714 From nginx-forum at nginx.us Sat Mar 28 05:47:43 2015 From: nginx-forum at nginx.us (sion999) Date: Sat, 28 Mar 2015 01:47:43 -0400 Subject: =?UTF-8?B?UmU6IG5naW54INC4INGB0LXRgtC10LLRi9C1INC/0LDQv9C60Lg=?= In-Reply-To: <310f59f1a000f4365c1c02b64574993e.NginxMailingListRussian@forum.nginx.org> References: <310f59f1a000f4365c1c02b64574993e.NginxMailingListRussian@forum.nginx.org> Message-ID: Не работает. В свойствах папки владелец ВСЕ и полный доступ на чтение и запись к папке video_multik. КОНФИГ: location /video/m/fs/ { root //192.168.xxx.xx/video_multik/; index index.html index.htm; .... ЛОГ: 2015/03/28 07:43:39 [error] 8792#4468: *10 CreateFile() "//192.168.xxx.xx/video_multik/video/m/fs/index.html" failed (5: Access is denied), client: xx.xxx.xx.xx, server: localhost, request: "GET /video/m/fs/index.html HTTP/1.1", host: "site.com" Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257586,257725#msg-257725 From chipitsine at gmail.com Sat Mar 28 08:46:08 2015 From: chipitsine at gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Sat, 28 Mar 2015 13:46:08 +0500 Subject: =?UTF-8?B?UmU6IG5naW54INC4INGB0LXRgtC10LLRi9C1INC/0LDQv9C60Lg=?= In-Reply-To: References: <310f59f1a000f4365c1c02b64574993e.NginxMailingListRussian@forum.nginx.org> Message-ID: включите аудит на доступ к папке 2015-03-28 10:47 GMT+05:00 sion999 : > Не работает. > В свойствах папки владелец ВСЕ и полный доступ на чтение и запись к папке > video_multik. > > КОНФИГ: > location /video/m/fs/ { > root //192.168.xxx.xx/video_multik/; > index index.html index.htm; > .... > > ЛОГ: > 2015/03/28 07:43:39 [error] 8792#4468: *10 CreateFile() > "//192.168.xxx.xx/video_multik/video/m/fs/index.html" failed (5: Access is > denied), client: xx.xxx.xx.xx, server: localhost, request: "GET > /video/m/fs/index.html HTTP/1.1", host: "site.com" > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257586,257725#msg-257725 > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From nginx-forum at nginx.us Sat Mar 28 10:22:59 2015 From: nginx-forum at nginx.us (itpp2012) Date: Sat, 28 Mar 2015 06:22:59 -0400 Subject: =?UTF-8?B?UmU6IG5naW54INC4INGB0LXRgtC10LLRi9C1INC/0LDQv9C60Lg=?= In-Reply-To: References: <310f59f1a000f4365c1c02b64574993e.NginxMailingListRussian@forum.nginx.org> Message-ID: Сделать пользователя на удаленном ресурс с достаточно прав с тем же паролем nginx использует. NAS: user1 / pass1 <=> nginx: user1 / pass1 (nginx работает как user1) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257586,257728#msg-257728 From v.v.biriukov at gmail.com Mon Mar 30 20:19:17 2015 From: v.v.biriukov at gmail.com (Viacheslav Biriukov) Date: Mon, 30 Mar 2015 23:19:17 +0300 Subject: =?UTF-8?B?0JHQvtC70YzRiNC+0LkgUE9TVCDQt9Cw0L/RgNC+0YEg0Lgg0LzQs9C90L7QstC1?= =?UTF-8?B?0L3QvdGL0Lkg0YDQtdC00LjRgNC10LrRgg==?= Message-ID: Привет, Вопрос следующий: есть клиентское приложение (сайт), которое отсылает большие (~50MB) посты мультипартом. Хочется на некоторые отсылать редирект: 302 или 307 - не имеет значения. Но сразу, а не зачитывая/буферезируя реквест боди на прокси. Можно? Спасибо -- Viacheslav Biriukov BR -------------- next part -------------- An HTML attachment was scrubbed... URL: From postmaster at softsearch.ru Mon Mar 30 21:02:52 2015 From: postmaster at softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Tue, 31 Mar 2015 00:02:52 +0300 Subject: =?UTF-8?B?UmU6INCR0L7Qu9GM0YjQvtC5IFBPU1Qg0LfQsNC/0YDQvtGBINC4INC80LPQvdC+?= =?UTF-8?B?0LLQtdC90L3Ri9C5INGA0LXQtNC40YDQtdC60YI=?= In-Reply-To: References: Message-ID: <649024984.20150331000252@softsearch.ru> Здравствуйте, Viacheslav. > Вопрос следующий: есть клиентское приложение (сайт), которое > отсылает большие (~50MB) посты мультипартом. Хочется на некоторые > отсылать редирект: 302 или 307 √ не имеет значения. Но сразу, а не > зачитывая/буферезируя реквест боди на прокси. Можно? Могу ошибаться, но по протоколу http 1 ответ отправляется после получения всего запроса. Т.е. нельзя. -- С уважением, Михаил mailto:postmaster at softsearch.ru From pavel2000 at ngs.ru Tue Mar 31 05:22:17 2015 From: pavel2000 at ngs.ru (Pavel V.) Date: Tue, 31 Mar 2015 11:22:17 +0600 Subject: =?UTF-8?B?UmU6INCR0L7Qu9GM0YjQvtC5IFBPU1Qg0LfQsNC/0YDQvtGBINC4INC80LPQvdC+?= =?UTF-8?B?0LLQtdC90L3Ri9C5INGA0LXQtNC40YDQtdC60YI=?= In-Reply-To: <649024984.20150331000252@softsearch.ru> References: <649024984.20150331000252@softsearch.ru> Message-ID: <319685874.20150331112217@ngs.ru> Здравствуйте, Михаил. Вы писали 31 марта 2015 г., 3:02:52: > Здравствуйте, Viacheslav. >> Вопрос следующий: есть клиентское приложение (сайт), которое >> отсылает большие (~50MB) посты мультипартом. Хочется на некоторые >> отсылать редирект: 302 или 307 √ не имеет значения. Но сразу, а не >> зачитывая/буферезируя реквест боди на прокси. Можно? Как должны определяться эти самые "некоторые" ? > Могу ошибаться, но по протоколу http 1 ответ отправляется после > получения всего запроса. Т.е. нельзя. А 413 (Request Entity Too Large) когда отправляется? Тоже после получения всего запроса? -- С уважением, Pavel mailto:pavel2000 at ngs.ru From simplebox66 at gmail.com Tue Mar 31 06:03:16 2015 From: simplebox66 at gmail.com (=?UTF-8?B?0JjQstCw0L0g0JzQuNGI0LjQvQ==?=) Date: Tue, 31 Mar 2015 09:03:16 +0300 Subject: =?UTF-8?B?TG9jYXRpb24g0LTQu9GPIHBocCDRgdC60YDQuNC/0YLQsCDRgSDQv9Cw0YDQsNC8?= =?UTF-8?B?0LXRgtGA0LDQvNC4?= Message-ID: Добрый день! Есть сайт где переход по страничкам осуществляется с помощью дерганья php скрипта с различными параметрами. Например /index.php?param1=a¶m2=b¶mN=N Мне надо повесить auth_basic на определенные странички, то есть на запуск php скрипта с определенными параметрами. Как это реализовать? Я так понимаю что надо создать определенный локейшн и на него навесить авторизацию, но как в этом локейшене описать php скрипт с определенными параметрами? -------------- next part -------------- An HTML attachment was scrubbed... URL: From chipitsine at gmail.com Tue Mar 31 10:10:06 2015 From: chipitsine at gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Tue, 31 Mar 2015 15:10:06 +0500 Subject: =?UTF-8?B?UmU6INCR0L7Qu9GM0YjQvtC5IFBPU1Qg0LfQsNC/0YDQvtGBINC4INC80LPQvdC+?= =?UTF-8?B?0LLQtdC90L3Ri9C5INGA0LXQtNC40YDQtdC60YI=?= In-Reply-To: <319685874.20150331112217@ngs.ru> References: <649024984.20150331000252@softsearch.ru> <319685874.20150331112217@ngs.ru> Message-ID: в зависимости от того, есть поддержка Expect: 100-Continue Или нет. если есть, то можно (получив длину запроса) тут же отшить. если нет, то только в конце 31 марта 2015 г., 10:22 пользователь Pavel V. написал: > Здравствуйте, Михаил. > > Вы писали 31 марта 2015 г., 3:02:52: > >> Здравствуйте, Viacheslav. > >>> Вопрос следующий: есть клиентское приложение (сайт), которое >>> отсылает большие (~50MB) посты мультипартом. Хочется на некоторые >>> отсылать редирект: 302 или 307 √ не имеет значения. Но сразу, а не >>> зачитывая/буферезируя реквест боди на прокси. Можно? > > Как должны определяться эти самые "некоторые" ? > >> Могу ошибаться, но по протоколу http 1 ответ отправляется после >> получения всего запроса. Т.е. нельзя. > > А 413 (Request Entity Too Large) когда отправляется? Тоже после получения всего запроса? > > > -- > С уважением, > Pavel mailto:pavel2000 at ngs.ru > > _______________________________________________ > nginx-ru mailing list > nginx-ru at nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From gmm at csdoc.com Tue Mar 31 10:28:29 2015 From: gmm at csdoc.com (Gena Makhomed) Date: Tue, 31 Mar 2015 13:28:29 +0300 Subject: =?UTF-8?B?UmU6INCR0L7Qu9GM0YjQvtC5IFBPU1Qg0LfQsNC/0YDQvtGBINC4INC80LPQvdC+?= =?UTF-8?B?0LLQtdC90L3Ri9C5INGA0LXQtNC40YDQtdC60YI=?= In-Reply-To: <319685874.20150331112217@ngs.ru> References: <649024984.20150331000252@softsearch.ru> <319685874.20150331112217@ngs.ru> Message-ID: <551A76CD.4020108@csdoc.com> On 31.03.2015 8:22, Pavel V. wrote: >>> Вопрос следующий: есть клиентское приложение (сайт), которое >>> отсылает большие (~50MB) посты мультипартом. Хочется на некоторые >>> отсылать редирект: 302 или 307 √ не имеет значения. Значение имеет, потому что после 302 редиректа POST превратится в GET. >>> Но сразу, а не зачитывая/буферезируя реквест боди на прокси. Можно? Можно без проблем, если клиент работает по протоколу HTTP/1.1 и поддерживает Expect / Continue: http://blog.eexit.net/curl-forward-post-over-http-redirections/ >> Могу ошибаться, но по протоколу http 1 ответ >> отправляется после получения всего запроса. Даже в самом худшем случае - ничто не запрещает получить весь запрос (~50MB) и в ответ на него вернуть клиенту редирект. > А 413 (Request Entity Too Large) когда отправляется? Тоже после получения всего запроса? в 2007 году ситуация была такой: http://sysoev.ru/web/upload.html Почему невозможно корректно ограничить размер закачиваемого файла -- Best regards, Gena From nginx-forum at nginx.us Tue Mar 31 11:36:18 2015 From: nginx-forum at nginx.us (d.v.biryukov) Date: Tue, 31 Mar 2015 07:36:18 -0400 Subject: =?UTF-8?B?0JTQuNC90LDQvNC40YfQvdC+0LUg0LLRgNC10LzRjyB0aW1lb3V0?= Message-ID: всем весеннего солнечного! народ, подскажите, может кто знает пытаюсь сделать такой трюк map $remote_addr $timeoutlimit { default 900; 127.0.0.1 1900; } proxy_connect_timeout·······$timeoutlimit; proxy_send_timeout······$timeoutlimit; proxy_read_timeout······$timeoutlimit; но зараза ругается... не комильфо говорит юзать переменную в proxy_connect_timeout и им подобным ((( как бы поступить? есть идеи? мне с одного хоста надо таймауты бы увеличить так как там обмен происходит и он обрывается по 504 timeout ( спасибо! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257773,257773#msg-257773 From andrey at kopeyko.ru Tue Mar 31 21:15:24 2015 From: andrey at kopeyko.ru (Andrey Kopeyko) Date: Wed, 01 Apr 2015 00:15:24 +0300 Subject: =?UTF-8?B?UmU6IExvY2F0aW9uINC00LvRjyBwaHAg0YHQutGA0LjQv9GC0LAg0YEg0L/QsNGA?= =?UTF-8?B?0LDQvNC10YLRgNCw0LzQuA==?= In-Reply-To: References: Message-ID: <551B0E6C.9090801@kopeyko.ru> 31.03.2015 09:03, Иван Мишин пишет: > Добрый день! Добрый день, иван! > Есть сайт где переход по страничкам осуществляется с помощью дерганья > php скрипта с различными параметрами. > Например /index.php?param1=a¶m2=b¶mN=N > Мне надо повесить auth_basic на определенные странички, то есть на > запуск php скрипта с определенными параметрами. Как это реализовать? > Я так понимаю что надо создать определенный локейшн и на него навесить > авторизацию, но как в этом локейшене описать php скрипт с определенными > параметрами? Вам надо описать 2 локейшена - в оном вы обрабатываете *.php -- и при отпределённых параметрах - делаете внутренний редирект на второй локейшен - второй локейшен помечен "internal", и в нём вы требуете аутентификацию пользователя. > -- Best regards, Andrey Kopeyko