Ein Wildcard-DNS-Eintrag antwortet für jede Subdomain, die Sie nicht ausdrücklich definiert haben - so gibt ein Dienst jedem Kunden eine eigene Adresse, ohne für jeden einzeln am DNS zu arbeiten.
*.yourdomain.com. 300 IN A 1.2.3.4
Der genaue Eintrag gewinnt immer
Wenn es mail.yourdomain.com gibt, wird das genommen. Die Wildcard antwortet nur für Namen ohne eigenen Eintrag - sie kann also nicht kaputt machen, was Sie schon haben.
Das Zertifikat muss passen
Ein normales Zertifikat für yourdomain.com deckt deren Subdomains nicht ab. Ohne Wildcard-Zertifikat zeigt jede neue Subdomain eine Browserwarnung - was für einen Kunden genau wie eine gehackte Website aussieht.
certbot certonly --manual --preferred-challenges dns \
-d yourdomain.com -d "*.yourdomain.com"
Ein Wildcard-Zertifikat lässt sich nur über DNS-Validierung ausstellen, nicht über die übliche HTTP-Prüfung. Das heißt: ein API-Token Ihres DNS-Anbieters, wenn es sich unbeaufsichtigt erneuern soll - und unbeaufsichtigt ist die einzige Art, die etwas taugt.
Der Webserver muss sie annehmen
server {
server_name ~^(?<sub>.+)\.yourdomain\.com$;
root /var/www/tenants/$sub;
}
Das fängt die Subdomain ein und verwendet sie - so bedient ein einziger Serverblock tausend Kunden.
Worauf zu achten ist
- Ein Tippfehler löst jetzt auf, statt zu scheitern; eine falsch geschriebene Adresse landet also bei Ihrem Server, statt einen Fehler zu geben.
- Alles, was dem Hostnamen vertraut, muss ihn prüfen - ein Mandantenname aus einer URL ist Benutzereingabe.
Wenn Sie nur eine Handvoll Subdomains brauchen, definieren Sie sie. Eine Wildcard ist für den Fall, dass Sie die Namen wirklich nicht im Voraus wissen können.
