DNS und HTTP(S) Weiterleitungen – Wie arbeiten sie zusammen ?

In der Welt der Websites und Domainnamen kommt es häufig vor, dass man die Verwendung eines Domainnamens – etwa in der Adresszeile des Webbrowsers – auf einen anderen umleiten möchte, um auf eine Website zuzugreifen. Ein Beispiel:

  • a-great-website.com auf www.a-great-website.com weiterleiten.
  • www.to-be-redirected.com auf www.a-great-website.com weiterleiten.

Es ist jedoch nicht immer ganz einfach zu verstehen, wie das alles funktioniert und wie man beim Einrichten dieser Weiterleitungen vorgehen muss. Muss ich die Weiterleitung auf der Ebene der DNS-Zone einrichten? Auf der Ebene meines Webservers? Auf beiden? Wahlweise das eine oder das andere?

Dieser Artikel soll die Unterscheidung zwischen DNS- und HTTP-Weiterleitung näher erläutern und aufzeigen, wie diese beiden Protokolle zusammenarbeiten.

Anmerkung: Im Folgenden wird nicht zwischen HTTP und HTTPS (durch ein Zertifikat gesichertes HTTP-Protokoll) unterschieden. Für das Thema, das uns hier interessiert, macht dies keinen Unterschied.

Den Unterschied zwischen DNS und HTTP richtig verstehen

DNS und HTTP sind zwei Protokolle, die beide für das reibungslose Funktionieren des Internets unerlässlich sind, aber nicht die gleiche Rolle spielen.

Nehmen wir als Beispiel einen Benutzer, der auf die Website blog.nameshield.com zugreifen möchte. Er gibt daher blog.nameshield.com in die Adresszeile seines bevorzugten Browsers ein.

Bevor der Browser eine Anfrage senden kann, um den Inhalt der Homepage der Website zu erhalten, muss er wissen, an welche IP-Adresse er diese Anfrage senden soll. Hier kommt das DNS ins Spiel. Der Browser sendet also eine DNS-Anfrage (unter Verwendung des DNS-Protokolls) an einen Resolver: „Gib mir die IP-Adresse, die mit blog.nameshield.com verknüpft ist“. Im Gegenzug erhält er eine IP-Adresse (81.92.84.102), die bei einem autoritären DNS-Server konfiguriert wurde. Man spricht von der Auflösung der Domain blog.nameshield.com.

Der Browser kann dann die HTTP-Request (unter Verwendung des HTTP-Protokolls) an den HTTP-Server (oder Webserver) senden, dessen IP-Adresse er soeben erhalten hat: „Gib mir den Inhalt der Webseite blog.nameshield.com„. Im Gegenzug erhält er den Inhalt der Seite, die er anzeigen soll.

Das DNS-Protokoll bietet Datensatztypen, die es ermöglichen, eine Domain auf eine andere „umzuleiten“: insbesondere den Typ CNAME. Auch wenn man leicht von DNS-„Umleitung“ spricht, ist der Begriff „Alias“ angemessener. Dieses leitet nicht im eigentlichen Sinne um, sondern zeigt an, dass die Domain, die man auflöst, ein Alias einer anderen Domain ist. Man muss dann diese andere Domain auflösen, um die gesuchte IP-Adresse zu erhalten.

Nehmen wir ein Beispiel: Man möchte eine Weiterleitung von www.to-be-redirected.com auf die Website www.a-great-website.com einrichten. Wenn wir die DNS-Zone von to-be-redirected.com mit einem CNAME-Eintrag wie diesem konfigurieren: www.to-be-redirected.com CNAME www.a-great-website.com, läuft das darauf hinaus, dass wir sagen: „Sie möchten die IP-Adresse wissen, die mit www.to-be-redirected.com verbunden ist ? Nun, suchen Sie die IP-Adresse, die mit www.a-great-website.com verbunden ist und Sie werden Ihre Antwort erhalten.“ Eine zweite DNS-Anfrage wird gesendet, um www.a-great-website.com aufzulösen und die IP-Adresse zu erhalten. Der Browser wird zwar über die IP-Adresse des HTTP-Servers verfügen, der uns interessiert (der Server, der die Webseite www.a-great-website.com hostet), aber das ändert nichts am Inhalt der vom Browser gesendeten HTTP-Anfrage: „Gib mir den Inhalt der Webseite www.to-be-redirected.com„.

