Get Rewarded! We will reward you with up to €50 credit on your account for every tutorial that you write and we publish!

Einrichten eines Let's Encrypt Zertifikats auf Cloud Load Balancern mit externer Domain

profile picture
Author
Markus
Published
2021-05-14
Time to read
4 minutes reading time

Einführung

In diesem Beitrag geht es darum auf Cloud Load Balancern die automatische Zertifikatsvergabe auch mit extern bereitgestellten Domains zu nutzen.

Voraussetzungen

  • Eine Top-Level-Domain, z.B. example.com
  • DNS Hoster mit der Möglichkeit NS Records zu erstellen
  • Einen Cloud Load Balancer

Schritt 1 - Anlegen der Hetzner DNS Zone

In diesem Schritt wird im Hetzner DNS Console eine DNS Zone für die Domain example.com angelegt, diese wird später vom Load Balancer verwendet um die _acme-challenge zu verarbeiten.

Eine neue DNS Zone kann unter dns.hetzner.com angelegt werden.

createDNSZone

Dazu einfach den Namen der Domain angeben und das automatische Scannen deaktivieren.

Die angelegte DNS Zone sollte nun so aussehen:

beforeDelete

Die markierten Einträge werden nicht benötigt und sollten daher gelöscht werden.

Schritt 2 - Externe DNS Konfiguration

Nun geht es darum die DNS Zone _acme-challenge.example.com der externen Domain auf die Hetzner DNS Zone umzuleiten.

Um das zu bewerkstelligen müssen bei dem jeweiligen DNS Hoster mehrere NS Einträge angelegt werden.

Diese sind wie folgt aufgebaut:

_acme-challenge.example.com	IN	NS	hydrogen.ns.hetzner.com.

Die DNS Server können der Hetzner DNS Zone entnommen werden.

Es sollte für jeden DNS Server ein NS Record bei dem externen DNS Hoster angelegt werden.

Bei Cloudflare sieht die Konfiguration in etwa so aus:

cloudflare

Schritt 3 - Einrichtung des Load Balancers

Im Load Balancer muss nun ein TLS-Termination Service eingerichtet werden.

In der Hetzner Cloud Console muss dazu der Load Balancer ausgewählt und anschließend zu "Services" navigiert werden. Klicke dort auf Service hinzufügen » TLS-Termination.

load balancer de

Zu beachten ist hier, wie der Traffic vom Load Balancer weiter zum Cloud Server gelangt. Die Standardeinstellung ist die unverschlüsselte Übertragung über HTTP und das öffentliche Interface des Servers. Hier würde es sich dringend anbieten auf dem Service ein Self-Signed Zertifikat zu hinterlegen und den Load Balancer auf HTTPS zu HTTPS zu konfigurieren. Zusätzlich kann der Traffic auch über ein privates Netzwerk geleitet werden, was zuvor aber konfiguriert werden muss.

Wähle beim Erstellen des Services Zertifikat » + Zertifikat hinzufügen aus und klicke auf Zertifikat erstellen. Weitere Information bezüglich des Unterschiedes zwischen Zertifikat erstellen und Zertifikat hochladen, können in diesem FAQ-Eintrag nachgelesen werden.

Es können ein Name und eine DNS Zone angegeben werden. Hier wird dann die oben erstellte DNS Zone ausgewählt.

create cert de

In der Auswahl können entweder einzele Sub-Domains (ssl.example.com) oder Wildcard Zertifikate (*.example.com) ausgestellt werden. Im oben gezeigen Beispiel ist es ein Wildcard Zertifikat.

Danach ist die Einrichtung des Zertifikats abgeschlossen. Nun können die DNS-Einträge, die für den jeweiligen Service benötigt werden, in der Hetzner DNS Console angelegt werden. Dafür muss schlicht ein A Record hinzugefügt werden, in welchem die (Sub-)Domain auf den Load Balancer zeigt. Beispiel:

Typ Name Wert
A ssl.example.com <load-balancer-ip>

Danach läuft der Service dann unter dem TLS Zertifikat.

https

Ergebnis

In diesem Beitrag wurde gezeigt wie man trotz einer externen Domain das Let's Encrypt Feature der Load Balancer verwenden kann, ohne die Domain komplett umziehen zu müssen.

License: MIT
Want to contribute?

Get Rewarded: Get up to €50 in credit! Be a part of the community and contribute. Do it for the money. Do it for the bragging rights. And do it to teach others!

Report Issue

Discover our

Load Balancer

Distribute traffic between multiple targets and avoid having a single point of failure.

Want to contribute?

Get Rewarded: Get up to €50 credit on your account for every tutorial you write and we publish!

Find out more