如何访问vagrant guest servername?

时间:2016-11-30 10:58:52

标签: apache vagrant virtual-hosts

我安装了Vagrant,根据网站Hashicorp的教程设置了流浪盒,我已经设置了端口转发,具有唯一IP的专用网络和文件夹同步。

这是我在SSH时所拥有的:

login as: vagrant
vagrant@127.0.0.1's password:
Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 3.13.0-101-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

  System information as of Wed Nov 30 10:35:39 UTC 2016

  System load:  0.22              Processes:           86
  Usage of /:   3.7% of 39.34GB   Users logged in:     0
  Memory usage: 25%               IP address for eth0: 10.0.2.15
  Swap usage:   0%                IP address for eth1: 192.168.33.10

vagrant文​​件位于C:\ vagrant2(Windows 10)

我有两个包含index.html文件的文件夹。

var / www / html与主机中的C:\ vagrant2 \ html文件夹同步(默认情况下),我添加了另一个文件夹 var / www / html2与主机中的C:\ vagrant2 \ html2文件夹同步

vagrant文​​件是这样的:

Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.synced_folder "./html2", "/var/www/html2", :mount_options => ["dmode=777", "fmode=644"]
config.vm.provision :shell, path: "bootstrap.sh"
config.vm.network :forwarded_port, guest: 80, host: 4567
config.vm.network "public_network", ip: "192.168.33.10"

在guest虚拟机中/ etc / hosts文件是这样的(我定义了2个主机):

127.0.0.1 localhost
192.168.33.10 box.local
127.0.0.1 bebox.local
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Apache配置文件是这样的:

Listen 81
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    ServerName box.local
</VirtualHost>

<VirtualHost *:81>
    DocumentRoot /var/www/html2
    ServerName bebox.local
    ServerAlias bebox
</VirtualHost>

我可以通过ip地址转发访问页面:     http://127.0.0.1:4567/

我可以使用其IP访问同一网站:       192.168.33.10

我可以访问正在侦听端口81的第二个站点:       192.168.33.10:81

但是我需要通过guest虚拟机中定义的servername访问。我在Windows 10中输入了我的浏览器:

http://box.local

http://bebox.local

我在Chrome控制台中无法正常工作:

GET http://box.local/ net::ERR_NAME_NOT_RESOLVED

在客户操作系统中,当我ping box.local或bebox.local时,没关系。

在主机上,ping名称不起作用,它说没有找到主机box.local 但ping甚至localhost确实有效

我尝试禁用Windows防火墙,但没有改变任何内容。

1 个答案:

答案 0 :(得分:2)

您需要从Windows主机修改主机文件(它应该在C:\WINDOWS\system32\drivers\etc\hosts)并添加以下内容

192.168.33.10    box.local
192.168.33.10    bebox.local