流动的虚拟主机/共享文件夹无法访问

时间:2019-04-04 13:57:11

标签: php apache centos vagrant virtual-machine

我目前在CentOS 7上有一个无业游民的盒子。在我的Vagrantfile中,我有以下配置:

/

我知道默认情况下,vagrant共享包含Vagrantfile的文件夹的内容。可以在VM内的config.vm.box = "centos/7" config.vm.provision :shell, path: "provision.sh" config.vm.network "private_network", ip: "192.168.50.4" # config.vm.synced_folder ".", "/vagrant" 文件夹中访问这些文件。

我要访问的代码与Vagrantfile位于同一文件夹的同一文件夹内。我可以在/vagrant的VM内访问它。

我的目标是能够到达机器内部api的索引。我正在尝试为此创建一个虚拟主机。

在我的供应文件中,我有以下内容:

/vagrant/api/

然后我在机器和VM上的两个if [ $(grep -c 'api' /etc/httpd/conf/httpd.conf) -eq 0 ]; then cat >> /etc/httpd/conf/httpd.conf <<EOM <VirtualHost *:8081> DocumentRoot "/vagrant/api/public" <Directory "/vagrant/api/public"> Options +Indexes +FollowSymLinks DirectoryIndex index.php Order allow,deny Allow from all AllowOverride All Require all granted Header set Access-Control-Allow-Origin "*" Header always set Access-Control-Allow-Headers "X-Requested-With, Content-Type, Origin, Authorization, Accept, Client-Security-Token, Accept-Encoding" Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT, UPDATE" Header merge Vary "Origin" </Directory> ServerName vagrant.api.local:8081 ServerAlias vagrant.api.local SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 </VirtualHost> EOM fi service httpd restart; 文件中都添加了192.168.50.4 vagrant.api.local

但是,当我尝试在浏览器中访问/etc/hosts时,我得到了vagrant.api.local:8081

我可以ping通此URL并获得积极的结果,数据包丢失率为0%。

关于如何在此URL上加载This site can’t be reached. vagrant.api.local refused to connect.文件的任何想法?我在做什么错了?

1 个答案:

答案 0 :(得分:2)

我会回答

  

我的目标是能够达到机器内部api的索引

因此,默认情况下您是正确的,vagrant与VM的Vagrantfile文件夹共享了包含/vagrant的本地文件夹的内容。

不过,有一点是,该框会覆盖Vagrantfile的配置,而对于centos/7框则是这样。

如果您查看$HOME/.vagrant.d/boxes/centos-VAGRANTSLASH-7/<box_version>/virtualbox,会发现Vagrantfile框声明了

Vagrant.configure("2") do |config|
  config.vm.base_mac = "525400261060"
  config.vm.synced_folder ".", "/vagrant", type: "rsync"
end

由于该文件夹的类型为rsync,因此它是从运行的计算机到由Vagrant启动的计算机的唯一一次单向同步。

最简单的方法是删除rsync文件夹类型,并使用默认的virtualbox sync文件夹机制,该机制将提供(近)实时双向同步。