Welcome! Log In Create A New Profile

Advanced

Re: Улучшение ngx_http_limit_req_module

Pavel V.
February 01, 2016 12:04PM
Здравствуйте, Максим.

> Эта логика предполагает последовательное применение ограничений.
> Меж тем, логика работы nginx'а предполагает декларативную
> конфигурацию, с отсутствием зависимости от порядка. Не надо
> тащить в nginx очередную императивную логику, хватит с нас
> rewrite-модуля.

Понятно, переосмыслил концепцию с учетом этого замечания.
Тогда, конечно, предлагаемый мной параметр last и "условный off" в принципе
недопустимы.

> Сделать явный отдельный параметр if - можно, но сколько-нибудь
> принципиальной разницы нет. В то же время не факт, что мы хотим
> тут усложнять синтаксис.

Если условия везде одинаковые, то они задаются map-ом, пусть и чуть более
громоздким конфигом, чем с параметром if. Принципиальная разница появляется
только в том, что в разные директивы limit_req в параметр if можно задать разные
условия.

В директиве access_log такой синтаксис есть и мне кажется, что это весьма
удобное решение. Хотелось бы понять, насколько оно востребованно применительно к
limit_req.

> Если хочется программировать - стоит подумать о том, чтобы
> вытащить результаты ограничений в переменные, и дальше
> программировать с помощью директив rewrite-модуля же.

Можно увидеть пример конфигурации, как она могла бы быть заданной
таким способом?
Например, для двух условий: $is_spider и $is_vip.
Если $is_vip - ограничений вообще нет, если $is_spider - одна зона
(ограничения), иначе вторая (другие ограничения)?

>> Возможность безусловного отключения ограничений, наследованных с
>> предыдущего уровня.

> Это уже записано в TODO, возможность отказаться от унаследованных
> ограничений, безусловно, нужна.

>> Из планируемых вещей также есть мысли по поводу добавления параметра "dry-run".

> Да, сделать возможность проверки ограничений без их реального
> применения - тоже уже в TODO.

Судя по всему, это должен быть параметр директивы limit_req_zone. Как он зовется
в вашем TODO?

"Patches are welcome"? По этим двум пунктам они достаточно тривиальны.

--
С уважением,
Pavel mailto:pavel2000@ngs.ru

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Улучшение ngx_http_limit_req_module

Pavel V. February 01, 2016 04:50AM

Re: Улучшение ngx_http_limit_req_module

Maxim Dounin February 01, 2016 08:26AM

Re: Улучшение ngx_http_limit_req_module

Pavel V. February 01, 2016 12:04PM

Re: Улучшение ngx_http_limit_req_module

Maxim Dounin February 01, 2016 01:18PM

Re: Улучшение ngx_http_limit_req_module

Pavel V. February 01, 2016 06:46PM

Re: Улучшение ngx_http_limit_req_module

Валентин Бартенев February 02, 2016 06:26AM

Re: Улучшение ngx_http_limit_req_module

Pavel V. February 02, 2016 08:24AM

Re: Улучшение ngx_http_limit_req_module

Валентин Бартенев February 02, 2016 09:00AM

Re: Улучшение ngx_http_limit_req_module

Pavel V. February 02, 2016 11:10AM

Re: Улучшение ngx_http_limit_req_module

Валентин Бартенев February 02, 2016 11:50AM

Re: Улучшение ngx_http_limit_req_module

Pavel V. February 02, 2016 01:32PM

Re: Улучшение ngx_http_limit_req_module

Валентин Бартенев February 02, 2016 02:06PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 195
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready