ngx_http_limit_req_module и ngx_http_limit_zone_module

Evgeni Grigorenko partizan4ik at gmail.com
Wed Oct 7 07:42:03 MSD 2009


Станислав пишет:
> Станислав пишет:
>> Здравствуйте!
>>
>> Просветите меня, пожалуйста кто-то. Я вот тут немного запутался...
>>
>> В секции server создаем зоны
>> limit_zone myzone $binary_remote_addr 10m;
>> limit_req_zone $binary_remote_addr zone=one:10m rate=20r/s;
>>
>> В секцию server пихаем
>> limit_conn myzone 20;
>> limit_req zone=one burst=10;
>>
>> Такой пример много где видел...
>> И что теперь получается?
>> Как я понял, если правильно я понял, из манов... директива limit_conn 
>> ограничивает кол-во запросов в секунду.. В данном примере 20 запросов 
>> в секунду...
>>
>> Ну и с помощью limit_req мы ограничиваем теже 20 запросов в секунду, 
>> и даем "задержку" в 10 запросов...
>>
>> И дальше что? conn и req суммируется и получается 40 запросов в 
>> секунду с задержкой в 10 запросов?
>> Или 20 запросов ... задержка 10 запросов.... если так, то зачем юзают 
>> limit_conn и limit_req вместе?
>> или я вообще все неправильно понял и все ужасно?
>>
>>
> Разобрался )
> Теперь немного другой вопросик...
> У меня несколько вхостов, потому я создал несколько зон
> #       host 1
>        limit_zone defhost $binary_remote_addr 5m;
>        limit_req_zone $binary_remote_addr zone=qdefhost:5m rate=3r/s;
> #
> #       host 2
>        limit_zone ghsdub $binary_remote_addr 5m;
>        limit_req_zone $binary_remote_addr zone=qghsdub:5m rate=30r/s;
> и т.п....
>
> Правильно ли я сделал?
>
> И второй вопросик... подобрал настройки... но все равно что-то не 
> то... иногда не все изображения отдаются браузеру...
> Использую nginx и php-fpm ...
>
> В секции http
> limit_zone ghsdub $binary_remote_addr 5m;
> limit_req_zone $binary_remote_addr zone=qghsdub:5m rate=30r/s;
>
> В секции сервера
> limit_conn ghsdub 32;
> limit_req zone=qghsdub burst=20;
>
> Т.е. сам проект не большой...и у него не большая посещаемость...это 
> делается, чтоб предотвратить ддос атаки...
> Подскажите пожалуйста, оптимальные ли это настройки... или может нужно 
> что-то подправить...
> Спасибо огромное...
>
>
Ногами меня не бить если подскажу не то, но я ставил limit_req zone=*** 
а локейшн location ~ \.php$
Таким образом осуществляляся контроль за подклчениями только к php, и 
значения думаю по меньше нужно поставить (у меня rate=3r/s).







More information about the nginx-ru mailing list