Re: limit_req_zone, переменный rate
Kirill A. Korinskiy
catap+nginx на catap.ru
Пт Мар 12 20:15:36 MSK 2010
At Fri, 12 Mar 2010 19:27:41 +0300,
Maxim Dounin <mdounin at mdounin.ru> wrote:
>
> Она, на самом деле, хорошая, годная. И error_page 404 - на самом
> деле лучше, чем тот же try_files, ибо не имеет race'ов.
>
try_files это отдельная и сильно больная для меня песня. Внятного объяснения зачем я все
еще не смог для себя вынести.
> Но не будем разводить ещё и этот флейм. :)
>
Мы с тобой давно тут не флеймили (да и пиво не пили), в прошлый флеймовый сезон я был в
своих разгулах, так что, как говориться, try_files ты первый вспомнил!
> > Защищаться от циклов глупо. Сделал человек цикл, значит сам дурак или ты можешь показать
> > пример как сделать неявный цикл?
>
> Защищаться от циклов - насущная необходимость, чтобы кривым
> конфигом нельзя было угробить сервер.
>
а давно дали в руки пользователей возможность писать конфиги? Т.е. либо пользователь
грубит свой личный сревер, либо у вас бага в генераторе конфигов.
> А "неявный" - это кому как. Я вот этот патчик не на пустом месте
> рисовал, а потому что ко мне пришли разбираться:
>
> http://nginx.org/pipermail/nginx-devel/2010-January/000099.html
>
> Понятно, что человек указавший несуществующий именованный location
> - сам себе злобный буратино. Но приличный сервер не должен из-за
> этого кушать 100% cpu и переставать обрабатывать запросы, он
> ругаться должен.
>
ага, помню.
Я все-таки придерживаюсь позици Игоря тут: лучше выполнять то что хочет пользователь, а
если он носастый, ну значит сам такой.
> > Вот последние две вещи, лично мне, удобны. Т.е. когда надо чистить я делаю return +
> > error_page, когда не надо чистить rewrite.
>
> Внутренние редиректы - чистят, переходы в именованные location'ы -
> не чистят. От метода вызова это не зависит.
>
> И уже есть модули где это выходит боком. Ибо они подбирают старый
> контекст и пытаются с ним работать, впадая в бесконечный цикл.
> Понятно что это в первую очередь проблема данных модулей, но
> нифига не понятно интуитивно.
>
Давай честно, nginx нифига не понятен интуитивно. Какие-то общие вещи, да, вполне. В
деталях же творить полная вакханалия и равзрат.
> Тем более что семантика у переходов в named location'ы совсем даже
> не предполагает отличий в этом месте. С другой стороны, чистить
> нельзя - ибо, как я уже писал, server rewrite phase по очевидным
> причинам не выполняется, и контексты поставленные там нужно
> сохранять.
>
Не знаю, слишком тонкий момент. Вообще момент с internal redirect очень тонкий. Но раз
есть двоякость, то увы.
--
wbr, Kirill
Подробная информация о списке рассылки nginx-ru