Wie erneuere ich ein SSL-Zertifikat von Let's Encrypt in einem Bitnami-Stack, der auf einer Lightsail-Instance gehostet wird?

Lesedauer: 6 Minute
0

Das für meine Website in einer Amazon-Lightsail-Bitnami-Instance installierte SSL-Zertifikat von Let's Encrypt läuft bald ab. Wie erneuere ich es?

Kurzbeschreibung

SSL-Zertifikate von Let's Encrypt laufen 90 Tage nach der Erstellung ab. Wenn Sie ein Standard-Let's Encrypt-Zertifikat installiert haben, indem Sie die Schritte unter Wie installiere ich ein Standard-Let's Encrypt-Zertifikat in einem auf Amazon Lightsail gehosteten Bitnami-Stack? ausgeführt haben, verlängert sich das SSL-Zertifikat automatisch. Die automatische Verlängerung schlägt jedoch möglicherweise fehl, wenn sie nicht richtig konfiguriert ist.

Wenn Sie ein Platzhalter-Zertifikat von Let's Encrypt installiert haben, indem Sie Methode 2 in Wie installiere ich ein Platzhalter-SSL-Zertifikat von Let's Encrypt in einem Bitnami-Stack, der auf Amazon Lightsail gehostet wird? folgen, dann müssen Sie das Zertifikat manuell erneuern. Methode 2 unterstützt keine automatische Verlängerung.

Die folgende Auflösung umfasst die manuelle Erneuerung des Zertifikats auf Bitnami-gehosteten Lightsail-Instances wie WordPress, LAMP, Magento, MEAN usw. Die folgende Entschließung enthält keine Anleitung, um herauszufinden, warum die automatische Verlängerung fehlgeschlagen ist.

Auflösung

Bevor Sie beginnen

Identifizieren Sie, mit welchen der folgenden Tools Sie das Zertifikat installiert haben:

  • „bncert-tool“ oder „Lego“-Client von Bitnami
  • „Certbot“-Paket

Gehen Sie wie folgt vor, um das Tool zu identifizieren, mit dem Sie das SSL-Zertifikat installiert haben:

1.    Führen Sie den folgenden Befehl aus, um in den Verzeichnissen /etc/letsencrypt und /opt/bitnami/letsencrypt nach der Zertifikatsdatei zu suchen. Stellen Sie sicher, dass Sie DOMAIN durch Ihren Domänennamen ersetzen.

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

2.    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 dies zu überprüfen, führen Sie 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 vorhergehenden Befehl bereitgestellten Zertifikatspfad übereinstimmt, wurde Ihr 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 dies zu überprüfen, führen Sie den folgenden Befehl aus:

sudo certbot certificates

Wenn die Ausgabe des Befehls in Schritt 1 dem vom vorhergehenden Befehl bereitgestellten Zertifikatspfad entspricht (falls vorhanden), wurde Ihr Zertifikat mit Certbot installiert.

Erneuern Sie ein mit dem bncert-tool oder dem Lego-Tool installiertes Let's-Encrypt-Zertifikat

Führen Sie 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
sudo /opt/bitnami/ctlscript.sh start

Ersetzen Sie in den vorhergehenden Befehlen EMAIL-ADDRESS und DOMAIN durch die richtigen Werte.

Sie können jede Ihrer funktionierenden E-Mail-Adressen verwenden. Oder Sie können dieselbe E-Mail-Adresse verwenden, die Sie bei der Installation des Zertifikats verwendet haben. Sie können die E-Mail, die Sie bei der Installation des Zertifikats verwendet haben, abrufen, indem Sie den folgenden Befehl ausführen:

sudo ls /opt/bitnami/letsencrypt/accounts/acm*

Sie können den Domänennamen bestätigen, indem Sie den folgenden Befehl ausführen:

sudo /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt list

Erneuern Sie ein Let's-Encrypt-Zertifikat, das mit dem Certbot-Tool installiert wurde

Bestimmen Sie die Authentifizierungsmethode, mit der Sie das Zertifikat installiert haben. Führen Sie dazu den folgenden Befehl aus. Ersetzen Sie DOMAIN durch den primären Domänennamen Ihres Zertifikats. Um den Domänennamen zu ermitteln, führen Sie den Befehl sudo certbot certificates aus.

sudo cat /etc/letsencrypt/renewal/DOMAIN.conf

Zeigen Sie in der Befehlsausgabe den Wert des Authentifikator-Parameters an.

