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

Виртуальные серверы Apache на основе имен без DNS

У меня установлен веб-сервер Apache на локальной машине Windows 7 x64. У него нет глобального DNS-имени.

В дистрибутиве по умолчанию виртуальный хост настроен в файле Apache / conf / extra / httpd-vhosts.conf.

У него одна директива

NameVirtualHost *:80

и несколько директив

<VirtualHost *:80>

с разными

ServerName www.domain.tld

Написаны разные имена hosts файл и все, что указывает на 127.0.0.1.

К сожалению, виртуальные хосты не работают. Только первый <VirtualHost> кажется, что тег активен. Ничего не сказано httpd.exe начиная и в error.log.

Как заставить здесь работать виртуальные хосты?

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

Я не вижу причин, по которым может потребоваться DNS. GET Запрос содержит символическое имя сайта, поэтому у сервера есть вся информация, чтобы определить, какой виртуальный хост был вызван.

ИЗМЕНИТЬ 1

Я обнаружил, что виртуальные хосты работают (без DNS!). Это проблема с одним конкретным хостом.

Виртуальные хосты настраиваются в следующем файле: extra / httpd-vhosts.conf

Вот пример того, как настроить виртуальный хост

<VirtualHost *:80>
ServerAdmin webmaster@website.com
DocumentRoot "/var/sites/website"
<Directory "/var/sites/website">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny   
    Allow from all
</Directory>

ServerName www.website.com
#ServerAlias www1.website.com
ErrorLog "logs/error_log"
CustomLog "logs/access_log" common
</VirtualHost>

Запомни :

Настройте свои обычные имена и псевдонимы в вашем диспетчере DNS и не забудьте включить этот файл в основные директивы httpd.conf.

Включите conf / extra / httpd-vhosts.conf