Модуль Nginx с ограниченным номером подключения (Модуль nginx_http_limit_conn_module)
Модуль Ngx_http_limit_conn_module ограничивает количество совпадений для некоторых аномалий трафика сервера, перегрузок и даже вредоносных атак с большим трафиком; модуль может ограничивать количество подключений на значение ключа на основе определенных ключей, обрабатываются только те запросы (информация заголовка этих запросов была полностью прочитана). Соединение засчитывается.
Модуль использует алгоритм “Дырявого ведра”, который имеет два режима обработки: формирование трафика и Управление дорожным движением.
После того, как ведро наполнено водой, обычно проводят две процедуры:
Временно перехватите нисходящий поток воды сверху и подождите, пока часть воды в ведре не утечет, прежде чем выпустить воду сверху. Вода над разливом сбрасывается непосредственно.
Модуль предоставляет два параметра конфигурации, limit_conn_zone и limit_conn, где limit_conn_zone можно настроить только в разделе HTTP {}, в то время как limit_conn можно настроить в разделе HTTP {}, сервер {}, местоположение {}.
Сторонний модуль компилирует параметры установки:
./configure –prefix=/usr/local/webserver/nginx –add-module=/data0/software/nginx_limit_speed_module-master make && make install
limit_req_zone $binary_remote_addr:10 м/с;
сервер {
location /search/ {
limit_req zone=one burst=5 nodelay;
}
Раздел 1 Конфигурация Первый параметр: $binary_remote_addr обозначает ограничение по remote_addr. Цель binary_ состоит в том, чтобы сократить объем памяти и ограничить IP-адрес одного и того же клиента. Второй параметр::10 м означает, что для хранения информации о частоте доступа создается область памяти размером 10 м и одна по имени. Третий параметр:/s обозначает количество посещений, разрешенных клиентам с одинаковой идентификацией, которое ограничено одним посещением в секунду и может быть следующим: 30R/M
Раздел 2 Конфигурация Первый параметр: задает, какую область конфигурации использовать для ограничения, соответствующую имени в limit_req_zone над вторым параметром:. Подчеркните эту конфигурацию. пакет пакет означает установку буфера размером 5. Когда поступает большое количество запросов (пакетов), запросы, превышающие ограничение частоты доступа, могут быть помещены в этот буфер в первую очередь. Третий параметр: отсутствие задержки. Если он установлен, он вернет 503 непосредственно при превышении частоты доступа и заполнении буфера. Если он не установлен, все запросы будут ждать очереди.