Изменение записи A и записей CNAME

11

В настоящее время я использую LAMPконфигурацию как для своей целевой страницы, так и для веб-приложения и для API. Теперь я хотел бы разделить эти вещи на несколько виртуальных серверов (VS). Я не уверен в настройках сети и перед тем, как испортить все настройки DNS, я бы хотел понять, не грозит ли мне моя конфигурация.

Целевая страница размещается в second level domain(например myurl.com), веб-приложение размещается в домене нижнего уровня app.myurl.com, а API - в api.myurl.com. У меня также есть предварительный просмотр домена:, preview.myurl.comиспользуемый для тестирования.

Так как все организовано на том же ВС, я в настоящее время есть также четыре различные папки ( landing, api, webapp, preview), которые выступают в качестве «виртуальных хостов» для каждого поддомена.

Моя конфигурация DNS выглядит так:

myurl.com.  A   300 123.123.123.123
www.myurl.com.  CNAME   300 myurl.com.
api.myurl.com.  CNAME   300 myurl.com.
app.myurl.com.  CNAME   300 myurl.com.
preview.myurl.com.  CNAME   300 myurl.com.

Для начала я хотел бы изменить данные каждой записи CNAME на фактический IP-адрес текущего VS. Чтобы это выглядело так:

myurl.com.  A   300 123.123.123.123
www.myurl.com.  CNAME   300 myurl.com.
api.myurl.com.  CNAME   300 123.123.123.123
app.myurl.com.  CNAME   300 123.123.123.123
preview.myurl.com.  CNAME   300 123.123.123.123

Тогда идея состоит в том, чтобы указать каждому поддомену соответствующий VS. Первоначально все домены более низкого уровня (кроме www.) будут по-прежнему указывать на текущий VS, в то время как домен второго уровня для целевой страницы ( Aзапись для myurl.com.) должен будет указывать на новый IPдля нового VS.

Вопросов:

  1. Будут ли эти изменения влияют на способ , в котором текущий сервер Apache распределяет трафик на каждую вложенную папку (т.е. landing, api, webapp, preview)? Если так, даже если все IPадреса остаются прежними?
  2. Чтобы проверить это, могу ли я начать с изменения только dataзначения preview.myurl.com.без риска для компромисса с остальными?
  3. После того, как все домены более низкого уровня (например , api.myurl.com) точка к IP виртуальной машины, можно указать Aзначение myurl.com.для другого IP без ущерба для других доменов более низкого уровня ( api, app, preview)?
дон
источник
2
Не читая намного больше из вашего вопроса, вы не должны использовать записи CNAME с ip-адресами, а Aвместо этого использовать записи:app.myurl.com. A 300 10.123.123.123
HBruijn
Я сделаю еще один шаг и скажу, что записи CNAME должны указывать на доменное имя, а не на IP-адреса. Я был бы удивлен, если система управления DNS позволила бы вам указать IP-адрес в качестве цели записи CNAME.
Dre
2
@Dre Вы можете поместить числа в запись CNAME RR, которые выглядят как IP-адрес, но они будут интерпретироваться как неполное доменное имя.
Майкл Хэмптон

Ответы:

12

Как упоминалось в комментариях, вам нужно будет использовать записи A вместо записей CNAME. Записи CNAME не смогут указывать на IP-адрес.

Ключом к тому, чтобы заставить работать каждый из сайтов, является правильное указание ServerName для каждого виртуального сервера в конфигурации Apache.

Dre
источник
Спасибо, это очень полезно. Единственное, в чем я не уверен - это немного о ServerName. Как это должно выглядеть для правильной работы? Я сомневаюсь, что ServerName каким-то образом зависит от того, как DNS разрешается в конкретную VS?
Дон
1
Если я правильно вас понимаю, да. Servername - это то, как Apache знает, на какую VS отправлять трафик. Допустим, у вас есть все настройки A-записей в DNS, все они указывают на адрес 123.123.123.123. Когда вы заходите на myurl.com, ваш запрос отправляется на 123.123.123.123. Apache получает запрос и обнаруживает, что у него есть несколько веб-сайтов с таким IP-адресом, поэтому Apache рассмотрит отправленный вами запрос и поймет, что ваш браузер ищет myurl.com. Apache будет искать этот URL, чтобы он совпадал с одним из значений Servername для каждой VS.
Дре
11

Используйте Aзапись, чтобы указать на поддоменов

myurl.com.  A   300 123.123.123.123
api.myurl.com.  A   300 123.123.123.123
app.myurl.com.  A   300 123.123.123.123
preview.myurl.com.  A   300 123.123.123.123
www.myurl.com.  CNAME   300 myurl.com.
Энтони Форнито
источник