Назад | Перейти на главную страницу

Перенаправить Apache на сервер Django dev

РЕДАКТИРОВАТЬ:

Я просто пошел с Nginx, чтобы сделать прокси перед Apache. Намного проще настроить, и это действительно сработало.


Я пытаюсь заставить apache перенаправлять все запросы на порт 80 на 127.0.0.1:8000, где работает сервер django dev. Я думаю, что он пересылается правильно, но должна быть проблема с 127.0.0.1:8000, который не запускается apache?

Я запускаю сервер django dev в экземпляре ubuntu vmware, и я хотел бы, чтобы другие люди в офисе видели разрабатываемые приложения без необходимости продвигать что-либо на наших реальных серверах разработки / подготовки.

Прямо сейчас виртуальная машина получает IP-адрес для себя, и когда я указываю браузеру на этот URL-адрес с конфигурацией apache по умолчанию, я получаю страницу apache по умолчанию.

С тех пор я изменил файл httpd.conf на следующий, чтобы попытаться заставить его перенаправлять запросы на сервер django dev:

ServerName localhost

<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>

<VirtualHost *>
    ServerName  localhost
    ServerAdmin alex@example.com

    ProxyRequests off
    ProxyPass * http://127.0.0.1:8000
</VirtualHost>

Все, что я получаю, это 404-е, а в error.log я получаю следующее (192.168.1.101 - это IP-адрес моего компьютера, 192.168.1.142 - это IP-адрес виртуальной машины):

[Mon Mar 08 08:42:30 2010] [error] [client 192.168.1.101] File does not exist: /htdocs

Чтобы проверить, что работает на 127.0.0.1 (8000), вы можете:

curl -I http://127.0.0.1:8000 | grep Server

Если это apache, то другие веб-серверы не должны запускаться нормально. Но, глядя на ваши ответы на другие решения, мы можем заподозрить это.

Если это apache, просто найдите / отредактируйте строки Listen, чтобы 192.168.1.142:80

ProxyPass использует путь, а не подстановочный знак, попробуйте

ProxyPass /  http://127.0.0.1:8000
ProxyPassReverse /  http://127.0.0.1:8000

Это лучше?

<VirtualHost *>
    ServerName  localhost
    ServerAdmin alex@example.com

ProxyRequests Off

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

ProxyPass *  http://127.0.0.1:8000
ProxyPassReverse *  http://127.0.0.1:8000
</VirtualHost>

Вы перезапускали apache? Сообщение об ошибке все еще относится к каталогу ??