Welcome! Log In Create A New Profile

Advanced

Re: X-Accel-Redirect и uri escape

Maxim Dounin
November 26, 2013 11:39AM
Hello!

On Mon, Nov 25, 2013 at 05:00:31AM +0300, Роман Шишнев wrote:

> Hello,
>
> Обнаружил несколько странное поведение nginx при обработке
> X-Accel-Redirect от upstream:
>
> При появлении знака "?" в имени файла в заголовке, uri обрезается до
> этого знака, а все остальное складывается в аргументы. Попробовал
> этот знак заменить на %3F, все стало ещё интереснее - в uri заменяются
> на стороне nginx все символы "%" на "%25", в итоге выходит что-то вроде
> "%253F" при передаче на следующий upstream.
>
> Полагаю, если в имени файла встретится последовательность "\r\n", этот
> файл вообще нельзя будет отправить в nginx с помощью X-Accel-Redirect.
> В явном виде эта последовательность закончит uri в заголовке на себе,
> а остаток имени будет следующим зоголовком, а в виде %0D%0A будет
> превращена в %250D%250A.
>
> В первом случае файл "aaa\r\nRefresh: 0;url=login" отправит клиента
> по другому адресу, а во втором случае комбинацию никакой upstream не
> разберет.
>
> Вопрос как сейчас передавать в nginx с помощью X-Accel-Redirect
> файлы в имени которых есть спец-символы?
>
> Может стоит сделать отдельную опцию (что-нибудь в духе
> safe_redirect on/off) при включении которой nginx не будет
> дополнительно escape'ать uri в X-Accel-Redirect?

Сейчас nginx полагает, что в X-Accel-Redirect передаётся
незакодированный URI. Есть мнение, что это неправильно (в
частности потому, что файл с "?" в имени отправить нельзя), и
надо изменить логику так, чтобы передавался закодированный URI.

Где-то тут про это есть чуть больше подробностей, а также ссылки
на предыдущие попытки решить проблему:

http://trac.nginx.org/nginx/ticket/316

--
Maxim Dounin
http://nginx.org/en/donation.html

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

X-Accel-Redirect и uri escape

Роман Шишнев November 26, 2013 11:39AM

Re: X-Accel-Redirect и uri escape

Maxim Dounin November 26, 2013 11:39AM

Re: X-Accel-Redirect и uri escape

Rommer November 26, 2013 11:39AM

Re: X-Accel-Redirect и uri escape

Maxim Dounin November 26, 2013 11:39AM

Re: X-Accel-Redirect и uri escape

Роман Шишнев November 26, 2013 11:39AM

Re: X-Accel-Redirect и uri escape

Rommer November 29, 2013 03:20PM

Re: X-Accel-Redirect и uri escape

Maxim Dounin November 29, 2013 05:16PM

Re: X-Accel-Redirect и uri escape

Роман Шишнев November 26, 2013 11:39AM

Re: X-Accel-Redirect и uri escape

Роман Шишнев November 26, 2013 11:39AM

Re: X-Accel-Redirect и uri escape

Роман Шишнев November 26, 2013 11:39AM

Re: X-Accel-Redirect и uri escape

Maxim Dounin November 26, 2013 11:39AM

Re: X-Accel-Redirect и uri escape

Роман Шишнев November 26, 2013 11:39AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

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