Share Your AWS re:Post Experience - Quick 3 Question Survey
Help us improve AWS re:Post! We're interested in understanding how you use re:Post and its impact on your AWS journey. Please take a moment to complete our brief 3-question survey.
Wie installiere ich ein Let's Encrypt SSL-Zertifikat mit Platzhalterzeichen in einem Bitnami-Stack, der auf Lightsail gehostet wird?
Ich möchte ein Wildcard-SSL-Zertifikat für meine Website in einer Amazon Lightsail-Instanz mit einem Bitnami-Stack installieren.
Kurzbeschreibung
Informationen zur Installation eines anderen Instanz-Blueprints oder eines Standardzertifikats finden Sie in den folgenden Artikeln des AWS Knowledge Center:
- Wie installiere ich ein Standard-SSL-Zertifikat von Let's Encrypt in einer Lightsail-Instanz?Diese Lösung umfasst Instanzen wie Amazon Linux 2 und Ubuntu.
- Wie installiere ich ein Let's Encrypt SSL-Zertifikat in einem Bitnami-Stack, der auf Amazon Lightsail gehostet wird?Diese Lösung umfasst Instanzen wie WordPress, LAMP und Magento.
- Wie installiere ich ein Let's Encrypt SSL-Zertifikat mit Platzhalterzeichen in Amazon Lightsail?Diese Lösung umfasst Instanzen wie Amazon Linux 2 und Ubuntu.
Behebung
Die Schritte zur Installation eines Let's Encrypt SSL-Wildcard-Zertifikats auf einer von Bitnami gehosteten Lightsail-Instance hängen vom DNS-Anbieter ab, den Ihre Domain verwendet. Prüfen Sie, ob Ihr DNS-Anbieter auf der Lego-Website unter DNS-Anbieter aufgeführt ist. Wählen Sie dann die entsprechende Methode aus, die Sie verwenden möchten:
- Wenn Ihre Domain einen der aufgelisteten DNS-Anbieter verwendet, verwenden Sie das Lego-Tool, das Bitnami bereitstellt.
- Wenn Ihre Domain keinen der aufgelisteten DNS-Anbieter verwendet, verwenden Sie das Certbot-Paket.
**Hinweis:**Dateipfade können sich ändern, je nachdem, ob Ihr Bitnami-Stack native Linux-Systempakete (Ansatz A) oder eine eigenständige Installation (Ansatz B) verwendet. Die neuesten Bitnami WordPress-Blueprints sind nur für Approach A verfügbar.
Führen Sie den folgenden Befehl aus, um Ihren Bitnami-Installationstyp zu identifizieren:
test ! -f "/opt/bitnami/common/bin/openssl" && echo "Approach A: Using system packages." || echo "Approach B: Self-contained installation."
Lego-Werkzeug
Bitnami stellt das bncert-Tool und das Lego-Tool zur Verfügung. Das Lego-Tool unterstützt die Erstellung von Wildcard-SSL-Zertifikaten. Das bncert-Tool unterstützt nicht die Erstellung von Wildcard-SSL-Zertifikaten.
**Hinweis:**Im folgenden Beispiel sind Amazon Route 53 und Amazon Lightsail die DNS-Anbieter.
Gehen Sie wie folgt vor, um mit dem Lego-Tool ein SSL-Zertifikat mit Platzhalterzeichen von Let's Encrypt zu installieren:
-
Erstellen Sie einen AWS Identity and Access Management (IAM)-Benutzer mit programmatischem Zugriff. Um zu ermitteln, welche IAM-Benutzerberechtigungen Lego benötigt, um die DNS-Herausforderung abzuschließen, schauen Sie sich die Beispiele für IAM-Richtlinien auf der Lego-Website an.
-
Um die Datei /root/.aws/credentials im Nano-Editor zu öffnen, führen Sie den folgenden Befehl aus:
sudo mkdir /root/.aws sudo nano /root/.aws/credentials
-
Geben Sie die folgenden Zeilen in die Anmeldeinformationsdatei ein:
[default] aws_access_key_id = AKIA************E aws_secret_access_key = 1yop**************************l region = us-east-1
**Hinweis:**Ersetzen Sie aws\ _access\ _key\ _id und aws\ _secret\ _access\ _key durch Ihre Werte. Ersetzen Sie us-east-1 durch die AWS-Region Ihrer Lightsail-Instance.
-
Um die Datei zu speichern, drücken Sie Strg + X, dann Y und dann Enter.
-
Wenn deine Bitnami-Instanz das Verzeichnis /opt/bitnami/letsencrypt/ nicht enthält, führe den folgenden Befehl aus, um den Lego-Client manuell zu installieren:
cd /tmp curl -Ls https://api.github.com/repos/xenolf/lego/releases/latest | grep browser_download_url | grep linux_amd64 | cut -d '"' -f 4 | wget -i - -O lego.tar.gz tar xzf lego.tar.gz sudo mkdir -p /opt/bitnami/letsencrypt sudo mv lego /opt/bitnami/letsencrypt/lego
-
Um ein Let's Encrypt-Zertifikat mit Platzhalterzeichen auf dem Server zu erstellen, führen Sie je nach Servertyp den folgenden Befehl aus:
Route 53 Nameserver:sudo /opt/bitnami/letsencrypt/lego --email="EMAIL-ADDRESS" --domains="DOMAIN" --domains="*.DOMAIN" --dns route53 --path="/opt/bitnami/letsencrypt" run
Lightsail-Nameserver:
sudo DNS_ZONE=DOMAIN /opt/bitnami/letsencrypt/lego --email="EMAIL-ADDRESS" --domains="DOMAIN" --domains="*.DOMAIN" --dns lightsail --path="/opt/bitnami/letsencrypt" run
**Hinweis:**Ersetzen Sie EMAIL-ADDRESS durch die E-Mail-Adresse, an die Sie Zertifikatsaktualisierungen erhalten möchten. Ersetzen Sie DOMAIN durch Ihre Domain.
Das SSL-Zertifikat und der private Schlüssel werden an den folgenden Speicherorten generiert: /opt/bitnami/LetsEncrypt/certificates/domain.crt oder /opt/bitnami/letsencrypt/certificates/DOMAIN.key. -
Führen Sie den folgenden Befehl aus, um die Bitnami-Stack-Dienste zu beenden:
sudo /opt/bitnami/ctlscript.sh stop
-
Verknüpfen Sie das SSL-Zertifikat und die Zertifikatsschlüsseldatei mit den Speicherorten, die Ihr Webserver derzeit liest, basierend auf Ihrem Server und Ihrer Vorgehensweise:
Apache, Ansatz Asudo mv /opt/bitnami/apache2/conf/bitnami/certs/server.crt /opt/bitnami/apache2/conf/bitnami/certs/server.crt.old sudo mv /opt/bitnami/apache2/conf/bitnami/certs/server.key /opt/bitnami/apache2/conf/bitnami/certs/server.key.old sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.key /opt/bitnami/apache2/conf/bitnami/certs/server.key sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.crt /opt/bitnami/apache2/conf/bitnami/certs/server.crt
Apache, Ansatz B
sudo mv /opt/bitnami/apache2/conf/server.crt /opt/bitnami/apache2/conf/server.crt.old sudo mv /opt/bitnami/apache2/conf/server.key /opt/bitnami/apache2/conf/server.key.old sudo mv /opt/bitnami/apache2/conf/server.csr /opt/bitnami/apache2/conf/server.csr.old sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.key /opt/bitnami/apache2/conf/server.key sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.crt /opt/bitnami/apache2/conf/server.crt
NGINX, Ansatz A
sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.crt /opt/bitnami/nginx/conf/bitnami/certs/server.crt.old sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.key /opt/bitnami/nginx/conf/bitnami/certs/server.key.old sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.key /opt/bitnami/nginx/conf/bitnami/certs/server.key sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.crt /opt/bitnami/nginx/conf/bitnami/certs/server.crt
NGINX, Ansatz B
sudo mv /opt/bitnami/nginx/conf/server.crt /opt/bitnami/nginx/conf/server.crt.old sudo mv /opt/bitnami/nginx/conf/server.key /opt/bitnami/nginx/conf/server.key.old sudo mv /opt/bitnami/nginx/conf/server.csr /opt/bitnami/nginx/conf/server.csr.old sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.key /opt/bitnami/nginx/conf/server.key sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.crt /opt/bitnami/nginx/conf/server.crt
**Hinweis:**Ersetzen Sie für die vorherigen Befehle DOMAIN durch Ihren Domainnamen.
-
Führen Sie den folgenden Befehl aus, um die Bitnami-Stack-Dienste zu starten:
sudo /opt/bitnami/ctlscript.sh start
-
Um die Zertifikatserneuerung zu automatisieren, führen Sie den folgenden Befehl aus, um den Crontab-Editor zu öffnen:
sudo crontab -e -u bitnami
**Hinweis:**Let's Encrypt-Zertifikate sind 90 Tage gültig.
Geben Sie die folgende Zeile in die Crontab-Datei ein und speichern Sie dann die Datei:
Apache
0 0 * * * sudo /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt --email="EMAIL-ADDRESS" --domains="DOMAIN" --domains="*.DOMAIN" --dns DNS renew >> /var/log/letsencrypt.log 2>&1 && sudo /opt/bitnami/apache/bin/httpd -f /opt/bitnami/apache/conf/httpd.conf -k graceful
NGINX
0 0 * * * sudo /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt --email="EMAIL-ADDRESS" --domains="DOMAIN" --domains="*.DOMAIN" --dns DNS renew >> /var/log/letsencrypt.log 2>&1 && sudo /opt/bitnami/nginx/sbin/nginx -c /opt/bitnami/nginx/conf/nginx.conf -s reload
**Hinweis:**Ersetzen Sie EMAIL-ADDRESS, DOMAIN und DNS durch Ihre Werte. Richten Sie die HTTPS-Umleitung ein. Weitere Informationen finden Sie auf der Bitnami-Website unter HTTPS-Umleitung mit Apache erzwingen und HTTPS-Umleitung mit NGINX erzwingen.
Certbot-Paket
Voraussetzungen:
- Installieren Sie Certbot.
- Ermitteln Sie Ihre Linux-Distribution. Für von Bitnami gehostete Instanzen ist die Linux-Distribution entweder Debian oder Ubuntu. Führen Sie den folgenden Befehl aus, um Ihre Linux-Distribution zu bestätigen:
**Hinweis:**Diese Methode unterstützt keine automatische Zertifikatsverlängerung.cat /etc/os-release | grep -i ^id
Gehen Sie wie folgt vor, um das Certbot-Paket zur Installation eines Let's Encrypt SSL-Zertifikats mit Platzhaltern zu verwenden:
-
Startet eine Linux GNU Screen-Sitzung. Da das Hinzufügen von TXT-Einträgen im DNS-Anbieter der Domain einige Zeit in Anspruch nimmt, kann es bei der Sitzung zu einem Timeout kommen. Es hat sich bewährt, die Befehle in Linux GNU Screen auszuführen, damit die Sitzung nicht unterbrochen wird. Führen Sie den folgenden Befehl aus, um eine Bildschirmsitzung zu starten:
screen -S letsencrypt
-
Führen Sie den folgenden Befehl aus, um den interaktiven Modus von Certbot zu starten:
sudo certbot certonly --manual --preferred-challenges dns -d example.com -d *.example.com
**Hinweis:**Ersetzen Sie example.com durch Ihren Wert.
Wenn Sie eine Fehlermeldung wie „bash: certbot: command not found“ erhalten, müssen Sie möglicherweise /bin/snap zu Ihrer PATH-Umgebungsvariablen hinzufügen. Geben Sie zunächst „exit“ ein und drücken Sie die Eingabetaste. Oder drücken Sie Strg + D, um die Bildschirmsitzung zu beenden. Bearbeiten Sie dann /etc/environment und fügen Sie /snap/bin zur Liste hinzu. Starte dein System neu. Führen Sie den folgenden Befehl aus, um zu bestätigen, dass kein Fehler mehr vorliegt:$ certbot -h
-
Kopieren Sie die TXT-Einträge, die Let's Encrypt bereitstellt. Let's Encrypt bietet entweder einen oder mehrere TXT-Einträge, die Sie zur Überprüfung verwenden müssen.
-
Fügen Sie den bereitgestellten Datensatz in das DNS Ihrer Domain ein.
Wichtig: Drücken Sie die Eingabetaste erst, wenn Sie bestätigt haben, dass der TXT-Eintrag an das Internet-DNS weitergegeben wird. Drücken Sie auch nicht Strg + D, da diese Aktion die Bildschirmsitzung beendet. -
Um zu bestätigen, dass der Datensatz weitergegeben wurde, suchen Sie auf der MxToolbox-Website unter DNS-Textsuche nach dem TXT-Eintrag:
_acme-challenge.example.com
**Hinweis:**Ersetzen Sie example.com durch Ihren Wert.
Wenn Ihre TXT-Einträge weitergegeben werden, wird der TXT-Datensatzwert auf der Seite angezeigt. Kehren Sie zum vorherigen Bildschirm zurück und drücken Sie die Eingabetaste. -
Wenn Sie aus der Shell entfernt wurden, führen Sie den folgenden Befehl aus, um zur Shell zurückzukehren:
Screen -r SESSIONID
Hinweis:Führen Sie den Befehlscreen -ls aus, um die Sitzungs-ID abzurufen.
-
(Optional) Wenn Sie dazu aufgefordert werden, wiederholen Sie die vorherigen Schritte, um einen weiteren TXT-Datensatz hinzuzufügen.
**Hinweis:**Wenn Sie Route 53 für Ihren DNS-Anbieter verwenden, geben Sie einen TXT-Wert pro Zeile ein. Bearbeiten Sie den TXT-Datensatz und fügen Sie dann in einer neuen Zeile den TXT-Wert hinzu, den Certbot bereitstellt. -
Speichern Sie die Speicherorte des SSL-Zertifikats und der Schlüsseldatei. Nachdem das SSL-Zertifikat generiert wurde, erhalten Sie die Meldung „Zertifikat erfolgreich erhalten“.
-
Um Ihren Webserver für die Verwendung des Zertifikats zu konfigurieren, führen Sie je nach Server und Vorgehensweise die folgenden Befehle aus:
Apache, Ansatz Asudo /opt/bitnami/ctlscript.sh stop sudo mv /opt/bitnami/apache2/conf/bitnami/certs/server.crt /opt/bitnami/apache2/conf/bitnami/certs/server.crt.old sudo mv /opt/bitnami/apache2/conf/bitnami/certs/server.key /opt/bitnami/apache2/conf/bitnami/certs/server.key.old sudo ln -sf /etc/letsencrypt/live/DOMAIN/privkey.pem /opt/bitnami/apache2/conf/bitnami/certs/server.key sudo ln -sf /etc/letsencrypt/live/DOMAIN/fullchain.pem /opt/bitnami/apache2/conf/bitnami/certs/server.crt sudo /opt/bitnami/ctlscript.sh start
Apache, Ansatz B
sudo /opt/bitnami/ctlscript.sh stop sudo mv /opt/bitnami/apache2/conf/server.crt /opt/bitnami/apache2/conf/server.crt.old sudo mv /opt/bitnami/apache2/conf/server.key /opt/bitnami/apache2/conf/server.key.old sudo ln -sf /etc/letsencrypt/live/DOMAIN/privkey.pem /opt/bitnami/apache2/conf/server.key sudo ln -sf /etc/letsencrypt/live/DOMAIN/fullchain.pem /opt/bitnami/apache2/conf/server.crt sudo /opt/bitnami/ctlscript.sh start
NGINX, Ansatz A
sudo /opt/bitnami/ctlscript.sh stop sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.crt /opt/bitnami/nginx/conf/bitnami/certs/server.crt.old sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.key /opt/bitnami/nginx/conf/bitnami/certs/server.key.old sudo ln -sf /etc/letsencrypt/live/DOMAIN/privkey.pem /opt/bitnami/nginx/conf/bitnami/certs/server.key sudo ln -sf /etc/letsencrypt/live/DOMAIN/fullchain.pem /opt/bitnami/nginx/conf/bitnami/certs/server.crt sudo /opt/bitnami/ctlscript.sh start
NGINX, Ansatz B
sudo /opt/bitnami/ctlscript.sh stop sudo mv /opt/bitnami/nginx/conf/server.crt /opt/bitnami/nginx/conf/server.crt.old sudo mv /opt/bitnami/nginx/conf/server.key /opt/bitnami/nginx/conf/server.key.old sudo ln -sf /etc/letsencrypt/live/DOMAIN/privkey.pem /opt/bitnami/nginx/conf/server.key sudo ln -sf /etc/letsencrypt/live/DOMAIN/fullchain.pem /opt/bitnami/nginx/conf/server.crt sudo /opt/bitnami/ctlscript.sh start
**Hinweis:**Ersetzen Sie für die vorherigen Befehle DOMAIN durch Ihren Domainnamen.
-
Richten Sie die HTTPS-Umleitung ein. Weitere Informationen finden Sie auf der Bitnami-Website unter HTTPS-Umleitung mit Apache erzwingen und HTTPS-Umleitung mit NGINX erzwingen.

Relevanter Inhalt
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor 10 Monaten