Eigene Domain — Custom Domain für dein Tenant-Portal
[domain] [admin] [branding]
Statt <dein-tenant>.licensio.io kannst du dein Lizenz-Portal unter einer eigenen Domain laufen lassen, z.B. portal.deinedomain.de. SSL-Zertifikat wird automatisch via Vercel ausgestellt.
Für wen
Admins (Tenants), die ihren Kunden eine White-Label-Erfahrung bieten wollen — kein "licensio.io" in der URL.
Voraussetzungen
- Du musst Inhaber:in der Domain sein (DNS-Konfiguration im Domain-Provider).
- Du brauchst Zugriff auf die DNS-Einstellungen deines Domain-Providers (Strato, IONOS, GoDaddy, Cloudflare, Namecheap, All-Inkl etc.).
Schritt für Schritt
1. Im Admin: Domain eintragen
Einstellungen → Domain → Subdomain (z.B. portal.deinedomain.de) eingeben → Domain hinzufügen.
Der Admin generiert einen TXT-Record-Token (z.B. licensio-verify=abc123...).
2. DNS-Einträge setzen
Bei deinem Domain-Provider zwei Einträge anlegen:
CNAME-Record:
- Name/Host:
portal(oder die Subdomain die du gewählt hast) - Wert/Ziel:
cname.vercel-dns.com
TXT-Record (zur Verifikation):
- Name/Host:
_licensio.portal(mit Unterstrich!) - Wert:
licensio-verify=<dein-token>(kommt aus dem Admin)
Anbieter-spezifische Anleitungen sind im Admin als ausklappbare Sektion verfügbar (Strato, IONOS, Cloudflare, GoDaddy, Namecheap, All-Inkl).
3. DNS-Verifikation
DNS-Änderungen brauchen 5–60 Minuten. Im Admin → Verifikation prüfen klicken. Bei Erfolg:
- Domain wird als verifiziert markiert
- licensio fügt sie automatisch zu Vercel hinzu
- SSL-Zertifikat wird ausgestellt (~1–2 Min)
4. Live testen
Öffne https://portal.deinedomain.de/login. Sollte dein Tenant-Portal mit deinem Branding zeigen.
5. Widget-Code anpassen (optional)
Falls du das Widget auf deiner Webseite einbettest und es jetzt von der Custom-Domain laden willst:
<script
src="https://portal.deinedomain.de/widget.js"
data-tenant="<dein-tenant>"
data-custom-domain="portal.deinedomain.de">
</script>
Im Admin Widget-Tab wird der Embed-Code automatisch mit Custom-Domain generiert sobald die Domain verifiziert ist.
Wie es technisch läuft
- Portal-Middleware erkennt anhand des Hosts ob ein Aufruf zu einer Custom-Domain gehört (DB-Lookup
custom_domain_verified=true). - Bei Match wird das richtige Tenant-Branding geladen.
- Vercel kümmert sich um SSL-Zertifikat-Ausstellung + Renewal (Let's Encrypt).
- DNS-Verifikation prüft TXT-Record
_licensio.<domain>auf den Token.
Häufige Fragen
Kann ich meine Root-Domain deinedomain.de nehmen?
Aktuell nur Subdomains (z.B. portal.deinedomain.de, lizenz.deinedomain.de). Root-Domains brauchen A-Records statt CNAME — komplexer und nicht offiziell unterstützt.
Wie lange dauert die SSL-Ausstellung? Nach erfolgreicher Verifikation 1–2 Minuten via Vercel + Let's Encrypt. Bei Cloudflare-Proxy (orange Cloud) muss der Proxy zunächst aus sein, sonst klappt die Verifikation nicht.
Was wenn der TXT-Record nicht erkannt wird?
- DNS-Cache-Zeit abwarten (TTL)
- Manche Provider verlangen den Hostnamen anders:
_licensio.portal(mit Unterstrich) — wenn das nicht klappt, manchmal nur_licensio(ohne Subdomain) eintragen - Mit
dig TXT _licensio.portal.deinedomain.delokal prüfen
Kann ich mehrere Domains nutzen? Aktuell eine Custom-Domain pro Tenant. Multi-Domain wäre Phase 2.
Was passiert wenn ich die Domain entferne? Domain entfernen im Admin → Vercel-Eintrag wird gelöscht, DB-Eintrag entfernt. Kunden, die die Custom-Domain im Browser-Bookmark haben, bekommen wieder das Standard-Tenant-Subdomain (manuell anpassen).
Brauche ich ENV-Variablen im Vercel-Admin-Projekt? Ja, einmalig:
VERCEL_TOKEN— https://vercel.com/account/tokens (Full Account Scope)VERCEL_PROJECT_ID_PORTAL— aus Vercel-Settings des Portal-Projekts
Verwandt
- Branding — Anpassung deines Portals
- Widget — Widget mit Custom-Domain einbinden
- Einstellungen — alle Admin-Tabs im Überblick