Как разместить несколько доменов и поддоменов в одном экземпляре AWS EC2

apache amazon-web-services amazon-ec2 httpd.conf amazon-route53

15716 просмотра

3 ответа

137 Репутация автора

Я пытаюсь настроить 2 домена (domain1.com и domain2.com) с несколькими поддоменами (app.domain1.com) в AWS и запустить их на одном экземпляре (Amazon Linux, PHP, MySQL).

Я настроил 3 хост-зоны в AWS Route53 со следующими конфигурациями.

Размещенная зона 1:
domain1.com
Тип A
52.108.XX.YY

Размещенная зона 2
domain2.com
Тип A
52.108.XX.YY

Размещенная зона 3
app.domain1.com
Тип A
52.108.XX.YY

Кроме того, я добавил следующий код в файл http.conf в теге VirtualHost.

<VirtualHost *:80>   
     ServerName domain1.com   
     DocumentRoot "/var/www/html/domain1"   
     ErrorLog "logs/domain1-error_log"  
     CustomLog "logs/domain1-access_log" common  
     </VirtualHost>

     <VirtualHost *:80>   
     ServerName domain2.com   
     DocumentRoot "/var/www/html/domain2"  
     ErrorLog "logs/domain2-error_log"  
     CustomLog "logs/domain2-access_log" common  
     </VirtualHost>

     <VirtualHost *:80>  
     ServerName app.domain1.com   
     DocumentRoot "/var/www/html/app"  
     ErrorLog "logs/app.domain1-error_log"  
     CustomLog "logs/app.domain1-access_log" common  
     </VirtualHost>

Тем не менее, только domain1.com и domain2.com решаются. Когда я захожу на app.domain1.com, появляется сообщение об ошибке «Не удается найти сервер». Помогите пожалуйста как настроить поддомен - есть ли проблема в настройке Hosted Zone или httpd.conf?

Автор: pradyotghate Источник Размещён: 18.07.2016 03:23

Ответы (3)


1 плюс

1082 Репутация автора

Вы можете следовать руководству по этой ссылке: http://brianshim.com/webtricks/host-multiple-sites-amazon-ec2/

Распространенная ошибка, по ссылке:

Это сработало? Если нет, вот одна из возможных причин. Там может быть другой файл конфигурации, мешающий этому. Проверьте наличие другого файла .conf в /etc/httpd/conf.d. Часто ваш основной httpd.conf будет включать в этот каталог другой файл .conf. Убедитесь, что у него нет настроек виртуального хоста, которые мешают вашим.

После того, как вы установите настройки, вы должны запустить:

sudo service httpd restart
Автор: filipebarretto Размещён: 18.07.2016 03:30

4 плюса

137 Репутация автора

Решение

Итак, примерно через 2 часа чтения различных сайтов и мастеринга, все готово. Вот как это сделать.

По сути, вы не должны иметь более 1 размещенной зоны (HZ) на одно доменное имя, иначе все будет действительно плохо. Если у вас есть более 1 HZ для доменного имени, удалите то, которое было создано для субдомена.

Каждый HZ будет иметь 4 записи -

Следующие две записи создаются по умолчанию. Не редактируйте / удаляйте их.
NS - это запись сервера имен. Если AWS Route53 не является вашим регистратором, используйте ns-servernumber.awsdns-number.com.и другие три (всего 4) записи, чтобы изменить серверы имен для вашего регистратора.
SOA - Пусть эта запись будет. НЕ ПРИКАСАЙТЕСЬ К ЭТОМУ.

Создайте следующие два набора записей (синяя кнопка).
A - оставьте имя пустым. Выберите A-IPv4 addressдля типа . В поле « Значение» введите IP-адрес своего экземпляра Elastic Load Balancer или EC2.
CNAME - добавьте * (звездочки / подстановочный знак) в поле имени . Выберите CNAMEиз выпадающего списка для типа В Value введите имя домена.

Теперь создайте http.confфайл и структуру виртуальных хостов, как у меня в вопросе.

Вещи должны работать сейчас :)

Автор: pradyotghate Размещён: 18.07.2016 07:33

0 плюса

2325 Репутация автора

Это можно сделать, установив Apache HTTP Server на экземпляр AWS-EC2 и сконфигурировав VirtualHost для каждого DNS или Sub-DNS, как предложено амазонцем.

Для краткости читать эту нить обсуждения, этот официальный пример и TechRepublic пост .


Надеюсь, это помогло!

Автор: Nirus Размещён: 29.08.2017 06:27
Вопросы из категории :
32x32