CentOS vhosts вызывает проблемы с командой Vagrant Share
Я бегу Vagrant на моем Mac. У меня есть пакет CentOS 6.4, работающий с провайдером Virtualbox и марионеткой (не важно в этом контексте). Это основной 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
У меня есть несколько настроек vhosts, к которым я обращаюсь по таким URL-адресам, как devsite.loc и othersite.loc, изменив файл hosts на моем Mac с IP-адресом частной сети. Все это работает, как и ожидалось, и я могу получить доступ к каждому из этих vhosts по их адресам, увидев правильный сайт.
Основной файл vhost выглядит так:
<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, тогда работает vagrant share, разделяющая страницу Apache по умолчанию. Кое-что о vagrant share
явно не нравится что-то в моем файле vhosts, но я понятия не имею, что это может быть.
Я использую последние версии Vagrant и Virtualbox.
1 ответ
Оказывается, проблема здесь была на самом деле в Vhost. Он содержал .htaccess
который добавил www.
префикс к URL с рядом исключений доменного имени (включая любое доменное имя, заканчивающееся на.loc). Дело в том, что vagrant share
пытался подключиться через http, используя IP-адрес, а не имя домена, это правило было запущено, и, кажется, перенаправление на www.192.168.10.187
вызвал ошибку ruby, так как это был недоступный URL. Короче моё плохо.