Раскрытие: на сервере я ноееет. Я сказал это.
Итак, у меня есть виртуальная машина, на которой запущен ubuntu с сетевым подключением BRIDGED и запущен веб-сервер python на порту 8000. Когда я перехожу к http://localhost:8000/
внутри vm все работает как положено. Но мне нужно получить доступ к этому веб-серверу извне виртуальной машины на той же машине. я использовал ifconfig
получить ip локальной сети 192.168.1.131
из Ubuntu vm. Теперь, если я приду http://192.168.1.131
в моем браузере за пределами виртуальной машины я получаю страницу с указанием:
Оно работает!
Это веб-страница по умолчанию для этого сервера.
Программное обеспечение веб-сервера запущено, но контент еще не добавлен.
Однако это не мой веб-сервер python, это что-то еще, работающее на порту 80. Мой python работает на порту 8000, и когда я добрался до http://192.168.1.131:8000
Я получил:
Невозможно подключиться
Firefox can't establish a connection to the server at 192.168.1.131:8000.
Что здесь происходит? Может ли Ubuntu блокировать входящее соединение в 8000
но позволяя им 80
? Это свежая установка на виртуальной машине Ubuntu 12.04 LTS 64 бит. Любая помощь приветствуется. Спасибо.
Ваш веб-сервер Python может выбирать, какой адрес (а) слушать. Это может быть слушание только на localhost
адрес (127.0.0.1), а не внешний IP-адрес 192.168.1.131. С другой стороны, Apache (или что-то еще, что отвечает на порт 80), вероятно, прослушивает все адреса, включая localhost и ваш внешний IP-адрес.
Чтобы сделать это с помощью Django, попробуйте использовать:
runserver 0.0.0.0:8000
Увидеть документация для django-admin для получения дополнительной информации.