ограничение скорости
limit_rate устанавливает ограничения только для конкретного пользователя. Есть ли возможность хоть как то ограничить общую скорость для всех пользователей на уровне location или server? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,240203,240203#msg-240203 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
limit request and real ip
Добрый день! 1. Допустим дано: http { ... set_real_ip_from 10.0.0.0/8; real_ip_header X-Forwarded-For; limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; ... } значит ли это что у меня в $binary_remote_addr будет реальный ip клиента? или все же ip будет из сети 10.0.0.0/8 ? 2. Если все же второе, то верно ли что мне следует описывать зону как описанно ниже? http { ... limit_req_zone $http_x_forwarded_for zone=one:10m rate=1r/s; ... } Спасибо! -- Yours sincerely, Vladimir Getmanshchuk ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: limit request and real ip
Hello! On Wed, Jun 19, 2013 at 01:39:55PM +0300, Vladimir Getmanshchuk wrote: > Добрый день! > > 1. Допустим дано: > http { > ... > > set_real_ip_from 10.0.0.0/8; > real_ip_header X-Forwarded-For; > > limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; > ... > } > значит ли это что у меня в $binary_remote_addr будет реальный ip клиента? > или все же ip будет из сети 10.0.0.0/8 ? Реальный ip. -- Maxim Dounin http://nginx.org/en/donation.html ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Балансировка и докачка файла
расскажите в деталях, как именно у вас работает передача файла по частям ? 19 июня 2013 г., 2:43 пользователь vlastv написал: > Возник теоретический вопрос. > Есть структура, что nginx выступает в качестве балансировщика, и передает > запросы на другие сервера. > А теперь процесс: > 1 запрос от клиента о начале передачи файла по частам, допустим nginx > передал его на server1 > 2 запрос - продолжение передачи файла, я так понимаю, nginx может его > передать на server2 > > Но server2 не имеет информации о предыдущем запросе, и просто не знает что с > ним делать. > > Какими средствами можно обеспечить гарантированую отправку двух и более > запросов от одного клиента на один сервер, допустим с задержкой в минут 10? > Т.е. по истечению 10 минут, если от клиента не поступали запросы, то > последующие его запросы можно вновь посылать на любой сервер. > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,240198,240198#msg-240198 > > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Балансировка и докачка файла
nginx upload module Posted at Nginx Forum: http://forum.nginx.org/read.php?21,240198,240218#msg-240218 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Балансировка и докачка файла
19.06.2013 0:43, vlastv пишет: Но server2 не имеет информации о предыдущем запросе, и просто не знает что с ним делать. ip_hash? ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Модуль для доступа к базе данных, но без ngx_http_upstream_t
Привет всем, Я написал nginx модуль, для доступа к базе данных Couchbase[1]. Этот модуль получился немного не обычным: 1) используется библиотека libcouchbase, которая сама рулит установкой обработчиков на события, и выполнением собственно IO из них. Так что пришлось написать плагин[3], который подставляет функции nginx в виде, удобном для libcouchbase. 2) частично потому что IO выполняется внутри libcouchbase, как и маршрутизация запроса в кластер (основанная на хешировании ключа), пришлось отказаться от использования ngx_http_upstream_t (хотя тут я могу ошибаться). Кроме того libcouchbase может асинхронно получить по конфигурационному сокету информацию об изменении топологии кластера, и закрыть часть рабочих сокетов, и подготовить к открытию по требованию новые. В ходе тестирование оказалось, что моя реализация неплохо работает как с под-запросами из других модулей, так и обычными прямыми запросами. Но всё же нашёлся случай, когда модуль (к его исходникам у меня нет доступа) делает позапрос в мой, и рассчитывает, что в можно будет получить содержимое результата через r->upstream->buffer или статус через r->upstream->state->status. Собственно вопрос, может ли существовать модуль в экосистеме nginx, который не заполняет r->upstream в обработчике? [1]: https://github.com/couchbaselabs/couchbase-nginx-module [2]: https://github.com/couchbaselabs/couchbase-nginx-module/blob/master/src/ngx_lcb_plugin.c -- Sergey Avseyev ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Модуль для доступа к базе данных, но без ngx_http_upstream_t
Hello! On Wed, Jun 19, 2013 at 08:15:21PM +0300, Sergey Avseyev wrote: > Привет всем, > > Я написал nginx модуль, для доступа к базе данных Couchbase[1]. Этот > модуль получился немного не обычным: > > 1) используется библиотека libcouchbase, которая сама рулит установкой > обработчиков на события, и выполнением собственно IO из них. Так что > пришлось написать плагин[3], который подставляет функции nginx в виде, > удобном для libcouchbase. > > 2) частично потому что IO выполняется внутри libcouchbase, как и > маршрутизация запроса в кластер (основанная на хешировании ключа), > пришлось отказаться от использования ngx_http_upstream_t (хотя тут я > могу ошибаться). Кроме того libcouchbase может асинхронно получить по > конфигурационному сокету информацию об изменении топологии кластера, и > закрыть часть рабочих сокетов, и подготовить к открытию по требованию > новые. > > В ходе тестирование оказалось, что моя реализация неплохо работает как > с под-запросами из других модулей, так и обычными прямыми запросами. > Но всё же нашёлся случай, когда модуль (к его исходникам у меня нет > доступа) делает позапрос в мой, и рассчитывает, что в можно будет > получить содержимое результата через r->upstream->buffer или статус > через r->upstream->state->status. Видимо, речь идёт про функциональность subrequest_in_memory, которая в коробке используется для ssi-команды include с параметром set (http://nginx.org/en/docs/http/ngx_http_ssi_module.html#commands). Оно имеет ограниченную область применимости (читай: работает только с proxy и memcached). > Собственно вопрос, может ли существовать модуль в экосистеме nginx, > который не заполняет r->upstream в обработчике? Да. Более того - большинство модулей даже и не пытаются этого делать, простой пример - модуль static. Если хочется, чтобы упомянутый выше случай правильно отражался в логах - можно подсмотреть соответствующую проверку e.g. в модуле fastcgi. -- Maxim Dounin http://nginx.org/en/donation.html ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru