Hi Francis,

Thanks a lot! You saved me probably a couple of days of research. It is working now!

I did this:

The user will send my a "capacity" parameter, with a value of 2X or 3X or 4X or......(etc)

map $arg_capacity $2X_key{~*2X $http_x_forwarded_for;default "";}

map $arg_capacity $3X_key{~*3X $http_x_forwarded_for;default "";}

map $arg_capacity $4X_key{~*4X $http_x_forwarded_for;default "";}

map $arg_capacity $5X_key{~*5X $http_x_forwarded_for;default "";}

map $arg_capacity $6X_key{~*6X $http_x_forwarded_for;default "";}

map $arg_capacity $7X_key{~*7X $http_x_forwarded_for;default "";}

map $arg_capacity $8X_key{~*8X $http_x_forwarded_for;default "";}

map $arg_capacity $9X_key{~*9X $http_x_forwarded_for;default "";}

map $arg_capacity $10X_key{~*10X $http_x_forwarded_for;default "";}

limit_req_zone $2X_key zone=2X:1m rate=600r/m;

limit_req_zone $3X_key zone=3X:1m rate=900r/m;

limit_req_zone $4X_key zone=4X:1m rate=1200r/m;

limit_req_zone $5X_key zone=5X:1m rate=1500r/m;

limit_req_zone $6X_key zone=6X:1m rate=1800r/m;

limit_req_zone $7X_key zone=7X:1m rate=2100r/m;

limit_req_zone $8X_key zone=8X:1m rate=2400r/m;

limit_req_zone $9X_key zone=9X:1m rate=2700r/m;

limit_req_zone $10X_key zone=10X:1m rate=3000r/m;

limit_req zone=2X burst=600;

limit_req zone=3X burst=900;

limit_req zone=4X burst=1200;

limit_req zone=5X burst=1500;

limit_req zone=6X burst=1800;

limit_req zone=7X burst=2100;

limit_req zone=8X burst=2400;

limit_req zone=9X burst=2700;

limit_req zone=10X burst=3000;