Um eine Domain auf deinen Server umzuleiten, setzt du beim DNS-Anbieter der Domain einen A-Record mit der IPv4-Adresse des Servers, bei IPv6 zusätzlich einen AAAA-Record, und für www einen CNAME oder einen weiteren A-Record. Danach richtest du auf dem Server einen virtuellen Host für den Namen ein und holst ein TLS-Zertifikat.
Wer zum ersten Mal einen VServer mietet, sucht oft nach einer Funktion „Weiterleitung auf Server“ im Domain-Panel und landet bei der falschen. Die meisten Panels bieten eine HTTP-Weiterleitung an, die den Browser auf eine andere URL schickt. Für deinen eigenen Server brauchst du etwas anderes: Die Domain soll per DNS direkt auf die IP-Adresse zeigen.
Domain auf Server umleiten: was technisch passiert
Ein Browser, der example.com öffnen will, fragt seinen Resolver nach der IP. Der Resolver fragt sich über die Root- und TLD-Server bis zu den Nameservern deiner Domain durch und bekommt dort den A-Record zurück. Mit dieser IP baut der Browser die Verbindung auf Port 443 auf.
Daraus folgen zwei Dinge, die gern verwechselt werden:
- DNS sagt nur, welche IP zum Namen gehört. Ports, Pfade und Protokolle kennt ein A-Record nicht.
- Der Webserver auf deiner Maschine entscheidet anhand des
Host-Headers beziehungsweise des SNI-Namens, welche Seite er ausliefert.
Fehlt einer der beiden Teile, siehst du entweder NXDOMAIN oder die Standardseite von nginx.
Nameserver oder A-Record: was du ändern musst
Für eine Domain auf einem VServer reicht in neun von zehn Fällen ein A-Record. Die Nameserver bleiben, wo sie sind, und du pflegst die Einträge weiter beim Registrar. Bei betadomain machst du das im Kundenbereich unter den DNS-Einträgen der Domain.
Nameserver zu ändern lohnt sich nur, wenn du die ganze Zone woanders verwalten willst, zum Beispiel weil du einen eigenen autoritativen DNS-Server betreibst oder ein CDN nutzt. Dann musst du alle Einträge (auch MX, TXT für SPF und DKIM) dort neu anlegen. Wer das vergisst, hat nach dem Wechsel keinen Mailempfang mehr.
| Weg | Was sich ändert | Typische Wartezeit | Risiko |
|---|---|---|---|
| A/AAAA-Record ändern | Nur der Eintrag für den Namen | Alte TTL des Records | Gering |
| Nameserver wechseln | Die gesamte Zone | Bis zu 1 bis 2 Tage (TTL der Delegation) | Fehlende Records |
| HTTP-Weiterleitung | Nichts im DNS, nur ein Redirect | Sofort | Falsches Ergebnis für VServer |
Schritt für Schritt: Domain mit dem VServer verbinden
1. Server-IP ermitteln
Auf dem Server selbst:
ip -4 addr show scope global
ip -6 addr show scope global
Steht dort eine private Adresse wie 10.x oder 172.16.x, sitzt der Server hinter NAT und die öffentliche IP findest du im Panel des Hosters. In den Beispielen hier ist die Server-IP 192.0.2.10 und 2001:db8:10::1.
2. Alte TTL prüfen
Hat die Domain schon einen A-Record, etwa vom Parking oder vom alten Hoster, schau dir die TTL an:
dig example.com A +noall +answer
example.com. 3600 IN A 198.51.100.7
Die 3600 bedeutet: Resolver dürfen den alten Wert bis zu einer Stunde behalten. Willst du schnell umschalten, senke die TTL zuerst auf 300 und warte die alte Stunde ab. Wie das genau funktioniert, steht im Artikel zur DNS-TTL.
3. A- und AAAA-Record setzen
In der DNS-Verwaltung legst du an:
@ 300 IN A 192.0.2.10
@ 300 IN AAAA 2001:db8:10::1
www 300 IN CNAME example.com.
@ steht für die Domain selbst. Einen AAAA-Record setzt du nur, wenn der Server tatsächlich per IPv6 erreichbar ist und der Webserver auf IPv6 lauscht. Ein AAAA, der ins Leere zeigt, ist schlimmer als keiner, weil Clients und Let’s Encrypt IPv6 bevorzugen. Details dazu im Beitrag über den AAAA-Record, und ob www besser ein CNAME oder ein eigener A-Record ist, erklärt CNAME oder A-Record.
4. Auflösung prüfen
Frag zuerst den autoritativen Nameserver direkt, dann einen öffentlichen Resolver:
dig NS example.com +short
dig @ns1.example-dns.net example.com A +short
dig @1.1.1.1 example.com A +short
dig @1.1.1.1 www.example.com A +short
Liefert der autoritative Server schon die neue IP, ein öffentlicher Resolver aber noch die alte, ist alles richtig eingetragen und du wartest nur auf das Ablaufen des Caches. Das Thema DNS-Propagation erklärt, warum „Propagation“ eigentlich Cache-Ablauf heißt.
5. Webserver einrichten
Ein minimaler nginx-Server-Block für den Anfang, abgelegt unter /etc/nginx/sites-available/example.com:
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
root /var/www/example.com;
}
ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
curl -I http://example.com
Die Zeile listen [::]:80; wird oft vergessen. Ohne sie antwortet nginx nicht auf IPv6, obwohl der AAAA-Record gesetzt ist.
6. Zertifikat holen
Sobald curl über Port 80 die richtige Seite liefert, kann certbot per HTTP-01 validieren:
apt install certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com
Die Hintergründe zu Laufzeiten, Erneuerung und Rate-Limits stehen im Artikel über das Let’s-Encrypt-Zertifikat.
Den Server testen, bevor das DNS umgestellt ist
Du musst nicht warten, bis der A-Record überall angekommen ist, um die Konfiguration zu prüfen. curl kann die Namensauflösung für einen einzelnen Aufruf überschreiben:
curl -sI --resolve example.com:80:192.0.2.10 http://example.com
curl -sI --resolve example.com:443:192.0.2.10 https://example.com
Der zweite Aufruf funktioniert natürlich erst, wenn ein Zertifikat da ist. Für den Browser erreichst du dasselbe mit einem Eintrag in der lokalen /etc/hosts. Vergiss aber nicht, ihn danach wieder zu löschen, sonst testest du in drei Wochen gegen eine veraltete IP.
Häufige Fehler beim Verknüpfen
Die Domain zeigt auf die richtige IP, aber es erscheint die Standardseite. Der server_name passt nicht, oder der Block ist nicht in sites-enabled verlinkt. nginx -T | grep server_name zeigt, was nginx tatsächlich geladen hat.
curl hängt, ping geht. Fast immer die Firewall. Bei ufw fehlt ufw allow 80,443/tcp, oder in der Cloud-Firewall des Hosters sind die Ports zu.
Funktioniert mit IPv4, nicht mit IPv6. Teste gezielt mit curl -6 -I https://example.com. Antwortet nichts, nimm den AAAA-Record raus, bis IPv6 auf dem Server sauber läuft.
Die Domain zeigt auf eine alte Parking-Seite. Manche Registrare setzen bei neuen Domains einen A-Record auf ihren Parking-Server. Der muss weg, sonst existieren zwei A-Records nebeneinander und Clients bekommen abwechselnd die eine oder andere IP.
Mehrere Domains auf denselben Server
Nichts spricht dagegen, zehn Domains auf eine IP zeigen zu lassen. Alle bekommen denselben A-Record, die Trennung erledigt der Webserver anhand des Namens. Wie du das mit nginx, Caddy oder Traefik sauber aufbaust, zeigt der Artikel zum Reverse Proxy für mehrere Domains.
Falls du für ein neues Projekt noch eine Adresse brauchst: Bei betadomain kannst du den Wunschnamen prüfen und siehst den Jahrespreis, der auch bei der Verlängerung gilt. Eine .de-Domain kostet dort 2,99 € im Jahr, eine .dev für Entwicklerprojekte 22,99 €. Die DNS-Einträge legst du danach direkt im Kundenbereich an und kannst mit Schritt 3 weitermachen.
Schritt für Schritt
- Server-IP ermittelnAuf dem Server mit ip -4 addr und ip -6 addr die öffentlichen Adressen ablesen oder im Panel des Hosters nachsehen.
- Alte TTL prüfenMit dig example.com A die aktuelle TTL ablesen. Ersetzt du einen bestehenden Eintrag, die TTL vorher auf 300 Sekunden senken.
- A- und AAAA-Record setzenIn der DNS-Verwaltung der Domain einen A-Record für @ mit der IPv4-Adresse und einen AAAA-Record mit der IPv6-Adresse anlegen.
- www-Eintrag anlegenFür www einen CNAME auf die Hauptdomain oder eigene A- und AAAA-Records setzen.
- Auflösung mit dig prüfenMit dig +short example.com A und AAAA gegen einen öffentlichen Resolver und gegen den autoritativen Nameserver prüfen.
- Webserver und Zertifikat einrichtenEinen virtuellen Host für die Domain anlegen und per Let's Encrypt ein Zertifikat holen. Erst dann ist die Seite über HTTPS erreichbar.
Domain gefunden? Prüfen und registrieren kannst du sie direkt bei Domain ohne Lockvogelpreis – Jahrespreis ab 2,99 €.
Häufige Fragen
Muss ich die Nameserver ändern, um eine Domain auf meinen Server zu leiten?
Nein. Es reicht, beim bisherigen DNS-Anbieter die A- und AAAA-Records auf die Server-IP zu setzen. Nameserver änderst du nur, wenn die Zone künftig woanders verwaltet werden soll, etwa auf einem eigenen DNS-Server. Das dauert länger und betrifft auch Mail-Records.
Wie lange dauert es, bis die Domain auf den neuen Server zeigt?
Bei einem neu angelegten Record meist Sekunden bis wenige Minuten. Ersetzt du einen bestehenden Eintrag, hängt es von dessen alter TTL ab: Resolver, die den alten Wert gecacht haben, liefern ihn bis zum Ablauf weiter aus.
Kann ich eine Domain auf eine IP mit Port umleiten, zum Beispiel 192.0.2.10:8080?
Nein. DNS kennt bei A-Records keine Ports. Der Browser verbindet sich immer mit 80 oder 443. Willst du eine Anwendung auf Port 8080 erreichen, setzt du einen Reverse Proxy davor, der auf 443 lauscht und intern weiterreicht.
Was ist der Unterschied zwischen DNS-Umleitung und HTTP-Weiterleitung?
Eine HTTP-Weiterleitung schickt den Browser mit Status 301 oder 302 zu einer anderen URL, die Adresszeile ändert sich. Ein A-Record sorgt dafür, dass die Domain selbst auf deinem Server landet. Für einen eigenen VServer willst du fast immer Letzteres.