Добрый день. Была задача ограничить кол-во запросов к бэкенду. Например, чтобы одновременно не поступало более 1 запроса. Остальные запросы, пока работает бэкенд, могли отваливаться по ошибке, это не страшно. С помощью Perl я устанавливал переменную, которая показывала идет ли запрос для проксирования на бэкенд или нет. И эту переменную использовал в качестве ключа для http://nginx.org/ru/docs/http/ngx_http_limit_conn_module.html#limit_conn_zone
perl_set $service_hit ' sub { my $r = shift; if($r->uri =~ m|^/services/post|){ return "services"; } else { return ""; } } '; limit_conn_zone "$service_hit" zone=perservice:10m; Потом перед проксированием на бэкенд (в location) использовал ограничениие http://nginx.org/ru/docs/http/ngx_http_limit_conn_module.html#limit_conn limit_conn perservice 1; Все отлично работает, но только первые 30-60 минут, потом nginx для всех запросов возвращает 503 ошибку, т.е. счетчик не сбрасывается. Если остановить-запустить nginx, то опять какое-то время все работает корректно. В чем может быть проблема? Спасибо. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,258140,258140#msg-258140 _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru