ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: как ограничить чис ло одновременных сое динений по сетевой ма ске



попробуйте ограничивать на уровне TCP/IP средствами ОС

On 14.02.2008, at 17:34, Igor Sysoev wrote:

On Thu, Feb 14, 2008 at 04:21:53PM +0200, Vladimir Fursin wrote:

Thursday, February 14, 2008, 12:31:11 PM, you wrote:

On Thu, Feb 14, 2008 at 05:20:59AM -0500, Denis S. Filimonov wrote:

Может это и не очень хорошее решение, но нечто подобное у меня работает.

limit_zone   one  $my_addr  32k;
server {
if ($remote_addr ~ "^(\d+\.\d+\.\d+)") {
set $my_addr $1;
}
limit_conn one 1;
}

Ещё вариант:

if ($binary_remote_addr ~ "^(...)") {
Спасибо за решения, но мне нужно дифференцированные ограничения, т.е. подсети разных клиентов должны ограничиваться по-разному. Какая подсеть и какое для нее ограничение становится известно в php-скрипте на бэкэнде после обработки $uri. Может ли как то апач передать эти значения в переменные конфига nginx, чтобы "на обратном пути" использовать их для задания ограничения?

Нет.

Если нет, то мне, скорее всего, вообще придется отказаться от использования апача, а обрабатывать $uri прямо в конфиге встроенным perl. Но тогда все равно остается вопрос - как через переменную установить к-во соединений в limit_conn.
Это возможно?

Нет. Маскисмальное число соединений статично.


--
Игорь Сысоев
http://sysoev.ru




 




Copyright © Lexa Software, 1996-2009.