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? --93FB2808C9.1385344859/rl01.atservers.net-- _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru