доброго времени...имеется nginx+php-fpm и форум на phpBB на этом деле. стала необходимость ограничить отдачу озверевшим и т.п...
sitename.conf
=====================================================================================
limit_req_zone $binary_remote_addr zone=scripts:10m rate=2r/s;
server {
listen sitename.ru;
server_name sitename.ru www.sitename.ru;
access_log /var/log/nginx/sitename.access_log main;
error_log /var/log/nginx/sitename.error_log info;
root /var/www/sitename.ru/htdocs;
location ~ \.php$ {
limit_req zone=scripts burst=3;
try_files $uri =404;
fastcgi_pass backend;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/sitename.ru/htdocs$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
autoindex off;
}
=====================================================================================
и все бы великолепно, то есть 2 запроса в секунду (3), а дальше лесом, в общем как полагается, если бы не одно но - аватарки и некоторые другие картинки оно получает примерно так: "GET /download/file.php?avatar=111_222_zzz.gif", то есть это дело тоже попадает под зону scripts и ограничивается.
ладно, добавил -
=====================================================================================
limit_req_zone $binary_remote_addr zone=images:10m rate=100r/s;
server {
.......
location ~* \.(jpg|jpeg|gif|png|mng|tif|tiff|svg|ico)$ {
limit_req zone=images burst=100;
}
.......
=====================================================================================
теперь вроде бы как нужно, то есть (судя по логам) все картинки в зоне images. только вот оно не работает, то есть все равно ограничивает непонятно по какому признаку
2010/03/10 12:55:48 [error] 6749#0: *210024 limiting requests, excess: 0.000 by zone "images", client: xx.xx.xx.xx, server: sitename.ru, request: "GET /images/smilies/ok.gif", host: "sitename.ru"
при 100r/s ограничивает вообще практически всю графику, при 1000r/s не многим легче, и даже если поставить 5000r/s все равно не все смайлы пролазят сразу, а отдаются как на диалапе, то есть по одному
не понимаю куда копать... ну пусть мой FF и качает 100 картинок за раз (ну не больше, там быть не может больше), так почему и при 1000 такая лажа?
nginx-0.8.34, gentoo ~x86