Ändern eines Datensatzes und von CNAME-Datensätzen

11

Derzeit verwende ich eine LAMPKonfiguration sowohl für meine Zielseiten-Seite, für die Web-App als auch für die APIs. Jetzt möchte ich diese Dinge auf mehrere virtuelle Server (VS) aufteilen. Ich bin mir der Netzwerkeinstellungen nicht sicher und bevor ich alle meine DNS-Konfigurationen durcheinander bringe, möchte ich verstehen, ob ich meine Konfiguration zum Absturz bringen werde.

Die Zielseite wird auf der second level domain(z. B. myurl.com), die Web-App auf der untergeordneten Domain app.myurl.comund die API auf gehostet api.myurl.com. Ich habe auch eine Vorschau-Domain : preview.myurl.com, die zum Testen verwendet wird.

Da alles auf dem gleichen VS gehostet wird, ich zur Zeit auch vier verschiedene Ordner hat ( landing, api, webapp, preview), das Gesetz als „virtuelle Hosts“ für jede Sub - Domain.

Meine DNS-Konfiguration sieht folgendermaßen aus:

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.

Zu Beginn möchte ich die Daten jedes CNAME-Eintrags in die tatsächliche IP des aktuellen VS ändern. Damit es so aussehen würde:

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

Dann besteht die Idee darin, jede Subdomain auf das richtige VS zu verweisen. Anfänglich zeigen alle Domänen der unteren Ebene (mit Ausnahme von www.) weiterhin auf den aktuellen VS, während die Domäne der zweiten Ebene für die Zielseite ( ADatensatz für myurl.com.) auf eine neue Domäne IPfür eine neue VS verweisen muss.

Fragen:

  1. Werden diese Änderungen wirken sich auf die Art und Weise , in der der aktuelle Apache - Server , den Verkehr zu jedem Unterordner verteilt (dh landing, api, webapp, preview)? Wenn ja, auch wenn alle IPAdressen gleich bleiben?
  2. Könnte ich zum Testen zunächst nur den dataWert für ändern, preview.myurl.com.ohne das Risiko einzugehen, den Rest zu gefährden?
  3. Sobald alle unteren Level - Domains (zB api.myurl.com) verweisen auf die IP - Adresse der VM kann ich darauf den AWert myurl.com.in eine andere IP , ohne die anderen unteren Level - Domains zu beeinträchtigen ( api, app, preview)?
Don
quelle
2
Ohne viel mehr aus Ihrer Frage zu lesen, sollten Sie keine CNAME-Datensätze mit IP-Adressen verwenden, sondern Astattdessen Datensätze:app.myurl.com. A 300 10.123.123.123
HBruijn
Ich gehe noch einen Schritt weiter und sage, dass CNAME-Einträge auf einen Domainnamen verweisen müssen und keine IP-Adressen sein dürfen. Es würde mich wundern, wenn Sie mit einem DNS-Verwaltungssystem eine IP-Adresse als Ziel für einen CNAME-Eintrag festlegen könnten.
Dre
2
@Dre Sie können Zahlen in eine CNAME-RR einfügen, die wie eine IP-Adresse aussehen, aber als nicht qualifizierter Domänenname interpretiert werden.
Michael Hampton

Antworten:

12

Wie in den Kommentaren erwähnt, müssen Sie A-Datensätze anstelle von CNAME-Datensätzen verwenden. CNAME-Einträge können nicht auf eine IP-Adresse verweisen.

Der Schlüssel, damit jede der Sites funktioniert, besteht darin, den Servernamen für jeden virtuellen Server in Ihrer Apache-Konfiguration korrekt anzugeben.

Dre
quelle
Danke, das ist sehr hilfreich. Das einzige, was ich nicht sicher bin, ist das bisschen über den Servernamen. Wie sollte es aussehen, um richtig zu arbeiten? Mein Zweifel ist, ob ServerName irgendwie von der Art und Weise beeinflusst wird, wie der DNS in einen bestimmten VS aufgelöst wird.
Don
1
Wenn ich dich richtig verstehe, ja. Mit dem Servernamen weiß Apache, an welchen VS der Datenverkehr gesendet werden soll. Angenommen, Sie haben alle A-Einträge in Ihrem DNS eingerichtet, die alle auf die Adresse 123.123.123.123 verweisen. Wenn Sie zu myurl.com navigieren, wird Ihre Anfrage an 123.123.123.123 gesendet. Apache empfängt die Anfrage und stellt fest, dass sich auf dieser IP-Adresse einige Websites befinden. Daher wird Apache die von Ihnen gesendete Anfrage genauer untersuchen und feststellen, dass Ihr Browser nach myurl.com gesucht hat. Apache sucht nach dieser URL, die mit einem der Servername-Werte für jeden VS übereinstimmt.
Dre
11

Verwenden Sie Arecord, um auf die Subdomains zu verweisen

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
quelle