virtualbox - Vagrant 端口转发不适用于 Fedora 20 上的虚拟主机

标签 virtualbox vagrant virtualhost vhosts portforwarding

规范:

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

我正在尝试使用以下 vagrant 配置将主机的端口 8080 转发到 guest 的端口 80。
config.vm.network "private_network", ip: "192.168.56.101"
config.vm.network "forwarded_port", guest: 80, host: 8080

我已经在 guest 机器上设置了 vhost,服务器名称为 local.example.com .

我已将以下行添加到主机的/etc/hosts 文件中
192.168.56.101 local.example.com

vagrant up没有任何错误,如果我尝试访问 local.example.com ,找不到网页。但是,如果我使用 local.example.com:8080 ,我可以正常访问它。

为什么我不能使用 local.example.com 访问 guest 计算机上的虚拟主机用80端口?

更新 1

在客户机内部,如果我使用 curl http://192.168.56.101 ,我在终端中打印出正确的内容。如果我使用 curl http://localhost ,我得到与 192.168.56.101 相同的内容。所以我假设 192.168.56.101 正确指向本地主机。

更新2

在我的主机上,如果我运行 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:8080nc -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 的输出在 this link

最佳答案

log shows您在 VirtualBox 中有一个 DHCP 网络,它从相同的 192.168.56.101 地址开始。我的猜测是您有另一个 VirtualBox 实例(甚至不一定由 Vagrant 创建)运行并使用相同的 IP。从 VirtualBox GUI 或使用一些 VBoxManage list vms 查看等命令。

无论如何,您不应使用与 DHCP 服务器使用的范围相同的地址。

关于virtualbox - Vagrant 端口转发不适用于 Fedora 20 上的虚拟主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21584642/

相关文章:

macos - 我怎样才能杀死正在使用端口 8080 的任何进程,以便我可以 Vagrant ?

node.js - Angular 6 和 Vagrant 问题

nginx - 在 Nginx 服务器上创建虚拟主机

php - Cakephp Assets 未从 webroot 文件夹中获取。缺少 js 和 css,

Laravel Homestead 502 坏网关

c# - 从 Visual Studio 2017 社区建立与在 Linux 虚拟机上运行的 mysql 的 C# 连接

linux - 如何配置 Linux Mint 17 以获取最新的 VirtualBox

Ubuntu 14.01.1 LTS(apt-get 更新不工作)

rabbitmq - VirtualHost 是 RabbitMQ 中的好模式吗?

linux - 在同一台 PC 上使用 Virtualbox 的 Windows 和 Linux 应用程序之间的 ActiveMq 消息传递不起作用