rate limiter and rewrite together
Dmitry Morozovsky
marck на rinet.ru
Ср Ноя 8 17:26:24 UTC 2017
Коллеги,
что-то мы мальца сломали мозг и явно не видим очевидного.
Есть ситуация, когда все транзитные HTTP запросы клиента перехватываются и
отправляются в специальный nginx, котогрый показывает специальную страничку.
Но -- хочется этот поток ограничить, ибо иначе nginx начинает жрать
процессор как не в себя, потому что клиент-то тупой запросов шлёт гору.
и -- не получается.
текущий вариант был таков:
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
error_log /var/log/nginx-error.log notice;
proxy_buffering off;
log_format rdr '[$time_local] $remote_addr [$http_host$request_uri] $server_name $server_port [$rdr] $status $body_bytes_sent';
limit_req_log_level info;
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
server {
listen 127.0.0.1:8001;
server_name localhost;
access_log /var/log/nginx-access.log rdr;
limit_req zone=one nodelay;
limit_req_status 444;
return 302 http://rinet.ru/nomoney/redirect.html?;
}
}
не лимитит.
чего мы не замечаем и где тупим? ;)
--
Sincerely,
D.Marck [DM5020, MCK-RIPE, DM3-RIPN]
[ FreeBSD committer: marck на FreeBSD.org ]
------------------------------------------------------------------------
*** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck на rinet.ru ***
------------------------------------------------------------------------
Подробная информация о списке рассылки nginx-ru