
Я пытался настроить виртуальные серверы для своих веб-сайтов, но безуспешно. Я работаю на Debian 2.6.32 на VPS. Я настроил виртуальные серверы со многими конфигурациями и оставил их относительно простыми для тестирования (я включил только epicbackroads.com). Вот мои три виртуальных хоста:
<VirtualHost *:80>
DocumentRoot "/srv/www/epicbackroads.com/public_html"
ServerName epicbackroads.com
<Directory "/srv/www/epicbackroads.com/public_html">
allow from all
Options +Indexes
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName johnpwarren.com
DocumentRoot /srv/www/domain2.com/public_html
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /srv/www/domain2.com/public_html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
а вот мой файл /etc/hosts:
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
127.0.0.1 localhost.localdomain localhost
# Auto-generated hostname. Please do not remove this comment.
208.84.135.70 serv1.epicbackroads.com serv1
208.84.135.70 epicbackroads.com epicbackroads
208.84.135.70 johnpwarren.com johnpwarren
208.84.135.70 voip.johnpwarren.com voip.johnpwarren
::1 localhost ip6-localhost ip6-loopback
и /etc/resolv.conf:
search epicbackroads.com
nameserver 8.8.8.8
nameserver 8.8.4.4
а также проверка завитка:
# curl -I epicbackroads.com
HTTP/1.1 200 OK
Date: Mon, 27 May 2013 09:16:40 GMT
Server: Apache/2.2.16 (Debian)
Last-Modified: Mon, 27 May 2013 05:05:00 GMT
ETag: "32237e0-4f-4ddac173588f2"
Accept-Ranges: bytes
Content-Length: 79
Vary: Accept-Encoding
Content-Type: text/html
X-Pad: avoid browser bug
</VirtualHost>
Однако браузер продолжает выдавать ошибку "Сервер не найден". Что еще мне следует проверить?
ОБНОВЛЕНИЕ: Также я запустил telnet и получил следующее:
telnet 208.84.135.70 80
Trying 208.84.135.70...
Connected to 208.84.135.70.
Escape character is '^]'.
Connection closed by foreign host.
решение1
Опубликованная вами конфигурация Apache неполна или вообще недействительна.
Во втором виртуальном хосте обнаружена синтаксическая ошибка (отсутствует символ «<»).
VirtualHost *:80>
и он никогда не закрывается. Отсутствует:
</VirtualHost>
Также вас не хватает ServerName
на каждом виртуальном хосте.
https://httpd.apache.org/docs/current/mod/core.html#имя_сервера
Apache не будет знать, какой виртуальный хост обслуживать, и по умолчанию будет использовать первый в конфигурации.
Помимо этого, проблема с epicbackroads.com, по-видимому, заключается в вашей конфигурации DNS. epicbackroads.com не преобразуется ни в один IP-адрес.
Ваш сервер может разрешить домен, поскольку вы вручную настроили его в файле /etc/hosts, но ваш ПК не может разрешить этот домен, поэтому он ничего не загружает.