Hello! On Wed, Jan 27, 2021 at 06:43:10PM +0300, Slawa Olhovchenkov wrote:
> 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 в данном случае? Можно сделать error_page 418 @proxy; return 418; "Более изящный" ли это способ - затрудняюсь сказать, но более смешной. Более правильным в данном случае будет просто прописать проксирование явно. > > Заодно и написанные во внешнем "location /" директивы rewrite > > обретут какой-то смысл (впрочем, скорее всего по прежнему > > неверный, так как эти директивы не применяются к запросам, > > попавшим в любой из вложенных location'ов). > > разве rewrite применяется не до разбора вложенных локейшинов? Нет. Дерево location'ов - общее, поиск подходящего location'а по URI - это единая операция. Директивы rewrite применяются из найденного подходящего к запросу location'а. Подробности применения директив rewrite расписаны в описании модуля rewrite, тут: http://nginx.org/ru/docs/http/ngx_http_rewrite_module.html > а они не наследуся ли, кстати? Нет. > да, я забыл в примере укзать, там рядом с rewrite у меня еще и > auth_request есть, это тоже добавит сложностей? Нет, auth_request это простая декларативная директива конфигурации, наследуемая по общим правилам, и каких-либо сложностей с вложенными location'ами от неё не будет. Собственно, с rewrite тоже сложностей нет - просто работают они не так, как предполагает конфигурация в исходном письме. -- Maxim Dounin http://mdounin.ru/ _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru