So richten Sie Nginx mit Let’s Encrypt mit ACME unter Ubuntu 20.04 ein

In einem früheren Tutorial haben wir beschrieben, wie Sie mithilfe von Certbot ein kostenloses SSL/TLS-Zertifikat von Let’s Encrypt erhalten.

In diesem Tutorial möchten wir Ihnen einen weiteren Weg aufzeigen, wie Sie ganz einfach ein kostenloses SSL/TLS-Zertifikat von Let’s Encrypt beziehen und erneuern können, indem Sie das acme.sh Skript unter Ubuntu 20.04.

Wenn Sie noch keinen funktionierenden NGINX-Webserver haben, finden Sie hier eine einfache NGINX-Installationsanleitung, der Sie folgen können.

Holen Sie sich acme.sh

Der acme.sh Shell-Skript automatisiert die Ausstellung und Erneuerung kostenloser Zertifikate von Let’s Encrypt. Sie können das Skript acme.sh erhalten, indem Sie es entweder direkt aus dem Web herunterladen oder das Git-Projekt klonen.

Laden Sie acme.sh aus dem Internet herunter

Führen Sie einen der beiden folgenden Befehle aus, um das Skript acme.sh herunterzuladen und auszuführen.

$ curl https://get.acme.sh | Sch

Oder

$ wget -O – https://get.acme.sh | Sch

Unten ist ein example was Sie erwarten können, wenn das Skript ausgeführt wird.

$ wget -O – https://get.acme.sh | sh –2021-02-16 11:55:47– https://get.acme.sh/ get.acme.sh (get.acme.sh) wird aufgelöst… 2606:4700:3032::6815:223e, 2606:4700:3031::ac43:c710, 172.67.199.16, … Verbindung mit get.acme.sh (get.acme.sh)|2606:4700:3032::6815:223e|:443… verbunden. HTTP-Anfrage gesendet, auf Antwort warten… 200 OK Länge: nicht angegeben [text/html]
Speichern unter: ‘STDOUT’
[ <=> ] 937 –.-KB/s in 0s 2021-02-16 11:55:47 (11,8 MB/s) – auf stdout geschrieben [937]
% Gesamt % Empfangen % Xferd Durchschnittliche Geschwindigkeit Zeit Zeit Zeit Aktueller Dload Upload Gesamte verbleibende Geschwindigkeit 100 204k 100 204k 0 0 3350k 0 –:–:– –:–:– –:–:– 3350k
[Tue 16 Feb 2021 11:55:47 AM UTC] Installation aus dem Online-Archiv.
[Tue 16 Feb 2021 11:55:47 AM UTC] Herunterladen von https://github.com/acmesh-official/acme.sh/archive/master.tar.gz
[Tue 16 Feb 2021 11:55:47 AM UTC] Entpacken von master.tar.gz
[Tue 16 Feb 2021 11:55:47 AM UTC] Es wird empfohlen, zuerst socat zu installieren.
[Tue 16 Feb 2021 11:55:47 AM UTC] Wir verwenden socat für Standalone-Server, wenn Sie den Standalone-Modus verwenden.
[Tue 16 Feb 2021 11:55:47 AM UTC] Wenn Sie den Standalone-Modus nicht verwenden, ignorieren Sie diese Warnung einfach.
[Tue 16 Feb 2021 11:55:47 AM UTC] Installation in /home/shola/.acme.sh
[Tue 16 Feb 2021 11:55:47 AM UTC] Installiert in /home/shola/.acme.sh/acme.sh
[Tue 16 Feb 2021 12:05:54 PM UTC] Alias ​​für ‘/home/shola/.bashrc’ installieren
[Tue 16 Feb 2021 12:05:54 PM UTC] OK, Schließen Sie Ihr Terminal und öffnen Sie es erneut, um acme.sh zu verwenden
[Tue 16 Feb 2021 11:55:47 AM UTC] Cronjob installieren 47 0 * * * “/home/shola/.acme.sh”/acme.sh –cron –home “/home/shola/.acme.sh” > /dev/null
[Tue 16 Feb 2021 11:55:47 AM UTC] Gut, bash gefunden wird, also ändern Sie den Shebang, um ihn zu verwenden bash wie bevorzugt.
[Tue 16 Feb 2021 11:55:48 AM UTC] OK
[Tue 16 Feb 2021 11:55:48 AM UTC] Installation erfolgreich!

Acme.sh-Git-Projekt klonen

Führen Sie alternativ die folgenden Befehle pro Zeile aus, um das Git-Projekt acme.sh zu klonen und das Skript auszuführen.

$ git clone https://github.com/acmesh-official/acme.sh.git $ cd acme.sh $ ./acme.sh –install

Welche Methode Sie auch immer wählen, sobald Sie das “Installation erfolgreich!“Nachricht, du darfst close das Terminalfenster und öffnen Sie es erneut, um die Installation zu bestätigen.

