Obecnie używam LAMP
konfiguracji 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.com
uż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 ( A
rekord dla myurl.com.
) będzie musiała wskazywać nową IP
dla nowej VS.
Pytania:
- 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 wszystkieIP
adresy pozostają takie same? - Aby przetestować, czy mogę zacząć od zmiany tylko
data
wartościpreview.myurl.com.
bez ryzyka narażenia na szwank pozostałych? - Po wszystkich domen poziomie niższym (np api.myurl.com) wskazują OD VM, mogę wskazać
A
wartośćmyurl.com.
do innego IP bez narażania innych domen poziomie niższym (api
,app
,preview
)?
A
zamiast tego:app.myurl.com. A 300 10.123.123.123
Odpowiedzi:
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.
źródło
Użyj
A
rekordu, aby wskazać subdomenyźródło