Nachdem ich lange ein self-signed-Zertifikat für meinen kleinen Pi genutzt hatte, um ihn per DynDNS-Account von außen zu erreichen (owncloud mit Kalender, Kontakten und Aufgaben), nutze ich nun mein eigenes „offiziell unterstütztes und akzeptiertes“ SSL-Zertifikat von Let’s Encrypt. Und was soll ich sagen? Es funktioniert – für lau!
Per cronjob wird an jedem 1. und sechzehnten Tag des Monats versucht, das Zertifikat wg. seiner begrenzten Gültigkeit von 90 Tagen zu aktualisieren. Ist es noch nicht „reif“ zur Erneuerung, meldet dies der Client und beendet sich wieder. Entgegen einiger Posts funktionierte die Ausstellung auch für eine DynDNS-Domäne. Hier war ich anfangs skeptisch, aber es klappt.
Anbei der cronjob, der am ersten Tag jedes Monats um 2 Uhr nachts die nginx stoppt, die Erneuerung aller genutzten (es ist ja nur eins) Zertifikate auf dem Pi versucht und den nginx danach neu startet. Dies ist nötig, da der Service zur Erneuerung des Zertifikats so wie der nginx auch auf Port 443 läuft, beide sich also stören:
0 2 1,16 * * /usr/sbin/service nginx stop && /opt/letsencrypt/letsencrypt-auto renew && /usr/sbin/service nginx restart