Назад | Перейти на главную страницу

Nginx: ограничить количество подключений на одного пользователя базовой аутентификации

Получил nginx, обслуживающий несколько больших файлов. Пользователи получают доступ через базовую аутентификацию. htpasswd Я хочу сократить одновременную загрузку файлов до 5 подключений максимум НА ПОЛЬЗОВАТЕЛЯ. Более чем 1 пользователь получает доступ через 1 IP-адрес, поэтому сделать это по IP-адресу невозможно.

Я пробовал следующее:

map "$remote_user" $num {
     default 5
     }

server {
 location /source {
   root /home/frog/source/;
   auth_basic "Login";
   auth_basic_user_file /home/frog/.htpasswd;
   set $limit_conn $num;
  }

Но это не ограничит. Я все еще могу открывать более пяти подключений одновременно. Помогите!

После легкого чтения все получилось так:

limit_conn_zone $remote_user zone=limit:10m;

server {
 location /source {
   root /home/frog/source/;
   auth_basic "Login";
   auth_basic_user_file /home/frog/.htpasswd;
   limit_conn limit 5;
  }

Нужно установить limit_conn_zone $ remote_user zone = предел: 10 м; вне сервер блок, а затем добавьте limit_conn limit 5; внутри сервер блокировать

Теперь каждый пользователь может открывать не более 5 одновременных подключений.