Назад | Перейти на главную страницу

vagrant apache недоступен с хоста

Я запускаю виртуальный ящик из бродяги и пытаюсь получить доступ к веб-страницам, которые обслуживаются гостевым сервером apache.

Когда я выполняю wget http://dev.test.com/index.html на гостевой все работает нормально, но когда я выполняю wget http://dev.test.com:8080/index.html на хосте через некоторое время появляется сообщение об ошибке:

--2013-08-09 12:04:25--  http://dev.test.com:8080/index.html
Resolving dev.test.com (dev.test.com)... 127.0.0.1
Connecting to dev.test.com (dev.test.com)|127.0.0.1|:8080... connected.
HTTP request sent, awaiting response... Read error (Connection reset by peer) in headers.
Retrying.

Я включил переадресацию портов с гостя 80 на хост 8080, добавил 127.0.0.1 dev.test.com как для гостевого, так и для хост-файла / etc / hosts, а также для отключенного гостевого брандмауэра с service iptables stop но я все еще получаю ту же ошибку.

Может кто-нибудь подскажет, как это правильно настроить?

бродячая установка:

Мой хост: Ubuntu 13.04 32bit, Vagrant 1.0.3, виртуальная коробка 4.2.10

Я настроил бродячий ящик следующим образом:

vagrant box add centos64_64 http://puppet-vagrant-boxes.puppetlabs.com/centos-64-x64-vbox4210.box
vagrant init centos64_64
mkdir manifests
mkdir modules
cd modules

wget http://forge.puppetlabs.com/puppetlabs/apache/0.8.1.tar.gz
tar zxf 0.8.1.tar.gz
rm 0.8.1.tar.gz
mv puppetlabs-apache-0.8.1 apache

wget http://forge.puppetlabs.com/puppetlabs/stdlib/4.1.0.tar.gz
tar zxf 4.1.0.tar.gz
rm 4.1.0.tar.gz
mv puppetlabs-stdlib-4.1.0 stdlib

wget https://forge.puppetlabs.com/ripienaar/concat/0.2.0.tar.gz
tar zxf 0.2.0.tar.gz
rm 0.2.0.tar.gz
mv ripienaar-concat-0.2.0 concat

изменил содержимое Vagrantfile на:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant::Config.run do |config|
  config.vm.box = "centos64_64"

  config.vm.provision :puppet do |puppet|
    puppet.manifests_path = "manifests"
    puppet.manifest_file = "setup.pp"
    puppet.module_path = "modules"
  end

  config.vm.forward_port 80, 8080
end

и создал файл setup.pp с таким содержимым:

class{ "apache": }

apache::vhost { 'dev.test.com':
  port    => '80',
  docroot => '/var/www/html/test.com',
}

РЕДАКТИРОВАТЬ

netstat -tnl

гость:

tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:3306              0.0.0.0:*                   LISTEN      
tcp        0      0 :::80                       :::*                        LISTEN      
tcp        0      0 :::22                       :::*                        LISTEN      
tcp        0      0 ::1:25                      :::*                        LISTEN      
tcp        0      0 :::443                      :::*                        LISTEN

хост:

tcp        0      0 0.0.0.0:993             0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:995             0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:2222            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:4190            0.0.0.0:*               LISTEN     
tcp6       0      0 :::993                  :::*                    LISTEN     
tcp6       0      0 :::995                  :::*                    LISTEN     
tcp6       0      0 :::110                  :::*                    LISTEN     
tcp6       0      0 :::143                  :::*                    LISTEN     
tcp6       0      0 :::80                   :::*                    LISTEN     
tcp6       0      0 ::1:631                 :::*                    LISTEN     
tcp6       0      0 :::25                   :::*                    LISTEN     
tcp6       0      0 :::4190                 :::*                    LISTEN

РЕДАКТИРОВАТЬ 2

Проблема, похоже, связана с 64-битными гостевыми машинами CentOS 6.3 / 6.4. Я попробовал несколько из них, и пересылка не сработала. Теперь попробовал CentOS 5.9 64bit (http://puppet-vagrant-boxes.puppetlabs.com/centos-59-x64-vbox4210.box) с такими же марионеточными скриптами и переадресацией портов.

Вот вывод netstat -tnl для этого гостя:

tcp        0      0 0.0.0.0:808                 0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:3306              0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      
tcp        0      0 :::80                       :::*                        LISTEN      
tcp        0      0 :::22                       :::*                        LISTEN      
tcp        0      0 :::443                      :::*                        LISTEN

Я пока буду придерживаться более старой версии, но меня все еще интересует причина, по которой она не работает с более новыми версиями.