DNS-01 ist der ACME-Challenge-Typ, der Wildcard-Zertifikate (*.example.com) unterstützt. Er beweist die Domain-Inhaberschaft durch Hinzufügen eines TXT-Eintrags in Ihrem DNS — kein Webserver oder Port-80-Zugang erforderlich.
So funktioniert es
- Let’s Encrypt stellt einen Token für jede Domain bereit
- GetHTTPS berechnet einen SHA-256-Hash der Schlüsselautorisierung und kodiert ihn mit base64url
- Sie erstellen einen TXT-Eintrag bei
_acme-challenge.ihredomain.commit diesem Wert - Let’s Encrypt fragt den öffentlichen DNS nach dem TXT-Eintrag ab
- Wenn der Wert übereinstimmt, wird die Challenge bestanden und das Zertifikat ausgestellt
Mit GetHTTPS laufen die Schritte 1-2 automatisch ab — Sie müssen nur den Eintragsnamen und den Wert bei Ihrem DNS-Anbieter kopieren und einfügen.
Schritt-für-Schritt-Einrichtung
Schritt 1: TXT-Eintragsdetails von GetHTTPS abrufen
GetHTTPS zeigt Ihnen:
- Eintragsname:
_acme-challenge.ihredomain.com - Eintragswert: eine base64url-kodierte Zeichenkette (~43 Zeichen)
Schritt 2: TXT-Eintrag bei Ihrem DNS-Anbieter hinzufügen
| Feld | Wert |
|---|---|
| Typ | TXT |
| Name | _acme-challenge (einige Anbieter fügen die Domain automatisch an) |
| Wert | Die von GetHTTPS angezeigte Zeichenkette — exakt kopieren und einfügen |
| TTL | 60 Sekunden (oder der niedrigste Wert, den Ihr Anbieter erlaubt) |
Anbieterspezifische Anleitungen:
Cloudflare
- Dashboard → Ihre Domain → DNS → Records → Add record
- Type: TXT, Name:
_acme-challenge, Content: Wert einfügen - TTL: Auto
- Klicken Sie auf Save
AWS Route 53
- Hosted zones → Ihre Domain → Create record
- Record name:
_acme-challenge - Record type: TXT
- Value:
"wert-hier-einfügen"(Anführungszeichen einschließen — Route 53 erfordert diese) - TTL: 300
- Klicken Sie auf Create records
GoDaddy
- DNS Management → Add
- Type: TXT, Name:
_acme-challenge, Value: Wert einfügen - TTL: 1 Hour (niedrigster verfügbarer Wert)
- Klicken Sie auf Save
Namecheap
- Domain List → Manage → Advanced DNS → Add new record
- Type: TXT, Host:
_acme-challenge, Value: Wert einfügen - TTL: Automatic
- Klicken Sie auf Save all changes
Google Cloud DNS
gcloud dns record-sets create _acme-challenge.yourdomain.com. \
--zone=your-zone --type=TXT --ttl=60 --rrdatas="the-value"
DigitalOcean
- Networking → Domains → Ihre Domain → Add record
- Type: TXT, Hostname:
_acme-challenge, Value: Wert einfügen - TTL: 30
Schritt 3: Auf DNS-Propagierung warten
DNS-Änderungen dauern je nach Anbieter und TTL-Einstellungen 1-15 Minuten. Die Vorabprüfung von GetHTTPS stellt sicher, dass der TXT-Eintrag aus dem öffentlichen Internet sichtbar ist, bevor er an Let’s Encrypt übermittelt wird.
Propagierung manuell prüfen:
dig TXT _acme-challenge.yourdomain.com +short
# Sollte Ihren Wert zurückgeben (in Anführungszeichen)
Oder verwenden Sie einen Online-Propagierungsprüfer, um zu sehen, ob der Eintrag global sichtbar ist.
Schritt 4: In GetHTTPS verifizieren
Klicken Sie auf Verify. GetHTTPS übermittelt die Challenge an Let’s Encrypt. Wenn der TXT-Eintrag korrekt ist, wird das Zertifikat ausgestellt.
Schritt 5: Aufräumen
Nach der Ausstellung des Zertifikats löschen Sie den _acme-challenge-TXT-Eintrag aus Ihrem DNS. Er wird nicht mehr benötigt, und veraltete Einträge können bei der Erneuerung Verwirrung stiften.
Wildcard-Zertifikate mit DNS-01
Um ein Zertifikat für *.ihredomain.com zu erhalten, müssen Sie DNS-01 verwenden. HTTP-01 kann keine Wildcards validieren, da ein Wildcard unendlich viele Hostnamen abdeckt — es gibt keinen einzelnen Server, auf dem eine Datei abgelegt werden kann.
Wildcard + Bare Domain: Wenn Sie sowohl *.example.com als auch example.com möchten, kann GetHTTPS zwei Validierungen erfordern. Einige Setups benötigen zwei TXT-Einträge bei _acme-challenge.example.com gleichzeitig — einen für den Wildcard, einen für die Apex-Domain. Behalten Sie beide Einträge bei, bis die Validierung bestanden ist.
Vollständige Anleitung für Wildcard-Zertifikate →
DNS-01 vs HTTP-01
| DNS-01 | HTTP-01 | |
|---|---|---|
| Was Sie tun | TXT-Eintrag im DNS hinzufügen | Datei auf Ihrem Server ablegen |
| Benötigter Zugang | Domain-DNS-Einstellungen | Dateisystem des Webservers |
| Port-Anforderung | Keine | Port 80 muss offen sein |
| Wildcard-Unterstützung | ✅ Erforderlich für Wildcards | ❌ |
| Funktioniert ohne Server | ✅ | ❌ |
| Geschwindigkeit | 1-15 Min. (DNS-Propagierung) | Sofort (wenn Datei erreichbar) |
| Funktioniert hinter CDN | ✅ Immer | ⚠️ Kann CDN-Bypass erfordern |
| Am besten geeignet für | Wildcards, ohne Server, CDN-Setups | Die meisten Einzeldomain-Zertifikate |
Wählen Sie DNS-01, wenn: Sie einen Wildcard benötigen, Port 80 blockiert ist, Ihr Server nicht öffentlich erreichbar ist oder Sie sich hinter einem CDN befinden.
Wählen Sie HTTP-01, wenn: Sie einen Webserver haben, Port 80 offen ist und Sie keinen Wildcard benötigen. Es ist schneller (keine Propagierungswartezeit).
Fehlerbehebung
TXT-Eintrag wird von GetHTTPS nicht gefunden
- Länger warten — einige Anbieter brauchen 5-15 Minuten. Ein niedriger TTL hilft, eliminiert aber die Propagierungszeit nicht.
- Eintragsnamen prüfen: Einige Anbieter fügen die Domain automatisch an. Wenn Sie
_acme-challenge.example.comeingeben und der Anbieter.example.comanfügt, wird der tatsächliche Eintrag zu_acme-challenge.example.com.example.com(falsch). Geben Sie nur_acme-challengeein und lassen Sie den Anbieter anfügen. - Manuell überprüfen:
Wenn dies leer zurückkommt, ist der Eintrag noch nicht propagiert.dig TXT _acme-challenge.yourdomain.com +short
Falscher Wert / Groß-/Kleinschreibungsfehler
- Der Wert ist groß-/kleinschreibungsempfindlich. Kopieren und fügen Sie direkt von GetHTTPS ein — tippen Sie ihn nicht erneut ein.
- Fügen Sie keine Anführungszeichen hinzu, es sei denn, Ihr DNS-Anbieter erfordert diese (Route 53 ja, die meisten anderen nicht).
Konflikt mit mehreren TXT-Einträgen
- Entfernen Sie alte
_acme-challenge-TXT-Einträge von früheren Versuchen, bevor Sie neue hinzufügen. - Ausnahme: Die Validierung von Wildcard + Apex kann zwei Einträge mit demselben Namen gleichzeitig erfordern.
DNS-Anbieter unterstützt keine TXT-Einträge
Selten, aber einige einfache DNS-Dienste bieten keine TXT-Unterstützung. Wechseln Sie zu einem vollständig ausgestatteten DNS-Anbieter (der kostenlose Plan von Cloudflare unterstützt alle Eintragstypen).
Wann DNS-01 verwenden
| Szenario | DNS-01? |
|---|---|
Wildcard-Zertifikat (*.example.com) | ✅ Erforderlich |
| Port 80 blockiert | ✅ Beste Option |
| Server im internen Netzwerk | ✅ Einzige Option |
| Hinter Cloudflare/CDN-Proxy | ✅ Vermeidet Proxy-Probleme |
| Domain ohne Server (Parking, Weiterleitung) | ✅ Einzige Option |
| Einfaches Einzeldomain-Zertifikat mit Serverzugang | ⚠️ HTTP-01 ist schneller |
Häufig gestellte Fragen
Kann ich DNS-01-Challenges automatisieren?
Ja, mit CLI-Tools. acme.sh hat integrierte API-Integrationen für über 150 DNS-Anbieter — es kann TXT-Einträge automatisch hinzufügen und entfernen. Certbot unterstützt DNS-Plugins für große Anbieter. GetHTTPS erfordert manuelle DNS-Änderungen (browserbasiert, keine API-Aufrufe).
Ist es sicher, einem ACME-Client meinen DNS-API-Schlüssel zu geben?
Der API-Schlüssel hat Schreibzugriff auf Ihre DNS-Zone, behandeln Sie ihn also mit der gleichen Sicherheit wie Ihre Server-Zugangsdaten. Verwenden Sie nach Möglichkeit eingeschränkte API-Token (z. B. die zonegebundenen Token von Cloudflare). Für maximale Sicherheit verwenden Sie GetHTTPS mit manuellen DNS-Änderungen — keine API-Schlüssel erforderlich.
Wie lange muss ich den TXT-Eintrag behalten?
Nur während der Validierung — typischerweise einige Minuten. Sobald Ihr Zertifikat ausgestellt ist, löschen Sie den Eintrag. Bei der Erneuerung erstellen Sie einen neuen mit einem neuen Wert.
Was, wenn mein DNS-Anbieter langsam propagiert?
Setzen Sie den TTL so niedrig wie Ihr Anbieter erlaubt (idealerweise 60 Sekunden). Wenn die Propagierung länger als 15 Minuten dauert, prüfen Sie auf Tippfehler im Eintragsnamen/Wert oder probieren Sie einen anderen DNS-Anbieter. Cloudflare propagiert TXT-Einträge innerhalb von Sekunden.
Funktioniert DNS-01 mit dem Cloudflare-Proxy (orangefarbene Wolke)?
Ja. Die DNS-01-Validierung fragt den TXT-Eintrag über DNS ab, nicht über HTTP — daher spielt der Cloudflare-Proxy-Status (orangefarbene vs. graue Wolke) keine Rolle. Dies ist ein wesentlicher Vorteil gegenüber HTTP-01, das durch den Proxy blockiert werden kann.