Nginx снижение нагрузки
Ограничение скорости запросов
limit_req_zone $binary_remote_addr zone=one:10m rate=30r/m; server { ... location /login.html { limit_req zone=one; ... } }
- Требуется модуль ngx_http_limit_conn_module
Ограничение числа подключений
- Синтаксис: limit_conn зона число;
- Умолчание: —
- Контекст: http, server, location
limit_conn_zone $binary_remote_addr zone=addr:10m; server { ... location /store/ { limit_conn addr 10; ... } }
- Требуется модуль ngx_http_limit_conn_module
Закрытие медленных соединений
server { client_body_timeout 5s; client_header_timeout 5s; ... }
Блокирование IP-адресов
Блокирование по маске
location / { deny 123.123.123.0/28; ... }
Блокирование списка адресов
location / { deny 123.123.123.3; deny 123.123.123.5; deny 123.123.123.7; ... }
Белый список IP-адресов
location / { allow 192.168.1.0/24; deny all; ... }
Ограничение подключений к бекенд серверам
upstream website { server 192.168.100.1:80 max_conns=200; server 192.168.100.2:80 max_conns=200; queue 10 timeout=30s; }