Es ist wichtig zu beachten, dass die vom Browser gesendete HTTP-Anfrage den Namen der Website (oder Host – hier www.to-be-redirected.com) enthält, auf die man zugreifen möchte. Ein und derselbe Server (und damit eine IP-Adresse) kann nämlich Dutzende verschiedener Websites beherbergen. Er wird nur auf HTTP-Anfragen positiv reagieren, die einen Host enthalten, für den er konfiguriert ist. Es reicht also nicht aus, die IP-Adresse des Webservers zu kennen, Sie müssen ihm auch eine HTTP-Anfrage senden, auf die er antworten kann. Eine Anfrage http://www.to-be-redirected.com an einen Server zu senden, der nur für die Beantwortung von http://www.a-great-website.com konfiguriert ist, wird nicht funktionieren!

Auch das HTTP-Protokoll bietet ein System von Weiterleitungen (hier ist in der Tat von Weiterleitungen die Rede). Ein HTTP-Server kann so konfiguriert werden, dass er einen Host an einen anderen weiterleitet. Wenn er beispielsweise HTTP-Anfragen „Gib mir den Inhalt der Webseite www.to-be-redirected.com“ erhält, antwortet er „Diese Ressource wird an http://www.a-great-website.com weitergeleitet“. Dann nimmt der Browser die verschiedenen Schritte wieder auf:

  • DNS-Auflösung von www.a-great-website.com
  • Senden einer Anfrage http://www.a-great-website.com an die erhaltene IP-Adresse
  • Anzeige der erhaltenen Webseite

Wie können DNS und HTTP-Weiterleitungen gut zusammenarbeiten ?

Fassen wir noch einmal zusammen:

  • Das DNS dient dazu, einen Domainnamen aufzulösen, um eine IP-Adresse zu erhalten.
  • HTTP-Anfragen werden an eine IP-Adresse gesendet und enthalten den Host der Website, auf die man zugreifen möchte.
  • HTTP-Server können je nach Host in der Anfrage unterschiedliche Inhalte zurückliefern: eine von ihnen gehostete Webseite, eine Weiterleitung, für die sie konfiguriert wurden, oder einen Fehler, wenn ihnen der Host unbekannt ist.

Um eine Umleitung (immer noch mit unserem Beispiel) korrekt zu betreiben, benötigen Sie also:

  • Einen DNS-Eintrag in der Zone to-be-redirected.com, um den Host www mit der IP-Adresse eines Webservers zu verknüpfen und
  • Einen Webserver, auf dem eine Weiterleitung von http://www.to-be-redirected.com nach http://www.a-great-website.com eingerichtet werden muss.

Wie Nameshield Sie unterstützen kann ?

Nameshield bietet einen Dienst für HTTP- (und HTTPS-) Weiterleitungen an, der die Einrichtung dieser Weiterleitungen vereinfacht und den Sie nutzen können, sobald sich Ihre ursprüngliche Domain in der technischen Verwaltung von Nameshield befindet. Gehen Sie einfach zur Schnittstelle für die technische Konfiguration Ihres Domainnamens und dann zur Registerkarte „HTTP-Weiterleitungen“. Dort können Sie eine neue Umleitung auf den Host Ihrer Wahl erstellen, indem Sie verschiedene Parameter angeben (z. B. die Weitergabe von Verzeichnissen und oder von Parametern der Anfrage). Unser System übernimmt dann automatisch die folgenden Aufgaben:

  • Die DNS-Zone zu ändern, um Datensätze (A/JJJJ oder CNAME, je nachdem, was zutrifft) hinzuzufügen, die auf die IP-Adresse des Nameshield-HTTP-Weiterleitungsservers verweisen. In der Konfigurationsoberfläche der Zone gibt es ein eigenes Symbol, mit dem diese automatisch hinzugefügten Datensätze leicht unterschieden werden können.
  • Richten Sie eine neue Weiterleitung auf unserem HTTP-Weiterleitungsserver (der über eine Anycast-Architektur verfügt, wenn Sie ein Premium-Angebot nutzen) gemäß den geforderten Parametern ein.

Danach ist Ihre Weiterleitung funktionsfähig und Sie müssen nichts weiter tun. Bei Ihrem Webhoster sind keine Änderungen erforderlich.

Wenn Sie das Ziel einer bestehenden HTTP-Weiterleitung ändern möchten, müssen Sie nur von derselben Schnittstelle aus die bestehende Weiterleitung ändern (Sie müssen sie nicht löschen, um eine neue Weiterleitung zu erstellen). Am DNS müssen keine Änderungen vorgenommen werden, da der Host bereits auf unseren HTTP-Weiterleitungsserver weiterleitet. Unser System wird sich darum kümmern, die Konfiguration des HTTP-Servers zu ändern und Ihre neue Weiterleitung wird innerhalb weniger Minuten wirksam.

Wenn Sie Fragen zu diesem Artikel haben, wenden Sie sich bitte an Ihre/n Kundenbetreuer/in.

Autor: Éloi MIRET

Developer - Nameshield