Die kurze Antwort
Damit ein Kunde Ihre App unter seiner eigenen Domain ausliefern kann, etwa portal.customer.com, registrieren Sie diese Domain als Custom Hostname in Ihrer Cloudflare-Zone. Der Kunde legt einen CNAME-Eintrag an, der auf Sie zeigt, Cloudflare prüft, ob er den Hostnamen kontrolliert, eine Zertifizierungsstelle stellt die Zertifikate aus, und die Anfragen erreichen Ihre App.
Stand Oktober 2026 sind laut der Cloudflare-for-SaaS-Preisseite in den Tarifen Free, Pro und Business 100 Custom Hostnames enthalten, jeder weitere kostet 0,10 $, und bei 50.000 Hostnames liegt die Obergrenze dieser Tarife.
Zwei Grenzen prägen jedes Design. Kunden können ohne kostenpflichtiges Enterprise-Add-on keine reine Apex-Domain (customer.com) auf Sie zeigen lassen. Und Wildcard-Custom-Hostnames, eigene Zertifikate und die Wahl der Zertifizierungsstelle gibt es nur mit Enterprise. Das Cloudflare-Setup besteht aus wenigen Schritten. Die Produktarbeit drumherum dauert länger, und darum geht es in diesem Leitfaden größtenteils.
Was ein Custom Hostname ist
Ein Custom Hostname ist eine Domain, die Ihrem Kunden gehört und die Cloudflare in Ihre Zone leitet. Die Einrichtungsanleitung nennt vier Bausteine:
- SaaS-Zone. Ihre eigene Domain bei Cloudflare, mit aktiviertem Cloudflare for SaaS. Für den Start reicht eine Zone im Free-Tarif.
- Fallback-Origin. Ein proxied DNS-Eintrag, etwa
proxy-fallback.yourapp.com, an den der Traffic der Custom Hostnames geht. - CNAME-Ziel. Ein optionaler, einprägsamerer Name, auf den Kunden zeigen, etwa
customers.yourapp.com. - Custom Hostname. Die Domain des Kunden, per API oder Dashboard angelegt, mit eigenem Validierungsstatus. Cloudflare stellt für jeden zwei Zertifikate aus: ein primäres ECDSA P-256 und ein RSA-2048-Bit-Zertifikat als Fallback für ältere Clients.
Läuft Ihre App auf Cloudflare Workers, der Plattform, auf der Dardo aufbaut, kann der Worker als Fallback-Origin dienen. Eine */*-Route fängt die Anfragen für alle Custom Hostnames ab, und Ihr Code liest den Host-Header, um den Mandanten zu finden. Cloudflare bietet auch Custom Metadata pro Hostname, aber nur als kostenpflichtiges Enterprise-Add-on. In anderen Tarifen liegt diese Zuordnung daher in Ihrer eigenen Datenbank, zum Beispiel D1.
So läuft der Ablauf
- Der Kunde gibt eine Domain ein, und zwar in den Einstellungen Ihrer App. Ihr Backend normalisiert sie und ruft den Endpunkt Create Custom Hostname mit einer Methode zur Zertifikatsvalidierung auf.
- Der Kunde legt den DNS-Eintrag an, den Sie ihm anzeigen, zum Beispiel
portal.customer.com CNAME customers.yourapp.com. - Cloudflare validiert die Inhaberschaft des Hostnamens. Die Echtzeit-Validierung läuft, sobald der CNAME erscheint, was kurze Ausfallzeiten bedeuten kann. Die Pre-Validierung nutzt einen TXT-Eintrag oder ein HTTP-Token, bevor sich das DNS ändert, für bereits live geschaltete Domains. Die Pre-Validierung wird nicht unterstützt, wenn auch die eigene Zone des Kunden bei Cloudflare liegt (ein „Orange-to-Orange“-Setup).
- Die Zertifizierungsstelle validiert die Domainkontrolle und stellt die Zertifikate aus.
- Der Hostname ist bereit, wenn
statusundssl.statusbeideactivesind und das DNS auf Ihr Ziel zeigt. Cloudflare warnt, dass ein TLS-Handshake gelingen kann, bevorssl.statusauf active wechselt. Betrachten Sie daher den Endpunkt mit den Custom-Hostname-Details als maßgebliche Quelle.
Methoden zur Zertifikatsvalidierung
Der Validierungsleitfaden von Cloudflare bietet diese Optionen:
| Methode | Was der Kunde tut | Funktioniert vor dem DNS-Wechsel | Hinweise |
|---|---|---|---|
| HTTP, automatisch | Legt nur den CNAME an | Nein | Am einfachsten. Cloudflare empfiehlt sie, wenn Kunden „ein paar Minuten Ausfallzeit verkraften“ können. |
| HTTP, manuell | Nichts, wenn die Domain bereits auf Sie zeigt; andernfalls liefern sie Ihr Token auf ihrem bisherigen Server aus | Ja | Nützlich, wenn die Domain live bei einem anderen Anbieter läuft. |
| TXT | Legt einen TXT-Eintrag an, den Sie ihm geben | Ja | Für Wildcard-Hostnames erforderlich. |
| Delegated DCV | Legt einmalig einen _acme-challenge-CNAME an | Ja | Lässt Cloudflare alle künftigen Zertifikate verlängern. Ein vorhandener _acme-challenge-TXT-Eintrag blockiert sie. |
Die Validierung wartet nicht ewig. Cloudflare wiederholt die Hostname-Validierung 75-mal über sieben Tage, und laut Backoff-Zeitplan gilt: „Wenn die Validierung nicht erfolgreich ist, wird der Custom Hostname gelöscht.“ Auch Zertifikats-Token laufen ab: nach 7 Tagen bei Let's Encrypt und nach 14 Tagen bei Google Trust Services oder SSL.com.
Was es kostet, Stand Oktober 2026
| Free | Pro | Business | Enterprise | |
|---|---|---|---|---|
| Enthaltene Hostnames | 100 | 100 | 100 | Individuell |
| Preis pro weiterem Hostname | $0.10 | $0.10 | $0.10 | Individuell |
| Maximale Hostnames | 50,000 | 50,000 | 50,000 | Unbegrenzt (ab 50.000 Vertrieb kontaktieren) |
| Wildcard-Custom-Hostnames | Nein | Nein | Nein | Ja |
| Eigene Zertifikate und wählbare CA | Nein | Nein | Nein | Ja |
| Apex-Proxying / BYOIP | Nein | Nein | Nein | Kostenpflichtiges Add-on |
| Custom Metadata | Nein | Nein | Nein | Kostenpflichtiges Add-on |
Die Preisseite nennt die 0,10 $ ohne Zeitraum. In der Ankündigung von 2022 beschrieb Cloudflare es als Senkung des Preises „von 2 $ auf 0,10 $ pro Monat“. Bei diesem Monatspreis bedeuten 1.000 Kundendomains 900 über die enthaltenen 100 hinaus, also 90 $ im Monat.
Zwei Abrechnungsregeln sind für das Produktdesign wichtig. Laut der Seite zu Kontingenten und Abrechnung von Cloudflare zählt jeder Hostname zur Nutzung, bis Sie ihn löschen, auch „Hostnames, die auf Validierung oder Aktivierung warten“. Und in Nicht-Enterprise-Tarifen gibt es einen API-Schwellenwert, ab dem neue Hostnames abgelehnt werden.
Wo es hakt
Apex-Domains
Die Einrichtungsanleitung von Cloudflare ist eindeutig: „Standardmäßig wird die Verwendung eines A-Records, der auf das Ziel zeigt, nicht unterstützt.“ Die meisten DNS-Anbieter erlauben keinen CNAME an der Wurzel einer Domain, deshalb brauchen Kunden eine Subdomain wie www.customer.com oder app.customer.com. Apex-Proxying weist Ihrem Konto statische IP-Präfixe zu, damit Kunden einen A-Record nutzen können, ist aber ein Enterprise-Add-on mit eigenen Kosten. Ohne es bitten Sie Kunden um eine Subdomain und erklären, wie sie die reine Domain bei ihrem DNS-Anbieter darauf weiterleiten.
Zertifizierungsstellen und CAA-Einträge
Die Referenz zu Zertifizierungsstellen von Cloudflare nennt für Custom Hostnames Let's Encrypt (Zertifikate mit 90 Tagen Laufzeit), Google Trust Services und SSL.com (14, 30 oder 90 Tage). Die CA zu wählen ist nur mit Enterprise möglich; sonst nutzt Cloudflare seinen Standard und prüft zuvor die CAA-Einträge. Erlauben die CAA-Einträge eines Kunden diese CA nicht, scheitert die Ausstellung mit „CAA records block issuance“, und nur der Kunde kann das beheben. CAA-Abfragen folgen CNAME-Ketten, daher zählen auch die CAA-Einträge Ihrer eigenen Zieldomain. Der Troubleshooting-Leitfaden nennt weitere kundenseitige Fehler: defektes DNSSEC und DNS-Server, die mit SERVFAIL antworten.
Verlängerungen
Zertifikate für Custom Hostnames gelten 90 Tage und lassen sich 30 Tage vor Ablauf verlängern. Aktive Hostnames ohne Wildcard werden automatisch über HTTP verlängert. Ist ein Hostname nicht mehr aktiv, etwa weil der Kunde sein DNS geändert hat, muss der Kunde ein neues Token hinterlegen, und Sie sind dafür zuständig, es ihm zu schicken. Wildcards lassen sich nur über TXT verlängern, was Delegated DCV automatisiert.
Kunden mit anderem CDN oder bei Cloudflare
Cloudflare sagt, dass Custom Hostnames hinter einem anderen CDN nicht kompatibel sind, wenn dieses CDN die DNS-Einträge verbirgt. Kunden mit Domains bei Cloudflare bringen das umgekehrte Problem mit: Gehen sie und Sie löschen ihren Hostname nicht, kann er weiter auf Ihren Dienst routen, selbst nachdem sie das DNS geändert haben.
Workers vor den Validierungspfaden
Ist ein Worker Ihr Fallback-Origin, muss er /.well-known/pki-validation/* und /.well-known/acme-challenge/* unverändert durchreichen. Eine Catch-all-Route, die mit der 404-Seite Ihrer App antwortet, bricht die HTTP-Validierung.
Die Produktarbeit drumherum
- Durchsetzung der Tarife. Legen Sie fest, welche Ihrer Tarife Custom Domains enthalten und wie viele, und prüfen Sie das, bevor Sie Cloudflare aufrufen. Dessen Kontingent und Schwellenwert sind Obergrenzen, nicht Ihre Preisgestaltung.
- Onboarding-Bildschirm. Ein Eingabefeld. Wandeln Sie in Kleinbuchstaben um, entfernen Sie Protokoll und Pfad, lehnen Sie reine Apex-Domains ab, sofern Sie kein Apex-Proxying gekauft haben, und lehnen Sie den Namen Ihrer eigenen Zone ab, den man laut Cloudflare nie als Custom Hostname anlegen soll. Zeigen Sie dann den genauen Eintrag samt Kopieren-Button.
- Zwei Status in verständlicher Sprache. Hostname und Zertifikat werden getrennt validiert, zeigen Sie also beide an. Übersetzen Sie
ssl.validation_errorsin Anleitungen: „Die CAA-Einträge Ihrer Domain erlauben unsere Zertifizierungsstelle nicht; fügen Sie diesen Eintrag hinzu“ ist besser als „pending_validation“. Die Antwort auf das Anlegen enthält womöglich noch keine Validierungseinträge, rufen Sie den Hostname daher nach kurzer Verzögerung erneut ab. Die Webhook-Benachrichtigungen von Cloudflare melden Validierungs- und Ausstellungsereignisse, was besser ist als Polling. - Überwachung der Verlängerung. Ein täglicher Job, der Hostnames markiert, deren Zertifikat nicht aktiv ist oder deren DNS nicht mehr auf Sie zeigt, damit Ihr Team es vor dem Kunden erfährt.
- Aufräumen. Löschen Sie Hostnames, die nie validiert werden, und die von Kunden, die gehen. Beide werden bis zum Löschen berechnet.
- Mandantentrennung. Ermitteln Sie den Mandanten nur anhand aktiver Hostnames in Ihrer Datenbank. Erhalten Mandanten auch Subdomains Ihrer Domain, weist die Domain-Dokumentation von Vercel darauf hin, dass ein Cookie, das ein Mandant für die übergeordnete Domain setzt, auch die anderen erreicht. Halten Sie Dashboard und Login deshalb auf einer separaten Domain.
- Support-Playbook. Eine kurze Seite für Ihr Team, die jeden Fehler dem zuordnet, der ihn behebt: fehlender CNAME, CAA, DNSSEC und SERVFAIL liegen beim Kunden; Token, CA-Ratenlimits und Worker-Routen bei Ihnen.
Genau diese Art von Arbeit leistet Dardo in der Entwicklung von Web-Apps, und White-Label-Kundenportale sind der Bereich, in dem Custom Domains am häufigsten verlangt werden.
Alternativen: Vercel und Netlify
Läuft Ihre App bereits woanders, bewältigen beide Hoster Kundendomains, mit jeweils eigenen dokumentierten Grenzen, Stand Oktober 2026.
| Cloudflare for SaaS | Vercel | Netlify | |
|---|---|---|---|
| Domain-Limits | 100 enthalten, bis zu 50.000 bei Free, Pro und Business | 50 pro Projekt bei Hobby; „Unlimited“ bei Pro und Enterprise, mit Soft Limits von 100.000 und 1.000.000 | „Wir empfehlen, einer Site nicht mehr als 50 Domain-Aliase zuzuweisen“ |
| Apex-Domains | Enterprise-Add-on | A-Record auf den Wert in der Domain-Karte des Projekts | ALIAS, ANAME oder abgeflachter CNAME, oder ein A-Record als Fallback |
| Zertifikate | Automatisch, zwei pro Hostname; eigene Zertifikate bei Enterprise | Automatisch nach Domain-Verifizierung; eigene Zertifikate bei Enterprise | Automatisches Let's Encrypt; eigene Zertifikate werden von Hand verlängert |
| Wildcards | Enterprise | Brauchen Vercel-Nameserver oder ein delegiertes _acme-challenge | Automatisch für Domains bei Netlify DNS |
| Gebaut für | Viele Kundendomains in einer Zone | Multi-Tenant-Plattformen mit REST-API und SDK | Höchstens ein paar Dutzend Domains pro Site |
Der klarste Unterschied ist Vercels Apex-Unterstützung: Kunden können eine reine Domain per A-Record darauf zeigen lassen. Beachten Sie, dass der Hobby-Tarif laut den Fair-Use-Richtlinien von Vercel auf „ausschließlich nicht-kommerzielle, private Nutzung“ beschränkt ist, ein zahlendes SaaS startet also mit Pro. Netlifys Empfehlung von 50 Aliasen macht es zu einer schlechten Wahl für ein Deployment, das Hunderte Kundendomains bedient.
Wann sich der Bau lohnt
Fragen zwei oder drei Kunden danach, tragen Sie deren Hostnames im Cloudflare-Dashboard ein und führen eine Checkliste. Bauen Sie den Self-Service-Ablauf, wenn Custom Domains Teil eines Tarifs oder eines White-Label-Angebots werden, das Sie verkaufen. Brauchen Kunden in großem Umfang reine Apex-Domains oder Wildcards, sprechen Sie mit Cloudflare über Enterprise, bevor Sie um die Grenzen herum planen.
Wenn Sie diesen Ablauf in Ihr Produkt integrieren möchten, mit den Status, Warnungen und Support-Hinweisen von oben, erzählen Sie uns von Ihrer App.
