Проброс портов virtualbox – windows 8 и ubuntu 14.04, как открывать локальные сайты из виртуалки?

Поставил себе в виртуалбокс Убунту с LEMP.
Настроил себе SSH и SFTP доступ к гостю из под хоста (по мотивам этого мануала). Через проброс портов - 2222 на 22. Все работает.

Думал так же легко смогу пробросить в хост-систему все мои локальные сайты из виртуалки. В виртуалбоксе в настойках виртуалки прописываю:
abc8e72642d243f9a9d2ab7097e408b3.png
Перехожу в браузере хост-системы на 127.0.0.1:8080 - все по плану, показывается заглушка Ngnix сервера.

Самое интересное. Пытаюсь перейти на мой развернутый в виртуалке сайт example.com из-под хоста: example.com:8080 - и сайт не грузится. Хотя в виртуалке в браузере все отображается (естественно после добавления в /etc/hosts записи 127.0.0.1 example.com .
Я пробовал добавить соответствующую запись в файл hosts хост-системы (windows 8 в моем случае) - и ничего, сайт не показывается.
Так что я делаю не так?
  • Вопрос задан
  • 27231 просмотр
Решения вопроса 2
@victafonenko Автор вопроса
Решил проблему полностью. Ниже мануал.

Чтобы все заработало, (SSH-доступ, + доступ к локальным сайтам виртуалки):

1) Создаем виртуалку. По-вкусу настраиваем веб-сервер, с установленным к примеру сайтом example.com на локалхосте. / Еще ставим OpenSSH сервер:
sudo apt-get install -y openssh-server

2)Выключаем виртуалку, идем в Машина - Настроить - Сеть - Адаптер 1 (выбираем тип подключения NAT) - Проброс Портов. Там ставим такие настройки:
fa9c8fd0bee8465ea92f2535e7c053b7.png
Где Rule 1 позволят подключатся по SSH/SFTP к виртуалке из под хост-системы по порту 2222. Rule 2 перебрасывает все соединения по порту 80 (http) хост-системы в виртуалку на порт 80.
С такими настройками уже будет работать SSH, но локальные сайты веб-сервера виртуалки в хост-системе еще показываться не будут.

3) Далее в том же окне Сеть настроек виртуалки, подключаем второй сетевой адаптер (Адаптер 2) с внутренней сетью:
d3904e86e63b4edc9371f10c00cd82a6.png
Все сохраняем, запускаем виртуалку.

4) Далее правим файл hosts хост-системы. В винде это обычно Windows\System32\drivers\etc\hosts . Добавляем туда запись типа 127.0.0.1 example.com (это значит что при переходе на example.com нас должно перенаправлять на localhost)

Собственно все. По адресу example.com в браузере хост-системы должен открываться наш локальный сайт на веб-сервере виртуалки.
Если стоит виртуалка linux-desktop, и мы хотим чтобы и там наш локальный сайт example.com открывался в браузере, тогда добавляем аналогичную запись 127.0.0.1 example.com в файл hosts виртуалки по адресу /etc/hosts

Ссылки для раздумий leonid.shevtsov.me/ru/installing-ubuntu-linux-on-v... и leonid.shevtsov.me/ru/virtuabox-ubuntu-configurati...
Ответ написан
Комментировать
1nn0
@1nn0
Системный администратор\Фрилансер
Если машина домашняя, я бы на Вашем месте настроил сетевой интерфейс в режим bridge (мост) с локальным интерфейсом хоста. После этого и хост и виртуалка будут доступны в локальной сети как 2 отдельные машины (не забудьте проверить настройки интерфейса в виртуальной машине, при необходимости внесите правки под Вашу локалку).
Ну и как финал - настройте локальный ДНС для сайтов.
Если машина не домашняя, то покажите конфиги, как попросил Назар Мокринский
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
nazarpc
@nazarpc
Open Source enthusiast
Сравните конфиг по-молчанию с вашим, покажите вывод ifconfig с виртуалки, ну и конфиг самого сайта тоже не помешало бы.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы