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;
}