Проблема с limit_conn
Alexey Kaminsky
alexeykaminsky на gmail.com
Ср Фев 10 22:39:25 MSK 2010
Здравствуйте.
Возник вопрос по поводу работы директивы limit_conn, а именно: "Почему nginx
считает коннект открытым, если файл уже давно скачался".
Обьясню на примере - пользователь скачивает N файлов с сервера в N потоков
(на каждый файл по 1). В конфиге стоит ограничение в N подключений,
соответственно он не может качать больше - всё ок. Но, почему-то иногда(!)
по завершению скачки файла пользователь всё равно не может получить доступ к
файлам и видит 503 ошибку.
netstat -na | grep server_ip на клиентской машине (проверял на своей - у
меня тоже такое возникло) показывает, что активных коннектов нету (закрывал
браузер). Если то же самое посмотреть на сервере, то почему-то показывает,
что соединение активно. Пробовал перезагружать клиентский (свой) комп -
безрезультатно - всё равно netstat показывает активное соединение. Не
подскажете, где зарыта собака?) Гуглил. Гугл рассказал о старинном письме из
этой же рассылки, датированным вроде 2006 годом, но описанное там не
помогло. Заранее спасибо)
Фрагмент конфига -
limit_zone iplimit $binary_remote_addr 10m;
server {
listen 80;
server_name ***;
charset utf8;
access_log logs/***.access.log;
error_log logs/***.error.log;
location / {
root /mnt/sdb1/ftp;
autoindex on;
aio on;
directio 4192;
allow 10.10.0.0/16;
deny all;
}
limit_conn iplimit 4;
}
PS. 10.10.0.0/16 - VPN сеть на OpenVPN.
Сервер - Debian 5, 2.6.26-2-amd64, nginx/0.8.32
--
Best Regards
-------------------------
Alexey Kaminsky
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20100210/23dbc1f1/attachment-0001.html>
Подробная информация о списке рассылки nginx-ru