Web 流浪主机端口被忽略

Web 流浪主机端口被忽略,web,workflow,vagrant,Web,Workflow,Vagrant,在我的vagrant文件中,我有我的开发机器的定义,专用网络ip为192.168.33.10,转发端口为“guest=80,host=8888”,但当运行我的vagrant环境时,我尝试运行curl-I 192.168.33.10:8888,我得到一个错误,说“连接到192.168.33.10:8888失败;连接被拒绝,但当我尝试连接到192.168.33.10:80时,一切正常 我的档案是: Vagrant::configure("2") do |config| config.vm.b

在我的vagrant文件中,我有我的开发机器的定义,专用网络ip为192.168.33.10,转发端口为“guest=80,host=8888”,但当运行我的vagrant环境时,我尝试运行curl-I 192.168.33.10:8888,我得到一个错误,说“连接到192.168.33.10:8888失败;连接被拒绝,但当我尝试连接到192.168.33.10:80时,一切正常

我的档案是:

Vagrant::configure("2") do |config|
    config.vm.box = "precise32"

    config.vm.define :web do |www|
        www.vm.hostname = "apache"
        www.ssh.max_tries = 10
        www.vm.network :forwarded_port, guest: 80, host: 8888  # Apache port
        www.vm.network :private_network, ip: "192.168.33.10"

        www.vm.synced_folder "www", "/var/www", :extra => 'dmode=777,fmode=777'
    end
end

为什么会发生这种情况?vagrant是否忽略转发端口?

默认情况下,vagrant Box使用NAT模式,这意味着来宾位于主机和来宾之间的
路由器(VirtualBox网络引擎)后面,该路由器透明地映射来自和到虚拟机的流量。主人看不见客人,也看不到他们

这就是我们需要端口转发的原因。否则无法访问在guest上运行的服务

在您使用的情况下,将为来宾分配一个只有主机才能访问的私有IP地址,即
192.168.33.10

访问客户机上托管的web的正确方法是=>
http://192.168.33.10
从主机发送

您在
vagrant文件中有端口转发部分

www.vm.network :forwarded_port, guest: 80, host: 8888  # Apache port
它正在将来宾端口80转发到主机的8888因为您没有使用NAT模式我很确定它将被忽略。尝试
curl-Ishttp://localhost:8888

注意:即使它仍然可以工作,您也应该通过=>
http://localhost:8888/
来自您的主机