Vagrant没有收听我的端口并使用默认端口

时间:2015-08-17 13:13:14

标签: vagrant

我现在使用Vagrant进行多个项目的每个项目安装,这意味着我有多个框。每个项目一个(或用于生产环境)

当我想访问我的第一个Vagrantbox时,我通过http://sitea.com:8080访问它。我的第二个Vagrantbox应该收听1337(我在此尝试了多个端口),但是当我致电http://siteb.com:1337时,我在所有浏览器中都收到错误(Chrome中为ERR_CONNECTION_REFUSED)。

然而,当我调用我的第二个网站http://siteb.com时,它可以毫无问题地工作。看来我的第二个Vagrantbox只是没有收听端口并使用默认端口。但那为什么呢?

第一个框(仅适用于端口)

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config|
  config.vm.box   = "puppetlabs/debian-7.8-64-puppet"
  config.vm.provision :shell, path: "vagrant_ressources/bootstrap.sh"
  config.vm.network :forwarded_port, guest: 80, host: 8080
  config.vm.network "private_network", ip: "192.168.50.4"
  config.vm.synced_folder ".", "/var/www", type: "nfs"
end

第二个框(仅适用于没有端口)

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config|
  config.vm.box   = "puppetlabs/debian-7.8-64-puppet"
  config.vm.provision :shell, path: "vagrant_ressources/bootstrap.sh"
  config.vm.network :forwarded_port, guest: 80, host: 1337
  config.vm.network "private_network", ip: "192.168.50.5"
  config.vm.synced_folder ".", "/var/www", type: "nfs"
end

两者都具有相同的vhost配置,我的hosts文件看起来像这样

# Vagrant
192.168.50.4    sitea.com
192.168.50.5    siteb.com

1 个答案:

答案 0 :(得分:0)

使用Vagrant端口转发时,您通常会访问localhost,因为转发的端口可在您的主机上使用。像这样:

http://localhost:8080 -> should deliver the website siteA.com
http://localhost:1337 -> should deliver the website siteB.com

如果您能够访问http://siteB[:80],则表示siteB的DNS条目指向192.168.50.5,即该框的专用网络IP。

检查:

getent hosts | grep siteB\.com

我打赌它会给你192.168.50.5