3

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

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

Настройка сервера:
Хост: Rackspace Cloud Server
ОС: CentOS 6
VirtualHosts:

<VirtualHost *:80>
    ServerAdmin www.wphax.com@gmail.com
    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 www.wphax.com@gmail.com
    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 ответ1

3

Из статьи « Поддержка виртуальных хостов на основе имен» в документации по серверу Apache:

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

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

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

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


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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .