Bis vor 30 Minuten kannte ich das Projekt noch gar nicht. Nach etwas frustration auf Twitter und 5 Minuten später zeigte mir jemand dieses tolle Projekt.
Let’s Encrypt ist ein Projekt das es sich zur Aufgabe gemacht hat SSL Zertifikate kostenlos, automatisch und offen zu signieren. Das Projekt ist erst seit heute in der offenen Beta Phase und kann damit ab sofort genutzt werden.
Ich habe Let’s Encrypt bereits getestet, die Zertifikate wurden überall als korrekt signiert angenommen. Egal ob unter OS X oder Windows. Auch iOS hatte nichts auszusetzen.
In diesem Artikel möchte ich nun auf die Installation und Konfiguration einer bestehenden Nginx Webseite unter Ubuntu 14.04 eingehen. Der Artikel „How It Works“ zeigt nämlich nur die Konfiguration mit Apache als Webserver. Bei Nginx müssen ein paar Dinge beachtet werden.
Installation von Let’s Encrypt
Zuerst muss sofern noch nicht vorhanden git installiert werden, dies funktioniert am einfachsten natürlich mit apt-get install git.
Nach der Installation von git kann es auch schon losgehen.
1 2 3 4 |
$ cd /opt/ $ git clone https://github.com/letsencrypt/letsencrypt $ cd letsencrypt $ ./letsencrypt-auto --help |
Zertifikat erzeugen und signieren
Nach der Installation von letsencrypt können wir auch schon mit dem signieren unserer Webseite beginnen.
1 |
./letsencrypt-auto certonly --webroot -w /var/www/pfad/zum/docroot/meiner/webseite -d meinewebsite.com |
Nachdem dieser Schritt erfolgreich abgeschlossen wurde liegen unter /etc/letsencrypt/live/meinewebsite.com/ alle Zertifikat Dateien. Diese können nun in Nginx eingebunden werden.
Nginx korrekt konfigurieren
In der Nginx müssen 2 Dateien angegeben werden. Diese lauten in unserem Beispiel meinewebsite.com wie folgt:
- /etc/letsencrypt/live/meinewebsite.com/fullchain.pem
- /etc/letsencrypt/live/meinewebsite.com/privkey.pem
Die Nginx Konfiguration könnte wie folgt aussehen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
server { server_name meinewebsite.com; root /var/www/pfad/zum/docroot/meiner/webseite; server_tokens off; listen 443 ssl; ssl_certificate /etc/letsencrypt/live/meinewebsite.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/meinewebsite.com/privkey.pem; location / { index index.html; } error_log /var/log/nginx/meinewebsite.com.error.log; access_log /var/log/nginx/meinewebsite.com.access.log; } |
Wichtiger Hinweis
Gibt man überstürzt bei ssl_certificate und ssl_certificate_key die fullchain.pem Datei an, erhält man folgenden Fehler beim Start von Nginx:
1 |
nginx: [emerg] SSL_CTX_use_PrivateKey_file("/etc/letsencrypt/live/meinewebsite.com/fullchain.pem") failed (SSL: error:XXXXX:PEM routines:PEM_read_bio:no start line:Expecting: ANY PRIVATE KEY error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib) |
Abschlussworte
Zum Ende sei gesagt, dass Projekt Let’s Encrypt ist sicherlich eine tolle Möglichkeit um kostenlos an signierte Zertifikate zu kommen. Jedoch sollte man sich überlegen ob man diese Zertifikate auch für Enterprise Webseiten einsetzen möchte. Aber für private oder kleine Projekt auf jeden Fall eine sehr, sehr geile Alternative.
Viel Spaß jedoch damit!
4 Antworten auf „SSL Zertifkate kostenlos mit letsencrypt.org signieren“
Falls Du für diese Seite die besagten Zertifikate nutzt, die sind eig. Schrott.
SHA1 und laufen bald ab.
LG :)
Hallo,
zuerst sorry für die späte Antwort. SHA1 kann ich nicht bestätigen, ich habe hier z.B. ein Zertifikat mit SHA-256 mit RSA-Verschlüsselung am laufen.
Und ja die laufen zeitnah ab, dafür bietet Let’s Encrypt jedoch Tools um diese automatisiert z.B. über Cron zu verlängern. Das ist so beabsichtigt.
Es spricht meiner Meinung nach nichts dagegen, diese Zertifikate für Privatpersonen und kleine Unternehmen zu verwenden.
Liebe Grüße
Tyrola
Wow, das kannte ich gar nicht – direkt austesten.
glg :)
[…] https://tyrola.at/ssl-zertifkate-kostenlos-mit-letsencrypt-org/ […]