通过LAN上的虚拟主机访问Vagrant VM

时间:2017-12-13 17:47:21

标签: apache networking vagrant

我的主机上有一个在漫游虚拟机内运行的Web服务器(A)。我希望另一台机器(B)能够通过局域网查看网站。

enter image description here

在我的vagrant配置中,我有以下相关的配置行:

config.vm.network "public_network", ip: "192.168.33.10"
config.vm.network "forwarded_port", guest: 80, host: 8080

在主机上的Windows主机文件中(A)我有:

192.168.33.10 awesomewebsite.dev

在LAN机器的主机文件中(b)我指向机器A的IP

172.123.12.12 awesomewebsite.dev

我在VM中有一个apache vhost文件,其中包含以下配置:

<VirtualHost *:80>
        ServerName awesomewebsite.dev
        DocumentRoot /var/www/awesomesite
        ErrorLog ${APACHE_LOG_DIR}/awesome.log
        CustomLog ${APACHE_LOG_DIR}/awesome.log combined
</VirtualHost>

当我在主机上访问awesomewebsite.dev时,它可以工作。但是当我在机器B上访问时,它似乎无法到达机器A.当我在机器B上访问awesomesite.dev:8080时,它最终会出现在错误的Web目录中并获得权限错误。

我添加了以下内容(仅用于测试,我知道它的安全性不高)

<Directory "/var/www">
 Allow from all
</Directory>

我需要机器B通过没有端口的确切虚拟主机访问机器A上的VM。这可能吗?

1 个答案:

答案 0 :(得分:0)

使用公共网络,它应该只使用以下

192.168.33.10 awesomewebsite.dev
机器B上的

。该机器应该能够看到主机A上运行的任何虚拟机,并将其视为一台独立的机器(它在网络上注册了自己的网络接口)

在使用静态IP时,您无需执行任何转发端口,因为您可以直接从IP访问任何端口