help about limit_req
fhal
meteor8488 at 163.com
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:
http://www.xxx.com/forum.php
http://www.xxx.com/forum.php?******
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: <http://mailman.nginx.org/pipermail/nginx/attachments/20120718/ac90cb7f/attachment.html>
More information about the nginx
mailing list