Wie installiere ich ein Let's Encrypt Wildcard-SSL-Zertifikat in Amazon Lightsail?

Lesedauer: 6 Minute
0

Ich möchte ein Wildcard-SSL-Zertifikat für meine Website in einer Amazon Lightsail-Instance installieren.

Kurzbeschreibung

Die folgende Lösung behandelt die Installation eines Let's Encrypt SSL-Wildcard-Zertifikats für Websites, die in einer Lightsail-Instance ohne Bitnami-Stack gehostet werden. Beispiele für diese Instance-Vorlagen sind Amazon Linux 2 oder Ubuntu. Wenn Sie eine andere Instance-Vorlage haben oder ein Standardzertifikat installieren möchten, sehen Sie sich eine der folgenden Optionen an:

Lösung

Hinweis: Bevor Sie beginnen, installieren Sie das Certbot-Tool. Eine Installationsanleitung finden Sie unter Wie installiere ich das Certbot-Paket in meiner Lightsail-Instance für die Installation des Let's Encrypt-Zertifikats?

Die Methode zur Installation eines Let's Encrypt SSL-Wildcard-Zertifikats auf Ihrer Lightsail-Instance hängt vom DNS-Anbieter Ihrer Domain ab. Überprüfen Sie zunächst, ob Ihr DNS-Anbieter in den DNS-Plugins auf der Certbot-Website erscheint. Die folgenden Methoden erklären, wie das Zertifikat auf dem Server installiert wird. Sie müssen zusätzliche Schritte manuell ausführen. Beispielsweise müssen Sie den Server so konfigurieren, dass er das Zertifikat verwendet, und Sie müssen die HTTPS-Umleitung einrichten.

Wenn Ihre Domain einen der aufgelisteten DNS-Anbieter verwendet

Im folgenden Beispiel ist Amazon Route 53 der DNS-Anbieter. Anweisungen für andere unterstützte DNS-Anbieter finden Sie unter DNS-Plugins auf der Certbot-Website.

  1. Erstellen Sie einen AWS Identity and Access Management (IAM) -Benutzer mit programmatischem Zugriff. Die minimalen IAM-Benutzerberechtigungen, die Certbot benötigt, um die DNS-Herausforderung abzuschließen, finden Sie unter certbot-dns-route-53 auf der Certbot-Website.

  2. Führen Sie die folgenden Befehle aus, um die Datei /root/.aws/credentials im Nano-Editor zu öffnen:

    sudo mkdir /root/.aws
    sudo nano /root/.aws/credentials
  3. Kopieren Sie die folgenden Zeilen in die Datei:

    [default]
    aws_access_key_id = AKIA************E
    aws_secret_access_key = 1yop**************************l

    Hinweis: Ersetzen Sie aws\ _access\ _key\ _id durch die in Schritt 1 erstellte Zugriffsschlüssel-ID.

  4. Um die Datei zu speichern, drücken Sie Strg + X, dann Y und drücken Sie schließlich die EINGABETASTE.

  5. Erstellen Sie ein Let's Encrypt-Zertifikat auf dem Server. Wenn Ihre Domain Amazon Route 53 als DNS-Anbieter verwendet, führen Sie den folgenden Befehl aus:

    sudo certbot certonly --dns-route53 -d example.com -d *.example.com

    Hinweis: Ersetzen Sie example.com durch Ihren Domain-Namen.

  6. Nachdem Certbot das SSL-Zertifikat generiert hat, erhalten Sie die Meldung Zertifikat erfolgreich erhalten. Die Speicherorte für das Zertifikat und die Schlüsseldateien werden ebenfalls bereitgestellt. Kopieren Sie diese Dateispeicherorte in eine Textdatei, um sie in Schritt 8 zu verwenden.

  7. Richten Sie die automatische Zertifikatsverlängerung ein.
    Wenn das Certbot-Paket mit Snapd installiert wird, wird die Verlängerung automatisch in systemd-Timern oder Cronjobs konfiguriert.
    Wenn es sich bei der Betriebssystemdistribution um Amazon Linux 2 oder FreeBSD handelt, wird das Certbot-Paket nicht mit snapd installiert. Führen Sie den folgenden Befehl aus, um die Verlängerung manuell zu konfigurieren:

    echo "30 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew" | sudo tee -a /etc/crontab > /dev/null
  8. Sie haben jetzt das Zertifikat installiert und die Verlängerung eingerichtet. Sie müssen Ihren Webserver jedoch weiterhin so konfigurieren, dass er dieses Zertifikat verwendet, und Sie müssen auch die HTTPS-Umleitung einrichten. Die Konfiguration hängt von der Konfiguration des Webservers Ihrer Instance ab. Anweisungen zur Konfiguration finden Sie in Ihrer Webservice-Dokumentation.

