Re: rewrite и ngx_aws_auth
Slawa Olhovchenkov
slw на zxy.spb.ru
Ср Июл 22 14:14:34 UTC 2020
On Wed, Jul 22, 2020 at 05:07:20PM +0300, Maxim Dounin wrote:
> Hello!
>
> On Wed, Jul 22, 2020 at 04:27:58PM +0300, Slawa Olhovchenkov wrote:
>
> > Пытаюсь подружить rewrite и ngx_aws_auth и выходит что-то странное.
> >
> > в конфигурации локейшена у меня
> >
> > rewrite /(.*) /$host/$1;
> > rewrite /([^.]+)[^/]+/(.*) /$1/$2 break;
> > aws_sign;
> >
> > В дебаге видно что rewrite uri меняет, а ngx_aws_auth получает
> > немодифицированный uri.
> >
> > если в локейшине написать if -- ngx_aws_auth вообще не срабатывает
> > (хотя тут я могу догадаться что он не наследуется).
> >
> > Отсюда вопросы:
> >
> > что за фигня?
> > что происходит?
> > какую переменную на самом деле меняет rewrite?
>
> Заглянул в код этого ngx_aws_auth, всплакнул.
да я уже неделю матерюсь. он еще и переменных где надо не понимает.
> Всё правильно, работать не будет. И не только после rewrite'а, но
> и в других непредсказуемых ситуациях - при наличии аргументов в
> запросе модуль лезет в r->uri_start, значение которого имее смысл
> только в момент парсинга URI и не гарантируется в остальное
> время[1][2].
>
> Лечится переписыванием модуля, чтобы использовал r->uri всегда.
Ах вот оно как. Отлично, это из-за аргументов, а мне они нахрен не
нужны.
Отрезание помогает.
Подробная информация о списке рассылки nginx-ru