Уважаемые разработчики!

Мы используем на сайте ограничение на количество одновременных соединений с
одного IP со следующим конфигом:

limit_conn_zone $binary_remote_addr zone=addr:64m;
limit_conn addr 20;
limit_conn_log_level warn;

Все работало отлично, но некоторое время назад мы с удивлением обнаружили,
что бекенд обрабатывает более 500 запросов с одного IP.
В результате анализа выяснилось, что какой-то смышленный малый создает
большое количество соединений и сразу же их рвет. В результате nginx
успевает передать запрос на бекенд, но т.к. пользователь сразу же рвет
соединение и создает новые, то ограничение на количество запросов не
срабатывает.

Я понимаю, что с точки зрения nginx тут все чисто, т.к. он считает только
открытые соединения со стороны клиента, но если подумать, то limit_conn все
таки используется администраторами как средство ограничения кол-ва
одновременных запросов на бекенд, т.к. большое кол-во запросов на к самому
Nginx совсем не проблема.

Не могли бы вы реализовать ограничение количества одновременных запросов с
одного IP на бекенд, т.к. текущий функционал limit_conn тут не помогает?

Спасибо,
Антон.

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,240628,240628#msg-240628

_______________________________________________
nginx-ru mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить