SSL Zertifikat kostenlos mit Let’s Encrypt erstellen
Falls du einen Apache Server laufen lässt, kannst du diesen wie folgt beenden. Um einen Node.JS Server zu beenden, reicht es die Anwendung zu killen (ggf. Backgroundprozess beenden).
sudo service apache2 stop
Um das Tool zum Erstellen des Zertifikats herunterzuladen, nutzen wir wir Git. Auf den neueren Raspbian Versionen ist dieses schon mit dabei. Falls es auf deinem Betriebssystem (z.B. einer Minimal Raspbian Version) nicht dabei sein sollte, kannst du es einfach nachinstallieren:
sudo apt-get install git
Wir laden die Dateien nun in unser Homeverzeichnis und gehen in diesen Ordner:
cd ~
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
Nun brauchst du alle Domains zur Hand, für welche dieses Zertifikat gelten soll. Wenn du bspw. Subdomains hast oder aber deine Domain mit und ohne „www“ aufgerufen wird, kannst du diese gleich alle angeben. In meinem Beispiel möchte ich das SSL Zertifikat lediglich für meine Domain, welche ich von NoIP bekommen habe, erstellen. Bei mehreren Domains solltest du die Hauptdomain als erstes angeben.
Der Befehl zum Erstellen des Let’s Encrypt Zertifikats ist folgender (Domains und Mail ersetzen):
./letsencrypt-auto -d ERSTE_DOMAIN -d ZWEITE_DOMAIN –redirect -m DEINE_MAIL
Tipp: Solltest du einen Apache Server laufen lassen, kannst du das Tool auch alle weiteren Einstellungen vornehmen lassen, indem du den weiteren Parameter –apache hinzufügst.
Du wirst nun aufgefordert die Nutzungsbedingungen zu lesen und zu akzeptieren.
In dem Ordner „/etc/letsencrypt/live/“ befindet sich dann ein neuer Ordner mit dem Namen unserer angegeben Hauptdomain. Darin befinden sich vier Schlüsseldateien, welche gebraucht werden. Je nach Anwendung, ist der Einbau der SSL Zertifikate etwas anders.
Alle Zertifikate von Let’s Encrypt haben eine Laufzeit von 3 Monaten. Nach dieser Periode sind sie abgelaufen und müssen erneuert werden. Das Erneuern des Raspberry Pi SSL Zertifikats ist allerdings sehr einfach (Anpassen nicht vergessen):
./letsencrypt-auto -d ERSTE_DOMAIN -d ZWEITE_DOMAIN –redirect -m DEINE_MAIL –agree-tos –renew-by-default
Hierbei ist der Parameter –renew-by-default das Entscheidende. Die anderen (weiteren) Parameter sind identisch mit denen, die wir beim Erstellen angegeben haben.
Nun ist es allerdings so, dass man im Dauerbetrieb ja nicht unbedingt alle 3 Monate an die Aktualisierung des Zertifikats denken möchte. Daher bietet sich ein kleiner Trick an: Sollte der Raspberry Pi sowieso (fast) immer in Betrieb sein, können wir das Zertifikat auch früher aktualisieren, z.B. jeden Monat. Um dies automatisiert laufen zu lassen, nutzen wir Cron:
sudo crontab -e
Ans Ende dieser Datei fügen wir folgende Zeile hinzu (angepasst wie oben):
0 1 2 * * /home/pi/letsencrypt/letsencrypt-auto -d ERSTE_DOMAIN -d ZWEITE_DOMAIN –redirect -m DEINE_MAIL –agree-tos –renew-by-default
Damit wird am 1. jeden Monats um 02:00 nachts das Tool gestartet und unser Raspberry Pi SSL Zertifikat erneuert.
Sofern der dynamische DNS Service läuft und dein Webserver wieder gestartet ist (sudo /etc/init.d/apache2 start) kannst du nun im Browser testen, ob dein Zertifikat erkannt wurde. Dazu rufst du einfach die Domain mit https:// am Anfang auf. Speziell bei apache2 ist es wichtig, dass die Datei /etc/apache2/ports.conf lediglich einen Eintrag hat, der Port 443 verwendet (alle anderen auskommentieren):

Viele weitere Details finden sich außerdem in der offiziellen Let’s Encrypt Dokumentation.

Neueste Kommentare