Субдомен с использованием AWS Route 53, балансировщик нагрузки, EC2, Apache
Я пытался следовать нескольким различным учебникам по этому вопросу, но не могу заставить его работать.
У меня есть все мои DNS для моего домена (example.com) в Route 53. Работает нормально.
Мой домен верхнего уровня (запись A) указывает на мой балансировщик нагрузки (AWS) в качестве псевдонима. Это указывает на сервер EC2 и работает нормально.
Я хочу добавить поддомен (client.example.com), но я не совсем уверен, где это добавить и какой тип записей мне нужен. Я хочу, чтобы это указывало на каталог на том же сервере EC2, что и мой домен верхнего уровня (который имел бы путь example.com/client). Я не хочу, чтобы он перенаправлял, просто обслуживайте файлы из этого каталога.
Не уверен, нужно ли мне создавать новую размещенную зону или нет, что помещать в зону, на что на нее указывать и нужно ли что-либо изменять на моем сервере (например, rewriterule).
Любое направление будет оценено.
1 ответ
Я не много работал с AWS, но общий способ сделать это будет следующим.
Допустим, в настоящее время у вас есть example.com
размещен в Route53, поэтому Route53 является официальным сервером имен для вашего example.com
зона. Теперь, если вы хотите субдомен под названием client.example.com
который снова должен указывать на тот же IP-адрес, где example.com
,
Так что в этом случае создайте запись CNAME, где example.com
будет каноническое имя и client.example.com
будет псевдоним записи.
Как только это будет сделано сейчас example.com
а также client.example.com
оба будут преобразованы в один и тот же IP-адрес, т.е. в балансировщик нагрузки.
Если вы предпочитаете поделиться тем же DocumentRoot
из example.com
в client.example.com
Вы не должны ничего делать. Но если вы хотите обслуживать другой контент, создайте виртуальный хост на основе имен в Apache.
Обновить
Как вы хотите оба demo.example.com
а также example.com
чтобы обслуживать различное содержимое, вы должны создать виртуальный хост на основе имен в Apache.
Конфигурация будет выглядеть как
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/main
</VirtualHost>
<VirtualHost *:80>
ServerName demo.example.com
DocumentRoot /var/www/content
</VirtualHost>
Приведенная выше конфигурация будет обслуживать файл из /var/www/main
если запрос для http://example.com
или же http://www.example.com
, И он будет обслуживать файлы из /var/www/content
если запрос для http://demo.example.com
,