Субдомен с использованием 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,

Другие вопросы по тегам