Понимание основ поддоменов с VirtualHosts [закрыто]

Я хотел бы создать два поддомена для своего сайта. Для этого я создал три VirtualHosts в моем файле по умолчанию в разделе sites-available (я использую Apache в Ubuntu):

<VirtualHost 127.0.0.1>
     ServerName nmagerko.me
     ...
     DocumentRoot /var/www
     ...
</VirtualHost>

<VirtualHost 127.0.0.1>
     ServerName sub1.nmagerko.me
     ...
     DocumentRoot /some/different/path
     ...
</VirtualHost>

<VirtualHost 127.0.0.1>
     ServerName sub2.nmagerko.me
     ...
     DocumentRoot /some/different/path2
     ...
</VirtualHost>

Однако я не уверен, что делать после этого момента. У меня есть каждый из этих поддоменов и мой основной домен в моем файле / etc / hosts как 127.0.0.1 , и я установил записи A для sub1 и ] sub2 в редакторе домена моего регистратора доменов. Однако эти записи A указывают на тот же IP-адрес, что и мой основной домен, поскольку все это размещается в одной системе ... что не очень полезно. Итак, когда я перехожу к sub1.nmagerko.me в моем браузере, я получаю тот же сайт, что и у меня, как если бы я перешел на nmagerko.me .

Есть предложения по дальнейшим действиям?

1
задан 6 July 2013 в 14:45
3 ответа

Хм, конфигурация, которую вы написали, мне кажется правильной, поэтому я постараюсь показать вам, как отладить проблему:

1- Убедитесь, что DNS правильно настроен, выполняя копать nmagerko.me , копать sub1.nmagerko.me и копать sub2.nmagerko.me и искать IP. Используйте wget X.nmagerko.me для тестирования, браузер может кэшировать ответы DNS.

2- Убедитесь, что файлы в / some / different / path , / var / www и / some / different / pat2 разные.

3- Убедитесь, что вы перезапускаете apache с помощью

sudo service apache2 restart

Кроме того, вы можете посмотреть в журналах тоже.

Надеюсь на эту помощь.

2
ответ дан 3 December 2019 в 16:47

Попробуйте изменить IP-адрес только на порт 80 во всех случаях:

<VirtualHost *:80>
    ServerName nmagerko.me
    ...
    DocumentRoot /var/www
    ...
</VirtualHost>

Это может помочь решить проблему, когда виртуальный хост прослушивает только внутренний (локальный) трафик. Поскольку вы устанавливаете записи A для своих доменов, я предполагаю, что вы используете общедоступный сервер?

Не забудьте перезагрузить apache после любого изменения файла conf:

$ sudo service apache2 reload

Наконец, сообщите нам об этом. просто тестируешь локально. Если это так, вам, вероятно, не нужно изменять запись A вашего домена (если вы не размещаете свой собственный частный DNS?).

Вы используете общедоступный сервер?

Не забудьте перезагрузить apache после любого изменения файла conf:

$ sudo service apache2 reload

Наконец, дайте нам знать, что вы тестируете только локально. Если это так, вам, вероятно, не нужно изменять запись A вашего домена (если вы не размещаете свой собственный частный DNS?).

Вы используете общедоступный сервер?

Не забудьте перезагрузить apache после любого изменения файла conf:

$ sudo service apache2 reload

Наконец, дайте нам знать, что вы тестируете только локально. Если это так, вам, вероятно, не нужно изменять запись A вашего домена (если вы не размещаете свой собственный частный DNS?).

3
ответ дан 3 December 2019 в 16:47

Без всего httpd.conf (включая включенные) отсюда невозможно сказать, но добавив

NameVirtualHost 127.0.0.1:80

над вашим первым <домен virtualHost: 80> может помочь? После изменения перезапустите apache.

1
ответ дан 3 December 2019 в 16:47

Теги

Похожие вопросы