Welcome! Log In Create A New Profile

Advanced

Re: limit_req_zone, переменный rate

Maxim Dounin
March 12, 2010 11:28AM
Hello!

On Fri, Mar 12, 2010 at 06:39:24PM +0300, Kirill A. Korinskiy wrote:

> At Fri, 12 Mar 2010 18:24:29 +0300,
> Maxim Dounin <mdounin@mdounin.ru> wrote:
> >
> > Hello!
> >
> > On Fri, Mar 12, 2010 at 04:07:29PM +0300, Kirill A. Korinskiy wrote:
> >
> > > At Thu, 11 Mar 2010 16:18:40 +0300,
> > > Maxim Dounin <mdounin@mdounin.ru> wrote:
> > > >
> > > >
> > > > location / {
> > > > recursive_error_pages on;
> > > > error_page 403 = @vogons;
> > > >
> > > > if ($bad) {
> > > > return 403;
> > > > }
> > > >
> > > > limit_req zone=mostlyharmless burst=10 nodelay;
> > > >
> > > > ...
> > > > }
> > > >
> > >
> > > А вот принял бы игорь тот патч на rewrite в именованный location все было бы много
> > > очевидней, правда? ;)
> >
> > Я привык, мне уже пофигу.
> >
>
> Ты, я или любой кто в nginx тыкает палочкой долго привыкли. А новички не понимают магию
> return + error_page;

Она, на самом деле, хорошая, годная. И error_page 404 - на самом
деле лучше, чем тот же try_files, ибо не имеет race'ов.

Но не будем разводить ещё и этот флейм. :)

> > Но на самом деле с именованными location'ами есть более одних
> > грабель. Нет защиты от циклов (патчи я кидал; error_page от этого
> > защищён хоть как-то, а вот rewrite - вообще никак), не выполняется
> > server rewrite phase (что логично) и не чистятся контексты модулей
> > (что может доставлять, но связано с предыдущим пунктом).
> >
>
> Защищаться от циклов глупо. Сделал человек цикл, значит сам дурак или ты можешь показать
> пример как сделать неявный цикл?

Защищаться от циклов - насущная необходимость, чтобы кривым
конфигом нельзя было угробить сервер.

А "неявный" - это кому как. Я вот этот патчик не на пустом месте
рисовал, а потому что ко мне пришли разбираться:

http://nginx.org/pipermail/nginx-devel/2010-January/000099.html

Понятно, что человек указавший несуществующий именованный location
- сам себе злобный буратино. Но приличный сервер не должен из-за
этого кушать 100% cpu и переставать обрабатывать запросы, он
ругаться должен.

> Вот последние две вещи, лично мне, удобны. Т.е. когда надо чистить я делаю return +
> error_page, когда не надо чистить rewrite.

Внутренние редиректы - чистят, переходы в именованные location'ы -
не чистят. От метода вызова это не зависит.

И уже есть модули где это выходит боком. Ибо они подбирают старый
контекст и пытаются с ним работать, впадая в бесконечный цикл.
Понятно что это в первую очередь проблема данных модулей, но
нифига не понятно интуитивно.

Тем более что семантика у переходов в named location'ы совсем даже
не предполагает отличий в этом месте. С другой стороны, чистить
нельзя - ибо, как я уже писал, server rewrite phase по очевидным
причинам не выполняется, и контексты поставленные там нужно
сохранять.

Maxim Dounin

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

limit_req_zone, переменный rate

Sergej Kandyla March 11, 2010 07:08AM

Re: limit_req_zone, переменный rate

Aleksandr Sytar March 11, 2010 07:18AM

Re: limit_req_zone, переменный rate

Maxim Dounin March 11, 2010 07:34AM

Re: limit_req_zone, переменный rate

Sergej Kandyla March 11, 2010 07:46AM

Re: limit_req_zone, переменный rate

Daniel Podolsky March 11, 2010 08:04AM

Re: limit_req_zone, переменный rate

Maxim Dounin March 11, 2010 08:20AM

Re: limit_req_zone, переменный rate

Sergej Kandyla March 11, 2010 09:46AM

Re: limit_req_zone, переменный rate

Maxim Dounin March 11, 2010 11:38AM

Re: limit_req_zone, переменный rate

Sergej Kandyla March 11, 2010 11:58AM

Re: limit_req_zone, переменный rate

Gena Makhomed March 11, 2010 12:52PM

Re: limit_req_zone, переменный rate

Kirill A. Korinskiy March 12, 2010 08:08AM

Re: limit_req_zone, переменный rate

Maxim Dounin March 12, 2010 10:26AM

Re: limit_req_zone, переменный rate

Kirill A. Korinskiy March 12, 2010 10:40AM

Re: limit_req_zone, переменный rate

Maxim Dounin March 12, 2010 11:28AM

Re: limit_req_zone, переменный rate

Kirill A. Korinskiy March 12, 2010 12:16PM

Re: limit_req_zone, переменный rate

Maxim Dounin March 12, 2010 07:20PM

Re: limit_req_zone, переменный rate

Kirill A. Korinskiy March 15, 2010 09:24AM

Re: limit_req_zone, переменный rate

Maxim Dounin March 15, 2010 09:48AM

Re: limit_req_zone, переменный rate

Kirill A. Korinskiy March 15, 2010 10:04AM

Re: limit_req_zone, переменный rate

Sergej Kandyla March 15, 2010 10:12AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 129
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