Let’s Encrypt Zertifikat auf einem Load Balancer nutzen

Heutzutage ist es kein Problem mehr, verschiedenen Produkte bei verschiedenen Anbietern zu buchen. Zum Einem, weil der Markt sich in den letzten 10 Jahren sehr breit geworden ist. Zum anderen, weil in der Regel eine Laufzeit von einem einen Monat bei der Bestellung problemlos möglich ist.

In meinem Fall liegen alle meine Domains bei Core Networks, dedizierte Server stehen in der Regel bei Hetzner im Rechenzentrum, Cloud Services ebenfalls bei Hetzner und KeyWeb. So einfach und bequem wie sich die Server und damit Dienste verteilen lassen, muss man sich früher oder später mit neuen Herausforderungen beschäftigen.

In diesem Beitrag geht es um die Verwendung von Let’s Encrypt (LE) auf Cloud Load Balancern von Hetzner mit einer externen Domain. Die Besonderheit ist, dass zum aktuellen Zeitpunkt Hetzner ausschließlich den Challenge Typ DNS-01 in Verbindung mit dem hauseigenen DNS Console unterstützt.

Nachstehend beschreibe ich die dafür notwendigen Schritte. Für diesen Beitrag und dem anschließend Test der Konfiguration habe ich die Subdomain „lb.hetzner.familie-wydler.de“ entschieden.

Zuerst melde ich mich im Kundenmenü von Core Networks an. Dort wähle ich in der Zonenübersicht die Domain „familie-wydler.de“ aus.

Dort muss für die obengenannte Subdomain ein Eintrag von Typ „NS“ erstellt werden.

Da Hetzner aktuell drei verschiedene DNS-Server zur Verfügung stellt, muss nicht nur ein NS Eintrag erstellt werden, sondern drei Einträge.

Neben den NS-Einträgen habe ich in diesem Zuge auch die A- und AAAA Einträge für den (neuen) Load Balancer bei Hetzner angelegt. Die IP-Adressen stehen im Kundenmenü der Hetzner Cloud, im Kopfbereich des jeweiligen Produkts.

Wer Wert auf Sicherheit legt, legt zusätzlich noch CAA-Einträge an. Mit Hilfe dieser Einträge wird definiert, welche Zertifizierungsstelle für die (Sub)Domain (Wildcard) SSL-Zertifikate abrufen darf.

In diesem Schritt wird in der Hetzner DNS Console eine DNS-Zone für die Domain „familie-wydler.de“ angelegt. Diese Zone wird später vom Load Balancer verwendet, um die Anfrage für LE zu verarbeiten.

Die DNS Zone ist nach wenigen Sekunden angelegt. Anschließend werden alle Einträge in der DNS-Zone angezeigt.

Es können alle Einträge von Typ A und MX gelöscht werden. Da die Verwaltung nach wie vor über Core Networks erfolgt. So dass am Ende nur noch die NS Einträge übrig sind.

 

Damit sind nun alle Vorbereitungen auf Seite des DNS getroffen. So dass nun der Load Balancer entsprechend für den Abruf eines Zertifikats erfolgen kann. Dazu in die Hetzner Cloud Konsole wechseln und den Load Balancer aufrufen bzw. einen Neuen anlegen.

Anschließend muss ein neuer Service vom Typ „TLS Termination“ erstellt werden.

Wichtig ist, den Haken bei „familie-wydler.de“ zu entfernen. Grund dafür ist, dass in diesen Fall ein SSL-Zertifikat für eine Subdomain bezogen werden soll und dem entsprechend die DNS Konfiguration erfolgt ist. Abschließend auf „Zertifikat erstellen“ klicken.

An dieser Stelle hole ich mir einen Tee. Dieser Vorgang durch aus 2-3 Minuten in Anspruch nehmen. Das hängt natürlich auch davon ab, wie viele (Sub)Domains in das SSL-Zertifikat aufgenommen werden sollen.

Ist der Vorgang abgeschlossen, kann das Zertifikat über die Schaltfläche „1 Zertifikat hinzufügen“ für den Load Balancer übernommen werden.

Den Load Balancer können selbstverständlich noch weitere SSL-Zertifikate hinzugefügt werden. Ist in diesen Fall mit einer Subdomain nicht erforderlich. Mit der Schaltfläche „Änderungen speichern“ wird die Anpassung übernommen.

Wie immer zu guter Letzt der Funktionstest. Schließlich soll man seine Konfiguration auch prüfen.

Viele Spaß beim Ausprobieren. 🙂

Abonnieren
Benachrichtige mich bei
2 Comments
neueste
älteste
Inline Feedbacks
View all comments
Quercus
13.04.2022 10:50

Hallo 🙂
eine super gute Anleitung mit dem Loadbalencer, hast du hierzu auch erfahrungswerte wenn der Loadbalencer dann auf 2 Öffentliche Ip Adressen den lastausgleich bewerkstelligen soll um Exchange Server anzusprechen mit autodiscover.domain.yx + mail.domain.yx

hier wäre es dann auch notwendig das letsencrypt Zertifikat vom Load Balencer entweder exportieren zu können oder auf den Speicherort des Zertifikats über Powershell darauf zuzugreifen, zum Download mit exportierbarm Passwort des Zertifikats.

Gruß Quercus