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.