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

Lesedauer: 6 Minute
0

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. Wenn Sie ein Standard-Let's-Encrypt-Zertifikat installiert haben, indem Sie die Schritte unter Wie installiere ich ein Let's-Encrypt-SSL-Zertifikat in einem Bitnami Stack, der auf Lightsail gehostet wird? ausgeführt haben, dann wird das SSL-Zertifikat automatisch verlängert. Die automatische Verlängerung schlägt jedoch möglicherweise fehl, wenn sie nicht richtig konfiguriert ist.

Wenn Sie ein Let's-Encrypt-Zertifikat mit Platzhalterzeichen mit Methode 2 unter Wie installiere ich ein Let's-Encrypt-SSL-Zertifikat mit Platzhalterzeichen in einem auf Amazon Lightsail gehosteten Bitnami Stack? installiert haben, dann müssen Sie 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

Identifizieren Sie das Tool, mit dem Sie das Zertifikat installiert haben. 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 Domainnamen 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 das 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 zweiten Befehl angegebenen 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 das zu überprüfen, führen Sie den folgenden Befehl aus:

sudo certbot certificates

Wenn die Ausgabe des Befehls in Schritt 1 mit dem vom Befehl certbot angegebenen Zertifikatspfad übereinstimmt, wurde Ihr Zertifikat mit Certbot installiert.

Folgen Sie 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ü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 für alle Befehle EMAIL-ADDRESS und DOMAIN durch die richtigen Werte. Verwenden Sie für EMAIL-ADDRESS eine Ihrer funktionierenden E-Mail-Adressen. Oder verwenden Sie dieselbe E-Mail-Adresse, die Sie bei der Installation des Zertifikats verwendet haben. Sie können die E-Mail, die Sie für die Installation des Zertifikats verwendet haben, mit dem folgenden Befehl abrufen:

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

Bestätigen Sie 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ühren Sie den folgenden Befehl aus, um die Authentifizierungsmethode zu ermitteln, die Sie für die Installation des Zertifikats verwendet haben. Ersetzen Sie DOMAIN durch den primären Domainnamen Ihres Zertifikats:

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

Sehen Sie sich in der Befehlsausgabe den Wert des Authenticator-Parameters an. Folgen Sie je nach Wert einer der folgenden Verlängerungsmethoden:

Wenn der Wert des Authenticator-Parameters standalone, webroot, apache, nginx, dns-route53 oder ein anderer Wert ist, der nicht manuell ist, schließen Sie 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 Authenticator-Parameterwert manuell ist und der pref_challs-Parameterwert dns ist, ist es nicht möglich, eine automatische Verlängerung einzurichten. Sie müssen es manuell mit den folgenden Schritten verlängern. Hinweis: Sie müssen diesen Schritt bei jeder Verlängerung des Zertifikats wiederholen.

  1. Bei dieser Methode müssen Sie TXT-Einträge 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 finden Sie unter How to use Linux Screen.
    Um eine Screen-Sitzung zu starten, geben Sie den folgenden Befehl ein:

    screen -S letsencrypt
  2. Führen Sie den folgenden Befehl aus und suchen Sie nach dem Domains-Parameterwert. Ersetzen Sie DOMAIN durch den primären Domainnamen Ihres Zertifikats:

    sudo certbot certificates -d DOMAIN
  3. Führen Sie den folgenden Befehl aus, um das Zertifikat zu verlängern. Stellen Sie sicher, dass Sie jede Domain, die Sie im vorherigen Befehl mit der Option -d gefunden haben, in derselben Reihenfolge einschließen. Wenn Sie Domains hinzufügen, entfernen oder deren Reihenfolge ändern, 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
  4. Sie werden aufgefordert, zu überprüfen, ob Sie Eigentümer der angegebenen Domain sind. Diese Überprüfung erfolgt durch Hinzufügen von TXT-Einträgen zu den DNS-Einträgen für Ihre Domain. Let's Encrypt gibt einen oder mehrere TXT-Einträge aus, die Sie zur Überprüfung verwenden müssen.

  5. Wenn Sie einen TXT-Eintrag auf dem Bildschirm sehen, fügen Sie den angegebenen Eintrag zum DNS Ihrer Domain hinzu.
    Wichtig: Drücken Sie die Eingabetaste erst, wenn Sie bestätigt haben, dass der TXT-Eintrag an Internet DNS weitergegeben wird. Drücken Sie nicht STRG+D, da dadurch die aktuelle Screen-Sitzung beendet wird.

  6. Um zu bestätigen, dass der TXT-Eintrag an Internet DNS weitergegeben wird, schauen Sie auf der MX Toolbox Website unter DNS-Textsuche nach. Geben Sie den folgenden Text in das Textfeld ein und wählen Sie TXT Lookup, um die Prüfung durchzuführen. Ersetzen Sie example.com durch Ihren Domain-Namen.

    _acme-challenge.example.com
  7. Wenn Ihre TXT-Einträge an Internet DNS weitergegeben wurden, wird der TXT-Eintragswert auf der Seite angezeigt. Sie können jetzt zu Screen zurückkehren und die EINGABETASTE drücken.

  8. Wenn Sie aus der Shell entfernt werden, kehren Sie über den Befehlsbildschirm -r SESSIONID zurück. Führen Sie den Befehl screen -ls aus, um die Sitzungs-ID abzurufen.

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

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

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr