У меня есть 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
. Что я делаю не так?