Limit connections to endpoint

Hello,

I have a situation: opening an endpoint under location: /api/info uses a
lot
of resources. If ~20 people open it, the service goes down. For a
several
months it is impossible to improve ‘info’ to not kill the servce, so I
have
to “repair” it in other way.

It would be perfect if in nginx could limit connections to ~10
requests/seconf, from all IP to this specific endpoint. Is it possible?

Posted at Nginx Forum:

On Thursday 17 July 2014 05:34:19 vocativus wrote:

Hello,

I have a situation: opening an endpoint under location: /api/info uses a lot
of resources. If ~20 people open it, the service goes down. For a several
months it is impossible to improve ‘info’ to not kill the servce, so I have
to “repair” it in other way.

It would be perfect if in nginx could limit connections to ~10
requests/seconf, from all IP to this specific endpoint. Is it possible?

http://nginx.org/en/docs/http/ngx_http_limit_req_module.html

wbr, Valentin V. Bartenev

ok I found that yesterday, and as a variable in limit_req_zone I should
use
some constant eg: set $con 10;

and it looks like:

set $con 10;
limit_req_zone $con zone=one:15m rate=10r/s;

and it should work as I want? Aking, because I’m testnig it now, and it
dont
work properly.

Posted at Nginx Forum:

On Thursday 17 July 2014 06:57:51 vocativus wrote:

ok I found that yesterday, and as a variable in limit_req_zone I should use
some constant eg: set $con 10;

and it looks like:

set $con 10;
limit_req_zone $con zone=one:15m rate=10r/s;

You don’t need “set” to create a constant. There are already a few
constants
always available like $nginx_version.

http://nginx.org/en/docs/http/ngx_http_core_module.html#variables

and it should work as I want? Aking, because I’m testnig it now, and it dont
work properly.

Could you elaborate what’s the problem, and provide your configuration?

wbr, Valentin V. Bartenev