Когда я посещаю Django/admin через переписанный URL-адрес, я перенаправляюсь на 127.0.0.1, а не на правильный URL-адрес.

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

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

Я добился этого с помощью Rewrite... [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]

Спасибо!


person jvc26    schedule 20.11.2011    source источник
comment
Вы уверены, что вам нужна переписка? вы не пытаетесь использовать обратный прокси?   -  person second    schedule 20.11.2011
comment
Возможно, я неправильно понял, что делает [P], так как думал, что это метод mod_rewrite для общения с прокси? Другая проблема заключается в том, что это может быть невозможно без root-доступа, но я подумал, что спрошу, если есть метод, о котором я не знал.   -  person jvc26    schedule 20.11.2011


Ответы (1)


Работает ли он с 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.

person n3storm    schedule 06.12.2011
comment
Можно ли это сделать в htaccess? Я думал, что директивы ProxyPass и т. д. должны выполняться на уровне сервера? - person jvc26; 07.12.2011
comment
Я делаю это в конфигурации виртуального хоста, хотя быстрый поиск в google выглядит как положительным, так и проблематичным при использовании в файле htaccess. - person n3storm; 08.12.2011