Бродячие виртуальные хосты / общие папки недоступны
В настоящее время у меня есть Vagrant Box с CentOS 7. В моем Vagrantfile у меня есть следующие конфигурации:
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"
Я знаю, что по умолчанию vagrant разделяет содержимое папки, в которой находится Vagrantfile. Те могут быть достигнуты на /vagrant
папка внутри ВМ.
Код, который я хочу получить, находится в той же папке, что и Vagrantfile. Я могу достичь его внутри виртуальной машины на /vagrant/api/
,
Моя цель - быть в состоянии достичь индекса API внутри моей машины. Я пытаюсь создать виртуальный хост для этого эффекта.
В моем файле обеспечения у меня есть следующее:
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
в браузере я получаю This site can’t be reached. vagrant.api.local refused to connect.
Я могу пропинговать этот URL и получить положительные результаты, потеря пакета 0%.
Любая идея о том, как я могу загрузить /vagrant/api/public/index.php
файл по этому URL? Что я делаю неправильно?