Гостевой веб-сервер VMWare недоступен с хоста - PullRequest
4 голосов
/ 19 августа 2009

Программное обеспечение: VMWare Fusion 2.05 в Mac OS X 10.5.8 (также относится к VMWare Workstation 6.5.2 в Vista, используемой для проверки проблемы) Гость: Ubuntu Server 9.04 (также относится к Ubuntu Desktop 9.04, используется для проверки проблемы) Сеть VMWare: мостовая Маршрутизатор: Apple TimeCapsule, последняя прошивка

Проблема:

После успешной установки Django 1.1 на гостевой компьютер и запуска встроенного веб-сервера Django (прослушивание 127.0.0.1:8000) я проверил через wget 127.0.0.1:8000 (а также через Firefox на Ubuntu Desktop 9.04), что действительно сервер работает.

Однако я не смог подключиться к серверу Django с хост-машины.

В частности:

В мостовом режиме гостевая ОС имеет IP 172.16.1.6 (назначается через DHCP с помощью TimeCapsule), хост-ОС имеет IP 172.16.1.2 (назначается через DHCP с помощью TimeCapsule). Я могу успешно пропинговать гостя с хоста, а также пинговать хост с гостя. Но сервер Django на порту 8000 недоступен из операционной системы хоста.

Есть ли какие-либо настройки конфигурации, которые должны быть включены для маршрутизации сервера Django от гостя к хосту? Либо в Ubuntu, либо в VMWare (рабочая станция или Fusion), либо в Vista или Mac OS X?

EDIT:

Я нашел решение. При вызове django-admin.py runserver есть документированный необязательный аргумент ipaddr: port. Установка 172.16.1.6 (вместо значения по умолчанию 127.0.0.1) позволила правильную маршрутизацию от гостя к хосту.

Ответы [ 2 ]

8 голосов
/ 24 июля 2010

Я обнаружил, что вы можете просто запустить сервер с помощью следующей команды, и это открывает все IP-адреса ...

python manage.py runserver 0.0.0.0:8000

Не за что.

1 голос
/ 19 августа 2009

Это может быть вопрос об ошибке сервера?

Я постоянно запускаю несколько экземпляров VMWare на компьютерах Mac, и они нормально обращаются друг к другу, а доступ с хоста работает нормально, поэтому здесь нет никаких теоретических проблем. Я также не нахожу ничего плохого в том, что вы описываете, хотя я не эксперт по Django.

Я предлагаю попробовать что-то более простое, например, попытаться получить доступ к простому текстовому файлу index.html, сначала с 127.0.0.1:8000 изнутри виртуальной машины, а затем 172.16.1.6:8000 с хоста. Или, возможно, даже установите apache и попробуйте их на порту 80, чтобы убедиться, что подключение в порядке.

...