How can I limit the total speed of a port or domain name?

Francis Daly francis at
Fri Apr 5 08:06:20 UTC 2013

On Thu, Apr 04, 2013 at 10:29:01PM -0400, tssungeng wrote:

Hi there,

> I use the limit_speed_zone
> (,and set the
> nginx.conf:

Ok, this third party module looks like it should do what you want,
according to its description.

> http {
>     limit_speed_zone one $server_port 10m;
>     server {
>         listen       8080;
>         server_name  localhost;
>         location / {
>             root   /opt/case/web/www;
>             index  index.html index.htm index.php;
>             limit_speed one 10k;
>         }
>     }
> }
> The uper setting can limit the speed to 10K per IP.

I don't see anything there which says "per IP".

It looks like what is above will limit the speed per server_port, which
is one of the things you wanted.

Does it not work for you?

What does it do?

> and then ,i try the HttpLimitConnModule:

That can limit the number of connections, not the speed directly.

> http {
>     limit_conn_zone $server_port zone=addr:10m;

Here you *define* this zone, but you don't have any limit_conn directive
to *use* the zone, so you have no limit on the number of connections.

> The uper setting can limit the speed to 20K per connetction.and if a IP open
> 5 thread for conn,then ,the IP can download 100K/s from my nginx.

Yes, that's what limit_rate is expected to do.

> the nginx.conf of my Nginx with some error?

The third-party module config looks like it should be right, and should
do what you want. The stock module config won't do what you want.

Francis Daly        francis at

More information about the nginx mailing list