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 ответа:
Журналпоказывает , что у вас есть сеть 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 уже использовал порт под корневым именем пользователя.