Führen Sie den nächsten Befehl aus, um die Nutzungsinformationen von acme.sh anzuzeigen.

$ acme.sh -h

Sie können auch den folgenden Befehl ausführen, um die Version von acme.sh zu überprüfen.

$ acme.sh –version

Ein Zertifikat erstellen

Führen Sie den folgenden Befehl aus, um ein einzelnes Zertifikat für eine einzelne Domäne zu generieren.

Ersetzen deinedomain.com mit Ihrer registrierten Domain. Ersetzen Sie auch /var/www/ihredomain.com mit dem Website-Stammordner Ihrer Domain.

$ acme.sh –issue -d yourdomain.com -w /var/www/yourdomain.com

Für mehrere Domänen/Subdomänen, die denselben Website-Stammordner verwenden, können Sie den nächsten Befehl ausführen, um ein Zertifikat auszustellen.

$ acme.sh –issue -d deinedomain.com -d www.ihredomain.com -d subdomain.ihredomain.com -w /var/www/ihredomain.com

Die generierten Zertifikate werden in ~/.acme.sh/yourdomain.com gespeichert

Installieren Sie das Zertifikat auf NGINX mit acme

Nachdem Sie das Zertifikat über das Skript acme.sh generiert haben, müssen Sie es im nächsten Schritt auf NGINX installieren. Erstellen Sie zunächst einen Ordner, in den das generierte Zertifikat kopiert wird.

$ sudo mkdir -p /etc/nginx/certs/yourdomain.com

Führen Sie den nächsten Befehl aus, um das Zertifikat zu installieren. Vergessen Sie nicht zu ersetzen deinedomain.com mit Ihrer registrierten Domain.

$ acme.sh –install-cert -d yourdomain.com –key-file /etc/nginx/certs/yourdomain.com/key.pem –fullchain-file /etc/nginx/certs/yourdomain.com/cert .pem –reloadcmd “service nginx force-reload”

NGINX Server-Blockdatei aktualisieren

Der letzte Schritt besteht darin, die Serverblockdatei für Ihre Domain zu aktualisieren, um die SSL-bezogenen Anweisungen einzuschließen.
Führen Sie den folgenden Befehl aus, um die Serverblockdatei zu bearbeiten.

$ sudo nano /etc/nginx/sites-available/yourdomain.com

Als nächstes fügen Sie die folgenden Zeilen hinzu.

Hör mal zu [::]:443 ssl ipv6only=ein;
hören 443 ssl;
SSL-Zertifikat /etc/nginx/certs/cloudindevs.com/cert.pem;
ssl_certificate_key /etc/nginx/certs/cloudindevs.com/key.pem;

Nach den Ergänzungen sollte Ihre Serverblockdatei so aussehen, wie Sie es in der Abbildung unten sehen. Die Neuzugänge sind rot markiert. Beachten Sie auch, dass die Listen-Direktiven für Port 80 auskommentiert wurden.

Aktualisieren Sie die NGINX-Server-Blockdatei, um SSL zu verwenden

Save Änderungen und close die Datei.

Starten Sie NGINX neu mit:

$ sudo systemctl Neustart nginx

Besuchen Sie Ihre Website in einem Browser, um zu bestätigen, dass die sichere Kommunikation jetzt aktiviert ist.

Zertifikatserneuerung

Die von Let’s Encrypt ausgestellten Zertifikate werden alle 60 Tage automatisch erneuert.

Sie können das Zertifikat aber auch manuell erneuern, wenn Sie möchten. Führen Sie den folgenden Befehl aus.

$ acme.sh –renew -d yourdomain.com –force

Führen Sie Folgendes aus, um die Zertifikatserneuerung zu stoppen.

$ acme.sh –remove -d yourdomain.com

Aktualisieren Sie acme.sh

Es wird empfohlen, immer die neueste Version von acme.sh zu verwenden. Führen Sie den folgenden Befehl aus, um sicherzustellen, dass acme.sh automatisch aktualisiert wird.

$ acme.sh –upgrade –auto-upgrade

Führen Sie den nächsten Befehl aus, um das automatische Upgrade für acme.sh zu deaktivieren.

$ acme.sh –upgrade –auto-upgrade 0

Wenn Sie nicht möchten, dass acme.sh automatisch aktualisiert wird, verwenden Sie den folgenden Befehl, um es manuell zu aktualisieren.

$ acme.sh –upgrade

Fazit

In diesem Handbuch haben wir die Schritte zum Abrufen und Erneuern kostenloser SSL/TLS-Zertifikate von Let’s Encrypt beschrieben, indem das Shell-Skript acme.sh unter Ubuntu verwendet wird. Diese Methode ist eine Alternative zur Verwendung des Certbot-Tools. Wir würden gerne von Ihren Erfahrungen mit diesen Tools hören.