День добрый!
> > > *) Безопасность: теперь nginx/Windows игнорирует точку в конце
> > > компонента URI и не разрешает URI, содержащие
> > > последовательность ":$".
>
> Да, это связано именно с этим изменением. Под windows точка в
> конце любого имени файла/каталога - не значащая, и такие uri нужно
> либо отвергать, либо нормализовывать. В противном случае имеем
> возможность обхода ограничений доступа. До 1.3.1 делалось
> нормализация только для последнего компонента пути, сейчас - для
> всех.
Дело еще в том, что ведь далеко не каждый URI отображается на файловую систему.
Поэтому, я думаю, при передаче бэкенду допустимо проводить нормализацию только если специально указано в конфиге (как например merge_slashes).
Понимаю, тут возникает трудность в реализации. В location ведь сейчас сопоставляется нормализованный URI. Может быть тогда эту нормализацию тоже опцией отключать (будет полная аналогия merge_slashes)?
> Если нужно проксировать без нормализации uri (в предположении, что
> бекенд сам справится с этой проблемой, и/или он не на виндах) -
> должно помочь написание директивы proxy_pass без URI, i.e.
>
> proxy_pass http://backend;
>
> без "/" в конце.
Но, в таком случае не подменяется часть URI запроса, соответствующая location. И тоже получается несовместимость — придется править код на бэкендах, появится лишняя связаность и зависимость...
--
Ruvim