Zmienianie rekordu i rekordów CNAME

11

Obecnie używam LAMPkonfiguracji zarówno strony docelowej, aplikacji internetowej, jak i interfejsów API. Teraz chciałbym podzielić te rzeczy na wiele serwerów wirtualnych (VS). Nie jestem pewien ustawień sieci i przed zepsuciem wszystkich konfiguracji DNS chciałbym zrozumieć, jeśli mam zamiar zawiesić konfigurację.

Strona docelowa jest hostowana w second level domain(np. myurl.com) Aplikacji internetowej w domenie niższego poziomu app.myurl.com, a api w api.myurl.com. Mam również domenę podglądu:, preview.myurl.comużywaną do testowania.

Ponieważ wszystko jest utrzymywana na tym samym VS, obecnie mam również cztery różne foldery ( landing, api, webapp, preview), które działają jako „hostów wirtualnych” dla każdej subdomeny.

Moja konfiguracja DNS wygląda następująco:

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.

Na początek chciałbym zmienić dane każdego wpisu CNAME na rzeczywisty adres IP bieżącego VS. Aby wyglądało to tak:

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

Następnie chodzi o wskazanie każdej subdomeny na odpowiedni VS. Początkowo wszystkie domeny niższego poziomu (oprócz www.) nadal będą wskazywać na bieżącą VS, podczas gdy domena drugiego poziomu dla strony docelowej ( Arekord dla myurl.com.) będzie musiała wskazywać nową IPdla nowej VS.

Pytania:

  1. Czy zmiany te wpływają na sposób, w jaki prąd Apache Server jest rozprowadzenie ruchu do każdego podkatalogu (czyli landing, api, webapp, preview)? Jeśli tak, nawet jeśli wszystkie IPadresy pozostają takie same?
  2. Aby przetestować, czy mogę zacząć od zmiany tylko datawartości preview.myurl.com.bez ryzyka narażenia na szwank pozostałych?
  3. Po wszystkich domen poziomie niższym (np api.myurl.com) wskazują OD VM, mogę wskazać Awartość myurl.com.do innego IP bez narażania innych domen poziomie niższym ( api, app, preview)?
don
źródło
2
Nie czytając znacznie więcej z pytania, nie powinieneś używać rekordów CNAME z adresami IP, ale Azamiast tego:app.myurl.com. A 300 10.123.123.123
HBruijn
Pójdę o krok dalej i powiem, że rekordy CNAME muszą wskazywać nazwę domeny i nie mogą być adresami IP. Byłbym zaskoczony, gdyby system zarządzania DNS pozwolił ci ustawić adres IP jako cel dla rekordu CNAME.
Dre
2
@Dre Możesz umieścić numery w RR CNAME, które wyglądają jak adres IP, ale będą interpretowane jako niekwalifikowana nazwa domeny.
Michael Hampton

Odpowiedzi:

12

Jak wspomniano w komentarzach, będziesz musiał użyć rekordów A zamiast rekordów CNAME. Rekordy CNAME nie będą mogły wskazywać adresu IP.

Kluczem do działania każdej z witryn jest prawidłowe określenie ServerName dla każdego serwera wirtualnego w konfiguracji Apache.

Dre
źródło
Dziękuję, to bardzo pomocne. Jedyne, czego nie jestem pewien, to trochę o ServerName. Jak powinno wyglądać prawidłowe działanie? Mam wątpliwości, czy na ServerName w jakiś sposób wpływa sposób, w jaki DNS rozpoznaje konkretny VS?
don
1
Jeśli dobrze cię rozumiem, tak. Nazwa serwera to sposób, w jaki Apache wie, do którego VS ma wysłać ruch. Załóżmy, że masz skonfigurowane wszystkie rekordy A w DNS, wszystkie wskazujące na adres 123.123.123.123. Gdy przejdziesz do myurl.com, twoje zapytanie zostanie wysłane na 123.123.123.123. Apache otrzymuje żądanie i zdaje sobie sprawę, że ma kilka stron internetowych pod tym adresem IP, więc Apache przyjrzy się bliżej wysłanej prośbie i zda sobie sprawę, że twoja przeglądarka szukała myurl.com. Apache wyszuka ten adres URL, aby pasował do jednej z wartości nazwy serwera dla każdego VS.
Dre
11

Użyj Arekordu, aby wskazać subdomeny

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.
Anthony Fornito
źródło