help about limit_req

fhal meteor8488 at
Wed Jul 18 06:20:09 UTC 2012

Hi All,
In the pass several days my server was under attack.
Someone are using WebBench to test my website, and it takes up all my server CPU resources.
So I'm wondering to use  limit_req to limit the request frequency.

I have 3 important php files -- portal.php forum.php home.php, they are in the root directory of my website, the URL like below:******

And I also created below rules for URL rewrite in NGINX:
            rewrite ^([^\.]*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2 last;
            rewrite ^([^\.]*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
            rewrite ^([^\.]*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;
            rewrite ^([^\.]*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3 last;
            rewrite ^([^\.]*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3 last;
For now, the problem for me is, if I put below codes in NGINX, then my php file will stop execute.

    location ~*^/(home|forum|portal).php$ {
              limit_conn   addr  3;
                limit_req zone=refresh burst=3 nodelay;

 And if I put the limit (     limit_req zone=refresh burst=3 nodelay;) into below sections. It works, but user reports that sometimes they can't view the images.

 location ~ \.php$ {
            fastcgi_pass   unix:/tmp/nginx.socket;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi_params;
    Anyone can help me about this issue? I just want to set a limit for some specific php files?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the nginx mailing list