Ошибка ограничения limit zone в 0.7.67-3+squeeze3
Karsonito
nginx-forum at nginx.us
Wed May 1 22:27:11 UTC 2013
Возможно это известный факт, но решил сперва посоветоваться.
В старой версии 0.7.67-3+squeeze3 действительно присутствует проблема с
ограничением по IP?
У меня стабильно воспроизводится.
Конфиг:
http {
...
limit_zone perip $binary_remote_addr 10m;
limit_conn perip 4;
...
}
Скрипт для теста sleep.php:
<?php
sleep(1);
Запускаю:
ab -v 2 -c 4 -n 1000 http://127.0.0.1/sleep.php
Все запросы принимаются, ограничение не срабатывает.
Одновременно с первым ab запускаю второй:
ab -v 2 http://192.168.0.1/sleep.php
И сразу получаю 503
В журнале: limiting connections by zone "conns", client: 192.168.0.1,
server: , request: "GET /sleep.php HTTP/1.0", host: "192.168.0.1"
Проще говоря, nginx ограничивает если одновременно обрабатывается больше чем
указано в limit_conn, не обращая внимания на limit_zone.
Попробовал тот же конфиг на 1.2.1-2.2~bpo60+2 - все работает корректно.
Ограничение сработало только для соединений с одного IP.
Я не ошибся?
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,238781,238781#msg-238781
Подробная информация о списке рассылки nginx-ru