limit_zone

Samoilov Anton sub2.adm на akipress.org
Сб Мар 13 09:59:21 MSK 2010


В сообщении от 1266644655 секунд после начала Эпохи
Вы Alex Vorona мне написали следующие:

> 20.02.2010 11:27, Samoilov Anton wrote:
> [...]
> > Есть ли возможность сделать ограничение 1 клиент на 1 файл 1
> > поток ??? так что б клиент мог тянуть например 4 файла сразу, но по
> > 1 потоку за раз ??? 
> Пока несколько limit_conn не поддерживается, этого afaik нельзя
> сделать целиком в nginx. Это по сути 2 ограничения:
> - 1 клиент в 1 поток на 1 файл
> limit_zone one $binary_remote_addr$uri  10m;
> limit_conn one 1;
> 
> - количество одновременных закачек клиента
> limit_zone two $binary_remote_addr  10m;
> limit_conn two 4;
> 
> Второе ограничение иногда можно переложить на фаервол, если вынести
> download area на отдельный адрес:порт.
> 
Извиняюсь что поднимаю старую тему, но как сделать это : 
limit_zone one $binary_remote_addr$uri  10m; ???
я решил совместить 4 параметра - 
limit_zone   downblock $binary_remote_addr$uid_got$uid_set$uri  10m;

на что меня nginx далеко послал :(

# nginx - t
[emerg]: unknown "binary_remote_addr$uid_got$uid_set$uri" variable
configuration file /usr/local/nginx/conf/nginx.conf test failed

Как можно реализовать это ? а то есть уйма народа сидящего за 1 ип
адресом, как бы по ип ограничивать низя, а так ип + сессия + урл файла
на 1 поток можно закрыть и большую часть проблем снять.



Подробная информация о списке рассылки nginx-ru