gunicorn через mod_proxy перенаправляет за пределы проекта, несмотря на ProxyPassReverse

У меня есть WSGI-приложение (проект Django), работающее под управлением gunicorn на 127.0.0.1:18731 , и я использую Apache с mod_proxy для перенаправления запросов от http: // example .com / my-project / * - http://127.0.0.1:18731/* . Статические файлы хранятся вне / my-project / . Если приложению Django не нужно ничего перенаправлять, это работает нормально, но если оно пытается перенаправить запрос (например, добавить косую черту в конце к http://example.com/my-project/foo ]), в итоге он удаляет / my-project / из URL-адреса, в результате чего у меня остается недопустимый URL-адрес http://example.com/foo/ .

My mod_proxy конфигурация выглядит следующим образом:

<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>
ProxyRequests On
ProxyPass /my-project/ http://127.0.0.1:18731/ retry=0
ProxyPassReverse /my-project/ http://127.0.0.1:18731/ retry=0
ProxyPreserveHost On
ProxyErrorOverride Off

Я не хочу, чтобы Django добавлял префикс / my-project / ко всем своим URL-адресам в интересах переносимости. Очевидно, Apache должен обрабатывать префикс самостоятельно с помощью строки ProxyPassReverse . Что я делаю не так?

7
задан Chris Wesseling 20 October 2011 в 16:10
поделиться