Wenn der Wert des Authentifizierungs-Parameters Standalone, Webroot, Apache, Nginx, dns-route53 usw. ist, schließen Sie die Erneuerung durch Ausführen der folgenden Befehle ab:

sudo /opt/bitnami/ctlscript.sh stop
sudo certbot renew
sudo /opt/bitnami/ctlscript.sh start

Die vorhergehenden Befehle erneuern alle installierten Zertifikate, die erneuert werden sollen.

Wenn der Wert des Authentifizierungs-Parameters manuell ist und der Parameterwert pref_challs dns ist, ist es nicht möglich, eine automatische Verlängerung einzurichten. Sie müssen es manuell mithilfe der folgenden Schritte erneuern. Beachten Sie, dass Sie diesen Schritt bei jeder Verlängerung des Zertifikats wiederholen müssen.

1.    Diese Methode erfordert das Hinzufügen von TXT-Datensätzen im DNS-Anbieter der Domäne. Dieser Prozess kann einige Zeit dauern, daher ist es empfehlenswert, die Befehle im Linux-GNU-Bildschirm auszuführen, um ein Timeout der Sitzung zu verhindern. Um eine Bildschirmsitzung zu starten, geben Sie den folgenden Befehl ein:

screen -S letsencrypt

2.    Führen Sie den folgenden Befehl aus und suchen Sie nach dem Parameterwert Domänen. Ersetzen Sie im folgenden Beispiel DOMAIN durch den primären Domänennamen Ihres Zertifikats.

sudo certbot certificates -d DOMAIN

3.    Führen Sie den folgenden Befehl aus, um das Zertifikat zu erneuern. Stellen Sie sicher, dass Sie jede Domäne, die Sie im vorherigen Befehl gefunden haben, mit der Option -d in derselben Reihenfolge einschließen. Wenn Sie zusätzliche Domänen einschließen, aktuelle Domänen entfernen oder die Reihenfolge der Domänen ändern, wird möglicherweise ein neues Zertifikat mit dem Namen DOMAIN-001 erstellt, anstatt das ursprüngliche Zertifikat zu erneuern.

sudo certbot certonly --manual --preferred-challenge dns -d DOMAIN-1 -d DOMAIN-2 --force-renewal

4.    Sie erhalten eine Aufforderung, zu überprüfen, ob Sie die angegebene Domäne besitzen, indem Sie TXT-Einträge zu den DNS-Einträgen für Ihre Domäne hinzufügen. Let's Encrypt stellt entweder einen einzelnen oder mehrere TXT-Datensätze zur Verfügung, die Sie zur Überprüfung verwenden müssen.

5.    Wenn Sie einen TXT-Eintrag auf dem Bildschirm sehen, fügen Sie zuerst den bereitgestellten Datensatz in das DNS Ihrer Domäne ein. DRÜCKEN SIE NICHT DIE EINGABETASTE, bis Sie bestätigen, dass der TXT-Datensatz an Internet-DNS weitergegeben wird. Drücken Sie außerdem NICHT STRG+D, da dies die aktuelle Bildschirmsitzung beendet.

6.    Um zu bestätigen, dass der TXT-Datensatz an Internet-DNS weitergegeben wird, schauen Sie bei DNS Text Lookup nach. Geben Sie den folgenden Text in das Textfeld ein und wählen Sie TXT Lookup, um die Prüfung auszuführen. Ersetzen Sie unbedingt example.com durch Ihre Domäne.

_acme-challenge.example.com

7.    Wenn Ihre TXT-Einträge an das DNS des Internets weitergegeben wurden, sehen Sie den TXT-Datensatzwert auf der Seite. Sie können jetzt zum Bildschirm zurückkehren und die EINGABETASTE drücken.

8.    Wenn Sie aus der Shell entfernt werden, können Sie mithilfe des Befehlsbildschirms -r SESSIONID zurückkehren. Holen Sie sich die Sitzungs-ID, indem Sie den Befehlsbildschirm -ls ausführen.

9.    Wenn Sie in der Certbot-Eingabeaufforderung aufgefordert werden, einen weiteren TXT-Datensatz hinzuzufügen, führen Sie die Schritte 5 -8 erneut aus.

10.    Nachdem das SSL-Zertifikat erfolgreich generiert wurde, erhalten Sie die Meldung „Zertifikat erfolgreich erhalten“.


AWS OFFICIAL
AWS OFFICIALAktualisiert vor 3 Jahren