Ein SSL Zertifikat mit Let's Encrypt erstellen

Mit Let's Encrypt ein SSL Zertifikat zur Nutzung in einem Nginx-Webserver erstellen

vor 2 Jahren veröffentlicht unter Hacking  Kryptographie.

Let's Encrypt ist eine freie, offene und automatisierte Zertifizierungsstelle für SSL-Zertifikate. Die erste Version der Software kann automatisiert allerdings nur Zertifikate für Apache-Webserver erstellen. Um ein SSl Zertifikat für einen Nginx-Webserver zu erstellen, ist noch ein wenig „Handarbeit“ nötig.

Achtung: Da sich Let's Encrypt momentan in einer Limited Beta befindet, sind die damit erstellten Zertifikate noch nicht Trusted, sollten also nicht produktiv verwendet werden.

Installation

Git

Zuerst brauchen wir Git auf unserem System, auf Debian-basierten Distributionen installiert ihr es mit:

sudo apt-get install git

Falls ihr eine andere Distribution nutzt, findet ihr ausführliche Installationsanweisen auf der Git-Homepage im Artikel Installing Git.

Let's Encrypt

Zur Installation von Let's Encrypt klont ihr nun einfach das Git-Repository:

git clone https://github.com/letsencrypt/letsencrypt

Zertifikat erstellen

Nun kommt der etwas trickreichere Part. Let's Encrypt braucht zum Verifizieren und Erstellen des Zertifikats einen Webserver, dafür kann es einen bereits vorhandenen Apache-Webserver benutzen oder einen temporären eigenen Webserver starten. Da wir Nginx verwenden, fällt die Option des Apache-Webservers schonmal weg. Damit Let's Encrypt aber den eigenen temporären Webserver starten kann, müssen wir unseren Nginx-Webserver kurzfristig beenden, damit er Port 80 und 443 freigibt.

sudo service nginx stop

Anschließend wechselt ihr in den neuen Ordner und könnt mit dem Befehl letsencrypt-auto euer Zertifikat erstellen. Die Domain example.org müsst ihr in den folgenden Befehlen natürlich durch eure eigene Domain ersetzen.

cd letsencrypt
./letsencrypt-auto certonly -d example.org

Im Dialog „How would you like to authenticate with the Let's Encrypt CA?“ wählt ihr nun den Punkt 2 „Automatically use a temporary webserver (standalone)“.

Dann startet ihr erstmal wieder den Nginx, damit eure Webseite wieder erreichbar ist:

sudo service nginx start

Let's Encrypt hat die Zertifikate nun im Ordner /etc/letsencrypt/live/example.org/ abgelegt. Damit euer Nginx diese benutzt, müsst ihr folgende Zeilen in eure Seitenkonfiguration für die entsprechende Domain aufnehmen:

ssl on;
ssl_certificate      /etc/letsencrypt/live/example.org/privkey.pem
ssl_certificate_key  /etc/letsencrypt/live/example.org/fullchain.pem

Zum Abschluss weist ihr euren Nginx noch an, die geänderte Seitenkonfiguration neu einzulesen und zu benutzen:

sudo service nginx reload

Wenn alles geklappt hat, ist euer neues Let's Encrypt SSL-Zertifikat nun auf eurer Seite installiert.

Willi Thiel

Geschrieben von Willi Thiel am 6. November 2015.


Vorheriger Artikel
Nächster Artikel

Kommentare

Sei der Erste, der einen Kommentar hinterlässt: