Когда я захожу в Django / admin через переписанный URL, я перенаправляюсь на 127.0.0.1, а не на правильный URL - PullRequest
2 голосов
/ 20 ноября 2011

Я не очень часто использовал Apache с Django, обычно вместо этого использовал nginx, gunicorn и сокет unix.

Экспериментируя с Apache, mod_proxy и Django, я пытался передать все запросы бэкенду gunicorn, слушая 127.0.0.1:8998.

Я добился этого с помощью перезаписи ... [P] (см. Ниже), однако, это нормально работает для URL по умолчанию, когда я перехожу на http://foo.bar.com/admin, я перенаправлен на 127.0.0.1 / admin, который явно не работает удаленно.Можно ли выполнить эту настройку через файл htaccess, и что мне нужно сделать / посмотреть, чтобы исправить это?

.htaccess:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule     (.*) http://localhost:8998/$1 [P]

Спасибо!

1 Ответ

1 голос
/ 06 декабря 2011

Работает ли это с http://localhost и http://localhost/?

попробуйте это:

RewriteRule     ^/(.*) http://localhost:8998/$1 [P]

Я недавно исследовал то, что вы пытаетесь достичь ив итоге получилось так:

ProxyRequests Off
<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>
ProxyPass        /static/ http://example.com:8080/static/
ProxyPassReverse /static/ http://example.com:8080/static/

В этом случае я передаю все запросы статического пути в nginx, но он может работать с gunicorn.

Конечно, вам нужно включить apache2модуль прокси.

...