Vagrant port forwarding не работает с vhosts на Fedora 20


Спецификация:

OS: Linux fedora 3.12.9-301.fc20.x86_64.
VirtualBox: 4.3.6
Vagrant: 1.4.3

Я пытаюсь переадресовать порт 8080 хоста на порт 80 гостя, используя следующие блуждающие конфигурации.

config.vm.network "private_network", ip: "192.168.56.101"
config.vm.network "forwarded_port", guest: 80, host: 8080

Я настроил vhost на гостевой машине с именем сервера local.example.com.

Я добавил следующую строку в файл хост-машины / etc / hosts

192.168.56.101 local.example.com

После vagrant up без какой-либо ошибки, если я попытаюсь получить доступ к local.example.com, веб-страница не может быть найдена. Однако, если я использую local.example.com:8080, я могу получить к нему доступ нормально.

Почему я не могу получить доступ к vhost на гостевой машине использование local.example.com с портом 80?

Обновление 1

Внутри гостевой машины, если я использую curl http://192.168.56.101, я получаю правильное содержимое, распечатанное в терминале. Если я использую curl http://localhost, я получаю то же самое содержимое, что и 192.168.56.101. Поэтому я предполагаю, что 192.168.56.101 правильно указывает на localhost.

UPDATE2

В моей хост-машине, если я запускаю curl http://192.168.56.101, я получаю следующую ошибку.

curl: (7) Failed connect to 192.168.56.101:80; Connection refused

Если я побегу nc -v local.example.com, nc -v local.example.com:8080 или nc -v 192.168.56.101, я получаю следующую ошибку.

Обновление 3

Я увидел эту команду во время поиска решения nmap -sS -P0 192.168.56.101/32, и я запустил ее и получил следующий результат.

Nmap scan report for local.example.com (192.168.56.101)
Host is up (0.0000040s latency).
Not shown: 999 closed ports
PORT     STATE SERVICE
8080/tcp open  http-proxy

Nmap done: 1 IP address (1 host up) scanned in 2.40 seconds

Правильно ли это выглядит?

Обновление 4

Выход vagrant reload --debug находится в этой ссылке

3 4

3 ответа:

Журналпоказывает , что у вас есть сеть DHCP в VirtualBox, которая начинается прямо с того же адреса 192.168.56.101. Я предполагаю, что у вас есть другой экземпляр VirtualBox (не обязательно даже созданный Vagrant), работающий и использующий тот же IP. Проверьте из графического интерфейса VirtualBox или с некоторыми VBoxManage list vms и т. д. команды.

В любом случае, вы не должны использовать адрес из того же диапазона, что и DHCP-сервер.

У меня была точно такая же проблема с Vagrant после обновления до Fedora 20. После нескольких потерянных часов возни с iptables и SELinux configs я исправил это, просто переключив IP частной сети:

private_network: 192.168.56.123

Я предполагаю, что это связано с ответом tmatilai о конфликте с диапазонами DHCP, но когда я проверил, другой ресурс httpd уже использовал порт под корневым именем пользователя.

При использовании частной сети переадресация портов не требуется. Если гость размещает веб-сервер на порту 80, вы должны иметь возможность связаться с ним на http://192.168.56.101 без настройки переадресации портов.