Zwei Wege, mehr als einen Namen abzudecken. Eine Wildcard deckt alles auf einer Ebene ab; ein SAN-Zertifikat listet genaue Namen auf. Mit Let's Encrypt kosten beide im Betrieb dasselbe, und der Unterschied ist ein betrieblicher.
SAN - eine Liste von Namen
sudo certbot --nginx -d example.com -d www.example.com -d shop.example.com
- Funktioniert mit HTTP-Validierung - keine DNS-API nötig.
- Eine neue Subdomain bedeutet Neuausstellung, und das ist ein Befehl.
- Das Zertifikat veröffentlicht die Namensliste, also ist jede Subdomain, die Sie haben, öffentlich.
Wildcard - alles auf einer Ebene
sudo certbot certonly --manual --preferred-challenges dns \
-d example.com -d '*.example.com'
- Deckt jede Subdomain ab, auch solche, die es noch nicht gibt.
- Verlangt DNS-Validierung - die Erneuerung braucht also API-Zugang zu Ihrem DNS-Anbieter, oder alle sechzig Tage einen anwesenden Menschen.
- Deckt nur EINE Ebene ab: *.example.com deckt a.b.example.com nicht ab.
- Deckt die nackte Domain nicht ab - führen Sie example.com wie oben zusätzlich auf.
Der Sicherheitsunterschied, der es entscheidet
Ein Wildcard-Schlüssel gilt für jede Subdomain. Legen Sie ihn auf fünf Server, und wird auch nur einer davon kompromittiert, hat ein Angreifer ein Zertifikat für alle - die Zahlungs-Subdomain eingeschlossen. Ein SAN-Zertifikat pro Server hält diesen Radius klein.
Was zu wählen ist
- Eine Handvoll Subdomains auf einem Server - SAN. Einfachere Validierung und einfachere Erneuerung.
- Viele Subdomains, oder pro Kunde erzeugte - Wildcard, mit automatisierter DNS-Validierung.
- Subdomains auf verschiedenen Servern - für jeden ein eigenes Zertifikat, wie viele es auch sind.
sudo certbot certonly --dns-cloudflare \
--dns-cloudflare-credentials /etc/letsencrypt/cf.ini \
-d example.com -d '*.example.com'
Automatisieren Sie es so oder so. Eine manuelle DNS-Challenge alle sechzig Tage ist eine Erneuerung, die irgendwann versäumt wird - siehe Wildcard-Subdomains.