Есть некий список адресов. Для этого списка необходимо отдавать страницы
без ограничений, для всех остальных нужно сделать ограничение limit_req.
Непонятно как это правильно сделать с учётом того, что limit_req внутри if
не работает.

На одном из форумов предлагается такое решение:

    geo $nolimit {
        default 0;
        10.0.0.0/24 1;
        192.168.0.0/24 1;
    }
    limit_req_zone $binary_remote_addr zone=ratezone:10m rate=5r/s;

    server {
        ...

        location / {
            error_page 418 = @nolimit;

            if ($limit) {
                return 418;
            }

            limit_req zone=ratezone burst=10 nodelay;

            # ...
        }

        location @nolimit {
            # ... no limit_req here
        }
    }

но насколько это  правильно, делать такое перенаправление? Есть ли какие-то
другие способы?
_______________________________________________
nginx-ru mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить