Zum Hauptinhalt springen

Let's Encrypt auf Load Balancern

Nur für Setups mit Load Balancer

Dieser Artikel beschreibt die Einrichtung von Let's Encrypt Zertifikaten auf einem Load Balancer.

Die Anleitung für alle anderen Webserver-Typen finden Sie im Artikel nine-manage-vhosts mit Let's Encrypt.

nine-manage-letsencrypt ermöglicht es Ihnen, selbst Let's Encrypt-Zertifikate auf Load Balancern auszustellen und automatisiert einzurichten.

Pro Let's Encrypt-Zertifikat können bis zu 100 (Sub)Domains genutzt werden. Eine Limitierung hinsichtlich der Anzahl an Zertifikaten besteht nicht.

Wildcard-Zertifikate von Let's Encrypt werden nicht unterstützt.

Voraussetzung

Damit Let's Encrypt die Domainvalidierung durchführen kann, muss der A- oder CNAME-Record, für den ein Zertifikat ausgestellt werden soll, auf die Failover-Adresse des Load Balancers verweisen. Kontaktieren Sie bei Unklarheiten gerne unseren Support unter .

Nutzung und Optionen

nine-manage-letsencrypt muss auf dem primären Load Balancer genutzt werden, ein Abgleich zum sekundären (standby) Load Balancer findet automatisch statt. Die Nutzung auf dem sekundären Load Balancer ist nicht möglich.

Die folgenden Optionen stehen zur Verfügung, die Hilfe kann jederzeit mittels nine-manage-letsencrypt --help angezeigt werden:

  nine-manage-letsencrypt register <email>
nine-manage-letsencrypt certificate list
nine-manage-letsencrypt certificate create <domain>
nine-manage-letsencrypt certificate remove <domain>
nine-manage-letsencrypt certificate renew-expiring
nine-manage-letsencrypt alias add <alias> <domain>
nine-manage-letsencrypt alias remove <alias> <domain>

Registrierung

Um Let's Encrypt-Zertifikate anfordern zu können, müssen Sie sich zunächst bei der Let's Encrypt-API registrieren. Hierbei muss eine gültige E-Mail-Adresse angegeben werden.

An diese E-Mail-Adresse werden Mitteilungen bei einem Problem mit der Erneuerung eines Zertifikats gesendet. Daher sollte unbedingt eine E-Mail-Adresse verwendet werden, die regelmässig auf eingehende E-Mails geprüft wird.

Die Registrierung kann wie folgt über die Kommandozeile durchgeführt werden:

www-data@nine-lb01:~ $ sudo nine-manage-letsencrypt register devops_AT_domain.ch

Zertifikate verwalten

Zertifikat(e) auflisten

www-data@nine-lb01:~ $ sudo nine-manage-letsencrypt certificate list

Zertifikat erstellen

www-data@nine-lb01:~ $ sudo nine-manage-letsencrypt certificate create lb.nine.ch

Zertifikat löschen

Die Löschung eines Zertifikates entfernt den Vhost auf dem Load Balancer und widerruft das Zertifikat bei Let's Encrypt.

www-data@nine-lb01:~ $ sudo nine-manage-letsencrypt certificate remove lb.nine.ch

Zertifikat erweitern

Ein bestehendes Zertifikat kann um bis zu 100 (Sub)Domains oder Aliase erweitert werden. Nach dem Hinzufügen eines Aliases wird ein neues Zertifikat ausgestellt, das zusätzlich den Alias enthält.

www-data@nine-lb01:~ $ sudo nine-manage-letsencrypt alias add www.nine.ch lb.nine.ch

Alias aus Zertifikat entfernen

Ein vormals hinzugefügter Alias kann nachträglich entfernt werden. Nach dem Entfernen eines Aliases wird ein neues Zertifikat ausgestellt, das den entfernten Alias nicht mehr enthält.

www-data@nine-lb01:~ $ sudo nine-manage-letsencrypt alias remove www.nine.ch lb.nine.ch

Zertifikate erneuern

Let's Encrypt-Zertifikate haben eine Gültigkeit von 90 Tagen und werden 30 Tage vor Ablauf automatisch erneuert. Sollte bei der automatischen Erneuerung ein Fehler auftreten, wird an die bei der Registrierung verwendete E-Mail-Adresse eine Mitteilung versendet.

Folgende Gründe können zu einer fehlgeschlagenen Erneuerung führen:

  • Die (Sub)Domain verweist nicht auf die Failover-Adresse oder es ist kein A- oder CNAME-Eintrag vorhanden.
  • Die Anfrage wird von einem CDN (bspw. Cloudflare oder Akamai) oder externen Load Balancer nicht unverändert weitergeleitet. Stellen Sie sicher, dass Requests an /.well-known/acme-challenge/ immer unverändert weitergeleitet werden.

Die automatische Erneuerung wird einmal täglich ausgeführt. Sollte es notwendig oder gewünscht sein, die Erneuerung sofort durchzuführen, kann dies forciert werden:

www-data@nine-lb01:~ $ sudo nine-manage-letsencrypt certificate renew-expiring

Es ist im Normalfall aber nicht notwendig, dass Sie sich selbst um die Erneuerung kümmern.