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

Francis Daly francis at daoine.org
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
> (https://github.com/yaoweibin/nginx_limit_speed_module),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.

	f
-- 
Francis Daly        francis at daoine.org



More information about the nginx mailing list