httpd на CentOS разрешает только первый VirtualHost

httpd на CentOS разрешает только первый VirtualHost

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

Когда я указываю в своем браузере IP-адрес моего сервера, он на самом деле разрешается в первый настроенный мной VirtualHost, которыйне должнабыть корневой папкой. Этот VirtualHost должен появиться, когда я перейду вIP-адрес/путь, не простоайпи адрес.

Настройка сервера:
Хозяин:Облачный сервер Rackspace
ОПЕРАЦИОННЫЕ СИСТЕМЫ:CentOS6
VirtualHosts:

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName www.wphax.com
    ServerAlias wphax.com *.wphax.com
    DocumentRoot /var/www/wphaxcom
    ErrorLog /var/www/wphaxcom/error.log
    CustomLog /var/www/wphaxcom/access.log combined
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName www.dnadvanced.com
    ServerAlias dnadvanced.com *.dnadvanced.com
    DocumentRoot /var/www/dnadvancedcom
    ErrorLog /var/www/dnadvancedcom/error.log
    CustomLog /var/www/dnadvancedcom/access.log combined
</VirtualHost>

Есть идеи, что может быть причиной этого, и как мне настроить так, чтобы корневой каталог не был доступен при вводе IP-адреса, но доменные имена корректно разрешались в указанные папки? Спасибо.

решение1

ИзПоддержка виртуального хоста на основе именистатья в документации сервера Apache:

Виртуальные хосты на основе IP используют IP-адрес соединения для определения правильного виртуального хоста для обслуживания. [...]

Виртуальный хостинг на основе имени обычно проще, поскольку вам нужно только настроить DNS-сервер для сопоставления каждого имени хоста с правильным IP-адресом, а затем настроить Apache HTTP-сервер для распознавания различных имен хостов. [...]

Указывая IP-адрес напрямую, выявляютсяпо сути выбирая первый виртуальный хост, указанный в вашем файле конфигурации. Поскольку вы никогда не указывали IP-адрес в файле конфигурации, этот хост прослушивает все IP-адреса. То, как Apache определяет, какой веб-сайт обслуживать, диктуется информацией, полученной в заголовках HTTP из запроса клиента.

Если вы не можете получить доступ к обоим виртуальным хостам через независимые IP-адреса или через разные номера портов (например, установить второй на порт 81), вам придется подождать, пока изменения вашего доменного имени вступят в силу.


Если выДействительнонужно протестировать сервер сейчас, вы можете попробовать вручную изменить заголовки HTTP после каждого запроса (используя что-то вродеДанные о несанкционированном доступе(дополнение для Firefox), чтобы Apache открывал нужную страницу в вашем браузере.

Связанный контент