Get Hands-on with Amazon EKS - Workshop Event Series
Whether you're taking your first steps with Kubernetes or you're an experienced practitioner looking to sharpen your skills, our Amazon EKS workshop series delivers practical, real-world experience that moves you forward. Learn directly from AWS solutions architects and EKS specialists through hands-on sessions designed to build your confidence with Kubernetes. Register now and start building with Amazon EKS!
Wie erneuere ich ein Let's-Encrypt-SSL-Zertifikat in einem Bitnami-Stack, der auf einer Lightsail-Instance gehostet wird?
Das Let's-Encrypt-SSL-Zertifikat, das für meine Website in einer Amazon-Lightsail-Bitnami-Instance installiert wurde, läuft bald ab.
Kurzbeschreibung
Let's-Encrypt-SSL-Zertifikate laufen 90 Tage nach ihrer Erstellung ab. Standardzertifikate werden automatisch verlängert, wenn du „Wie installiere ich ein Let's-Encrypt-SSL-Zertifikat in einem Bitnami-Stack, der auf Lightsail gehostet wird?“ verwendest. Die automatische Verlängerung schlägt jedoch möglicherweise fehl, wenn das Zertifikat nicht richtig konfiguriert ist.
Wenn du ein Let's-Encrypt-Zertifikat mit Platzhalterzeichen mithilfe der Methode 2 unter Wie installiere ich ein Let's-Encrypt-SSL-Zertifikat mit Platzhalterzeichen in einem auf Amazon Lightsail gehosteten Bitnami Stack? installiert hast, dann musst du das Zertifikat manuell verlängern. Methode 2 unterstützt keine automatische Verlängerung.
In der folgenden Lösung wird beschrieben, wie ein Zertifikat auf von Bitnami gehosteten Lightsail-Instances wie WordPress, LAMP, Magento und MEAN manuell verlängert wird.
Behebung
Das Tool zur Installation des Zertifikats identifizieren
Identifiziere das Tool, mit dem du das Zertifikat installiert hast. Gehe wie folgt vor, um das Tool zu identifizieren, mit dem du das SSL-Zertifikat installiert hast:
-
Führe den folgenden Befehl aus, um in den Verzeichnissen /etc/letsencrypt und /opt/bitnami/letsencrypt nach der Zertifikatsdatei zu suchen. Stelle sicher, dass du DOMAIN durch deinen Domainnamen ersetzt.
sudo grep -irl "$(openssl s_client -verify_quiet -showcerts -connect DOMAIN:443 2>/dev/null | sed -n '/BEGIN/,/END/{p;/END/q}' | head -n 3 | tail -n 2)" /opt/bitnami/letsencrypt /etc/letsencrypt -
Wenn sich die Zertifikatsdatei in den Unterverzeichnissen von /opt/bitnami/letsencrypt befindet, wurde das Zertifikat wahrscheinlich mit dem bncert-tool oder dem Lego-Client installiert. Um das zu überprüfen, führe den folgenden Befehl aus:
sudo /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt list
Wenn die Ausgabe des Befehls in Schritt 1 mit dem vom zweiten Befehl angegebenen Zertifikatspfad übereinstimmt, wurde das Zertifikat mit bncert-tool oder Lego installiert.
Wenn sich die Zertifikatsdatei in den Unterverzeichnissen von /etc/letsencrypt befindet, wurde das Zertifikat wahrscheinlich mit Certbot installiert. Um das zu überprüfen, führe den folgenden Befehl aus:
sudo certbot certificates
Wenn die Ausgabe des Befehls in Schritt 1 mit dem vom Befehl certbot angegebenen Zertifikatspfad übereinstimmt, wurde das Zertifikat mit Certbot installiert.
Folge auf der Grundlage des identifizierten Tools den entsprechenden Lösungsschritten.
Verlängern eines mit dem bncert-tool oder dem Lego-Tool installierten Let's-Encrypt-Zertifikats
Führe die folgenden Befehle aus:
sudo /opt/bitnami/ctlscript.sh stop
sudo /opt/bitnami/letsencrypt/lego --tls --email="EMAIL-ADDRESS" --domains="DOMAIN" --path="/opt/bitnami/letsencrypt" renew --days 90
Hinweis: Ersetze EMAIL-ADDRESS und verwende eine deiner funktionierenden E-Mail-Adressen. Oder verwende dieselbe E-Mail-Adresse, die du bei der Installation des Zertifikats verwendet hast. Ersetze DOMAIN durch deinen Domainnamen.
sudo /opt/bitnami/ctlscript.sh start
Du kannst die E-Mail, die du für die Installation des Zertifikats verwendet hast, mit dem folgenden Befehl abrufen:
sudo ls /opt/bitnami/letsencrypt/accounts/acm*
Bestätige, wenn nötig, den Domainnamen mit dem folgenden Befehl:
sudo /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt list
Verlängern eines mit dem Certbot-Tool installierten Let's-Encrypt-Zertifikats
Führe den folgenden Befehl aus, um die Authentifizierungsmethode zu ermitteln, die du für die Installation des Zertifikats verwendet hast:
sudo cat /etc/letsencrypt/renewal/DOMAIN.conf
Hinweis: Ersetze DOMAIN durch den primären Domainnamen des Zertifikats.
Zeige in der Befehlsausgabe den Wert des Authentifikator-Parameters an. Befolge je nach Wert eine der folgenden Verlängerungsmethoden:
Wenn der Wert des Authentifikator-Parameters standalone, webroot, apache, nginx, dns-route53 oder ein anderer Wert ist, der nicht manuell ist, schließe die Verlängerung mit den folgenden Befehlen ab:
sudo /opt/bitnami/ctlscript.sh stop sudo certbot renew sudo /opt/bitnami/ctlscript.sh start
Diese Befehle verlängern alle installierten Zertifikate, die erneuert werden sollen.
- oder -
Wenn der Authentifikator-Parameterwert manuell ist und der pref_challs-Parameterwert dns ist, ist es nicht möglich, eine automatische Verlängerung einzurichten. Du musst es manuell mit den folgenden Schritten verlängern. Hinweis: Du musst diesen Schritt bei jeder Verlängerung des Zertifikats wiederholen.
-
Bei dieser Methode musst du TXT-Datensätze im DNS-Anbieter der Domain hinzufügen. Es hat sich bewährt, die Befehle in Linux GNU Screen auszuführen, um ein Timeout der Sitzung zu verhindern. Weitere Informationen findest du auf der Linuxize-Website unter How to use Linux Screen (So verwendest du Linux Screen).
Um eine Screen-Sitzung zu starten, gib den folgenden Befehl ein:screen -S letsencrypt -
Führe den folgenden Befehl aus und suche nach dem Domains-Parameterwert. Ersetze DOMAIN durch den primären Domainnamen deines Zertifikats:
sudo certbot certificates -d DOMAIN -
Führe den folgenden Befehl aus, um das Zertifikat zu verlängern. Stelle sicher, dass du jede Domain, die du im vorherigen Befehl mit der Option -d gefunden hast, in derselben Reihenfolge einbeziehst. Wenn du Domains hinzufügst, entfernst oder deren Reihenfolge änderst, wird möglicherweise ein neues Zertifikat erstellt, anstatt das ursprüngliche Zertifikat zu verlängern.
sudo certbot certonly --manual --preferred-challenge dns -d DOMAIN-1 -d DOMAIN-2 --force-renewal -
Du wirst aufgefordert, zu überprüfen, ob du Eigentümer der angegebenen Domain bist. Diese Überprüfung erfolgt durch Hinzufügen von TXT-Datensätzen zu den DNS-Datensätzen für deine Domain. Let's Encrypt gibt einen oder mehrere TXT-Datensätze aus, die du zur Überprüfung verwenden musst.
-
Wenn du einen TXT-Datensatz auf dem Bildschirm siehst, füge den angegebenen Datensatz zum DNS der Domain hinzu.
Wichtig: Drücke die Eingabetaste erst, wenn du dich vergewissert hast, dass der TXT-Datensatz an das Internet-DNS weitergegeben wird. Drücke nicht STRG+D, da dadurch die aktuelle Screen-Sitzung beendet wird. -
Um zu bestätigen, dass der TXT-Datensatz an das Internet-DNS weitergegeben wird, schaue auf der MXToolbox-Website unter DNS Text Lookup (DNS-Textsuche) nach. Gib den folgenden Text in das Textfeld ein:
_acme-challenge.example.comHinweis: Ersetze example.com durch deine Domain.
-
Wähle TXT Lookup, um die Prüfung auszuführen.
-
Wenn die TXT-Datensätze an das Internet-DNS weitergegeben wurden, wird der TXT-Datensatzwert auf der Seite angezeigt. Kehre zum Bildschirm zurück und drücke die EINGABETASTE.
-
Wenn du aus der Shell entfernt wirst, kehre über den Befehl screen -r SESSIONIDzurück.
-
Rufe die Sitzungs-ID ab: Führe den Befehl screen -ls aus.
-
Wenn du in der Certbot-Eingabeaufforderung aufgefordert wirst, einen weiteren TXT-Datensatz hinzuzufügen, führe die Schritte 5 bis 8 erneut aus.
Nachdem das SSL-Zertifikat erfolgreich generiert wurde, erhältst du die folgende Meldung: „Successfully received certificate“.
- Themen
- Compute
- Tags
- Amazon Lightsail
- Sprache
- Deutsch
