我在Mac上运行Vagrant。我有一个与Virtualbox提供程序和and一起运行的CentOS 6.4框(在此情况下不重要)。这是一个基本的Vagrantfile,用于显示我遇到的问题:
Vagrant.configure("2") do |config|
# centos box information
config.vm.box = "nrel/CentOS-6.5-x86_64"
config.vm.hostname = "devbox.loc"
config.vm.network "forwarded_port", guest: 80, host: 8080
config.vm.network "private_network", ip: "192.168.10.187"
config.vm.network "public_network"
end
我有一些虚拟主机设置,我可以通过使用专用网络IP修改Mac上的主机文件来访问诸如devsite.loc和othersite.loc之类的URL。所有这一切都按预期工作,我可以通过其地址访问每个虚拟主机,并查看正确的站点。
基本的虚拟主机文件如下所示:
<VirtualHost *:80>
DocumentRoot /home/devsite/public_html
ServerName devsite.loc
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /home/othersite/public_html
ServerName othersite.loc
</VirtualHost>
但是,如果我尝试运行vagrant share
它将失败,并显示以下错误:
default: Local machine address: 192.168.10.187
/opt/vagrant/embedded/lib/ruby/2.0.0/net/http.rb:878:in`initialize'中:getaddrinfo:提供的节点名或服务名,或者未知(SocketError)
如果我删除了vhosts文件,则流浪汉共享可以正常工作,共享默认的Apache页面。某些事情vagrant share
显然不喜欢我的vhosts文件,但我不知道它可能是什么。
FWIW我正在使用最新版本的Vagrant和Virtualbox。
事实证明,这里的问题实际上是虚拟主机中的站点。它包含一个.htaccess
,www.
在URL中添加了前缀,其中包含许多域名例外(包括任何以.loc结尾的域名)。vagrant share
尝试使用IP地址而不是域名通过http连接的事实被触发,并且www.192.168.10.187
由于无法访问URL ,因此似乎重定向导致了ruby错误。简而言之-我的糟糕。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句