Wenn Ihre Domain keinen der aufgelisteten DNS-Anbieter verwendet

Hinweis: Diese Methode unterstützt keine automatische Zertifikatsverlängerung.

In den folgenden Schritten fügen Sie TXT-Einträge im DNS-Anbieter der Domain hinzu. Dieser Vorgang kann einige Zeit in Anspruch nehmen. Es hat sich bewährt, Befehle in Linux GNU Screen auszuführen, um ein Timeout der Sitzung zu verhindern.

  1. Um eine Screen-Sitzung zu starten, geben Sie den folgenden Befehl ein:

    screen -S letsencrypt
  2. Um Certbot im interaktiven Modus zu starten, geben Sie den folgenden Befehl ein. Dieser Befehl weist Certbot an, eine manuelle Autorisierungsmethode mit DNS-Herausforderungen zu verwenden, um den Domainbesitz zu überprüfen.

    sudo certbot certonly --manual --preferred-challenges dns -d example.com -d *.example.com

    Hinweis: Ersetzen Sie example.com durch Ihren Domain-Namen.

  3. Certbot fordert Sie auf, TXT-Einträge zu den DNS-Einträgen für Ihre Domain hinzuzufügen. Diese Aktion bestätigt, dass Sie Eigentümer der angegebenen Domain sind. Let's Encrypt stellt entweder einen oder mehrere TXT-Einträge zur Verfügung, die zur Überprüfung verwendet werden können.

  4. Wenn Sie einen TXT-Eintrag auf dem Bildschirm sehen, fügen Sie den angegebenen Eintrag zum DNS Ihrer Domain hinzu. Hinweis: Drücken Sie die EINGABETASTE erst, wenn Sie bestätigt haben, dass der TXT-Eintrag an das Internet-DNS weitergegeben wird. Drücken Sie nicht Strg + D, da diese Aktion die aktuelle Screen-Sitzung beendet.

  5. Um zu bestätigen, dass der TXT-Eintrag an das Internet-DNS weitergegeben wurde, schauen Sie auf der MX Toolbox-Website unter DNS Text Lookup nach. Um die Prüfung durchzuführen, geben Sie den folgenden Text in das Textfeld ein und wählen Sie dann TXT Lookup:

    _acme-challenge.example.com

    Hinweis: Ersetzen Sie example.com durch Ihren Domain-Namen.

  6. Wenn Ihre TXT-Einträge an das Internet-DNS weitergegeben werden, sehen Sie den TXT-Eintragswert auf der Seite. Gehen Sie zurück zum Bildschirm und drücken Sie die EINGABETASTE.
    Hinweis: Wenn Sie aus der Shell entfernt wurden, verwenden Sie den Befehl screen -r SESSIONID, um wieder einzusteigen. Führen Sie den Befehl screen -ls aus, um die Sitzungs-ID zu ermitteln.

  7. Wenn Sie in der Certbot-Prompt aufgefordert werden, einen weiteren TXT-Datensatz hinzuzufügen, wiederholen Sie die Schritte 4—6.

  8. Nachdem Certbot das SSL-Zertifikat generiert hat, erhalten Sie die Meldung Zertifikat erfolgreich erhalten. Die Speicherorte für das Zertifikat und die Schlüsseldateien werden ebenfalls bereitgestellt. Kopieren Sie diese Dateispeicherorte in eine Textdatei, um sie in Schritt 9 zu verwenden.

  9. Sie haben jetzt das Zertifikat installiert und die Verlängerung eingerichtet. Sie müssen Ihren Webserver jedoch weiterhin so konfigurieren, dass er dieses Zertifikat verwendet, und Sie müssen auch die HTTPS-Umleitung einrichten. Die Konfiguration hängt von der Konfiguration des Webservers Ihrer Instance ab. Anweisungen zur Konfiguration finden Sie in Ihrer Webservice-Dokumentation.

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 6 Monaten