Francis Daly£¨

      extremely appreciative of your feedback.

     Any suggestion for third-party module that does some form of internal bandwidth limiting? 


------------------ Original ------------------
From: "nginx" <>;
Date: Thu, Dec 23, 2021 07:47 AM
To: "nginx"<>;
Subject: Re: bandwidth limit for specific server

On Sat, Dec 18, 2021 at 01:37:11PM +0800, huiming wrote:

Hi there,

>   Is it possible to limit total bandwidth for server?

Using only stock nginx, I believe the answer is "yes, but not in a way
that you would want; so effectively no".

You can limit the number of concurrent (active) connections; you can
limit the rate of requests that nginx will process; and you can limit
the response bandwidth for each request.

By combining those, you can put an upper limit on the response bandwidth;
but I suspect that it is unlikely to be useful for you.

You might be happier looking for a third-party module that does some
form of internal bandwidth limiting; or use something outside of nginx
to limit the bandwidth.

The latter would probably be simpler if your chosen server_name was
the only one this nginx handled; or if the IP address were dedicated to
this server_name -- in those cases, the external thing would not need to
know much (or anything?) about what nginx is doing; it could just handle
"traffic from this process group", or "traffic from this IP address".

>   server {
>     listen   443 ssl;
>     server_name x.x.x.x.x;
>     is it possible to limit total bandwidth for this server to for example 5M ? not to limit TCP connection bandwidth. need total bandwidth.

It is using the TCP connection bandwidth limit; but if you were to
"limit_rate" to 1m and "limit_req" to 5 r/s, then you would not use
more than 5M (bps) -- but you would probably normally end up using less
than that; because individual requests would not use 5, while multiple
requests would probably lead to lots of small failure responses.

Good luck with it,

Francis Daly
nginx mailing list