У меня nginx является прокси для dav svn. Заместил, что не проходят
операции с файлом, в имени которого есть "%". Включил debug_connection
и вот что обнаружил.
Т.е., как я понял, svn запрашивает "%25gconf.xml", а nginx проксирует
уже "%gconf.xml". Что написать в nginx.conf, что бы отключить такое
поведение? Кажется мне, что была какая-то директива, отвечающая за
%кодирование, но быстрый поиск по документации на сайте ничего не дал.
Нужно убрать / в
-proxy_pass ;
+proxy_pass ;
Странное решение проблемы 8-( ), может стоит разбирать все / в URL, в
процессе синтаксического анализа параметров?
В данном случае % должен был передаваться бэкенду в виде %25, но
не передевался из-за ошибки. Прилагаемый патч её исправиляет.
Что касается / в proxy_pass, то см.
про обработку URI.
Игорь Сысоев