Re: location / внутри location /

Slawa Olhovchenkov slw на zxy.spb.ru
Ср Янв 27 15:43:10 UTC 2021


On Wed, Jan 27, 2021 at 06:34:15PM +0300, Maxim Dounin wrote:

> Hello!
> 
> On Wed, Jan 27, 2021 at 05:08:45PM +0300, Slawa Olhovchenkov wrote:
> 
> > А возможна ли конструкция типа такой:
> > 
> > location / {
> >    rewrite ....;
> >    rewrite ....;
> >    location ~ /../(..)... {
> >      try_files /$2/$3/$2$3$4_$1.bin @proxy;
> >    }
> >    location / {
> >      try_files /notexist @proxy;
> >    }
> > }
> > location @proxy {
> > }
> > 
> > Ну т.е. смысл в том, что не попадает под маску -- сразу брать с
> > апстрима, а что под маску попадает -- проверять на диске и если нет --
> > брать с апстрима.
> 
> Возможна.  Впрочем, в предложенной конструкции вложенный "location /" 
> избыточен, его содержимое можно написать непосредственно во 
> внешнем "location /".

а кстати, есть ли какой-то более изящный способ сделать внутрений
редирект на @proxy в данном случае?

> Заодно и написанные во внешнем "location /" директивы rewrite 
> обретут какой-то смысл (впрочем, скорее всего по прежнему 
> неверный, так как эти директивы не применяются к запросам, 
> попавшим в любой из вложенных location'ов).

разве rewrite применяется не до разбора вложенных локейшинов?
а они не наследуся ли, кстати?

да, я забыл в примере укзать, там рядом с rewrite у меня еще и
auth_request есть, это тоже добавит сложностей?


Подробная информация о списке рассылки nginx-ru