Welcome! Log In Create A New Profile

Advanced

Re: rewrite и ngx_aws_auth

Maxim Dounin
July 22, 2020 10:08AM
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 всегда.

[1] https://github.com/anomalizer/ngx_aws_auth/blob/master/aws_functions.h#L317
[2] http://hg.nginx.org/nginx/file/tip/src/http/ngx_http_request.h#l576

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

rewrite и ngx_aws_auth

Slawa Olhovchenkov July 22, 2020 09:30AM

Re: rewrite и ngx_aws_auth

Maxim Dounin July 22, 2020 10:08AM

Re: rewrite и ngx_aws_auth

Slawa Olhovchenkov July 22, 2020 10:16AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

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