Nginx: Ein Let's Encrypt-Zertifikat mit Certbot erstellen

Nachdem wir uns angesehen haben, wie man Nginx als Reverse-Proxy installiert und konfiguriert und die Sicherheit mit Crowdsec erhöht, werde ich Ihnen in diesem Tutorial erklären, wie Sie kostenlos ein Let’s Encrypt-SSL-Zertifikat erstellen können.

Zur Erinnerung: Let’s Encrypt ist eine kostenlose Zertifizierungsstelle, über die man SSL-Zertifikate mit einer Gültigkeitsdauer von 3 Monaten erhalten kann.

Für Windows empfehle ich die Verwendung von „Certify The Web“ zur Erstellung von Let’s Encrypt-Zertifikaten.

Für dieses Tutorial habe ich einen Server unter Ubuntu verwendet, auf dem Nginx als Reverse-Proxy installiert ist.

Certbot unter Ubuntu installieren

Zur Erstellung von Zertifikaten unter Ubuntu (und Linux im Allgemeinen) wird Certbot verwendet.

Certbot ist ein Programm, das die Überprüfung der Domain-Validierung durchführt, um das SSL-Zertifikat zu erhalten, und den Webserver – genauer gesagt den Virtual Host – konfiguriert. Es ist mit zahlreichen Webservern kompatibel, darunter Apache, Nginx …

Certbot übernimmt außerdem die automatische Erneuerung der SSL-Zertifikate.

Erster Schritt: Installation von Certbot für Nginx auf dem Server. Geben Sie dazu den folgenden Befehl ein:

sudo apt install python3-certbot-nginx -y

Certbot ist installiert. Nun erstellen wir ein SSL-Zertifikat für einen VirtualHost unter Nginx.

Ein Let’s Encrypt-Zertifikat für Nginx mit Certbot erstellen

Zur Veranschaulichung dieses Tutorials verwende ich den folgenden virtuellen Host:

Bei der Konfiguration des virtuellen Hosts ist es wichtig, den Parameter anzugebenserver_name.

Wie aus der Konfiguration ersichtlich ist, ist der virtuelle Host derzeit auf Port 80 konfiguriert.

Um das Programm Certbot zu starten, verwenden Sie den folgenden Befehl:

sudo certbot

Bei der ersten Ausführung müssen Sie:

  • Eine E-Mail-Adresse angeben
  • Die Nutzungsbedingungen akzeptieren
  • Angeben, ob Sie die E-Mail-Adresse weitergeben möchten.

Anschließend geht es wie folgt weiter, wenn Sie ein Zertifikat erstellen möchten:

Die Liste der Standorte wird angezeigt. Geben Sie die Standortnummer ein und bestätigen Sie.

Warten Sie, während die Zertifikatsanforderung bearbeitet wird …

Sobald das Zertifikat generiert ist, fragt der Assistent, ob Sie HTTP auf HTTPS umleiten möchten; im Beispiel wähle ich Option 2.

Es erscheint eine Bestätigungsmeldung, und die Kontrolle über die Konsole wird wieder freigegeben.

Wenn man sich die Konfiguration des VirtualHosts erneut ansieht, erkennt man, dass die HTTPS-Konfiguration auf Port 443 lauscht und der Datenverkehr auf Port 80 (301) zur HTTPS-Website umgeleitet wird.

Automatische Erneuerung von SSL-Zertifikaten

Standardmäßig erneuert Certbot das Zertifikat automatisch vor dessen Ablauf und ersetzt es.

Nachfolgend ist die geplante Aufgabe (Cron) zu sehen.

Romain Drouche
Romain Drouche
Systemarchitekt | MCSE: Kerninfrastruktur
IT-Infrastrukturexperte mit über 15 Jahren Berufserfahrung. Aktuell tätig als Projektmanager für Systeme und Netzwerke sowie als Experte für Informationssystemsicherheit (ISS), nutze ich mein Fachwissen, um die Zuverlässigkeit und Sicherheit technologischer Umgebungen zu gewährleisten.

Schreibe einen Kommentar