Обход ограничений limit conn
Antohat
nginx-forum at nginx.us
Sun Jul 7 17:43:34 UTC 2013
Уважаемые разработчики!
Мы используем на сайте ограничение на количество одновременных соединений с
одного 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