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