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

Apache VirtualHost отвечает, когда я перехожу на IP-адрес

У меня есть стандартная сборка RHEL6, и я мог просматривать серверные DocumentRoot используя IP-адрес.

С тех пор я добавил эти два vhosts (показан только верхний раздел). По какой-то причине теперь, когда я получаю доступ к IP-адресу сервера, Vhost отвечает и ошибается DocumentRoot используется.

Я действительно не хочу явно определять Vhost для /var/www/html.

Еще одно примечание ... Я добавил NameVirtualHost *:80 к httpd.conf.

Есть идеи, почему на это отвечают vhosts?

==> axxx-http.conf <==

<VirtualHost *:80>
ServerAdmin beren@xxyy.com
ServerName xxyy.com
ServerAlias www.xxyy.com
DocumentRoot /var/www/site
<Directory /var/www/site>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all

==> axxx-ssl.conf <==

<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName xxyy.com
    ServerAlias www.xxyy.com
    ServerAlias admin.xxyy.com
DocumentRoot /var/www/site
<Directory /var/www/site>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All

Когда вы начинаете использовать виртуальные хосты на веб-сервере, вы должны создать виртуальный хост для нормальный сервер тоже. Если вы не создадите его, первый определенный виртуальный хост будет по умолчанию для любых подключений к серверу, не совпадающих с другим виртуальным хостом ServerName или директивой ServerAlias.

Проверить раздел "Главный хозяин уходит"по этому URL-адресу для объяснения:
http://httpd.apache.org/docs/2.2/vhosts/name-based.html

*: 80 указывает этому виртуальному хосту отвечать на 80-м порту для каждого IP-адреса. Если вы собираетесь использовать виртуальные хосты на основе имен, вы должны определить значение по умолчанию как дефолт: 80 с тем, что вы хотите по умолчанию. Вы не можете использовать конфигурации vhost и non-vhost на одном порту.