it-roy-ru.com

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

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

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

Размещенная зона 1:
domain1.com
Наберите "А
52.108.XX.YY

Размещенная зона 2
domain2.com
Наберите "А
52.108.XX.YY

Размещенная зона 3
app.domain1.com
Наберите "А
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?

5
pradyotghate

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

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

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

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

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

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

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

3
pradyotghate

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

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

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

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

Sudo service httpd restart
1
filipebarretto

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

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


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

0
Nirus