Seit längerem schon werden die großen Browser immer pingliger bei Zertifiakten: Selbstsignierte mögen sie nicht, neuerdings solche mit Laufzeiten von > 395 Tagen, wenn der CN bzw. SAN nicht stimmen; wer weiß, was nächsten Monat passiert.
Also habe ich es nun endlich in Angriff genommen: Dem Routerchen im Keller ein sauberes Zertifikat geben. Da ich sowieso schon überall ein Wildcard für *.sokoll.com verwende, warum nicht für den Router? Also zunächst im DNS den Router bekannt machen (eigentlich finde ich private Adressen im DNS uncool, aber nun ja)
~$ host homerouter.sokoll.com homerouter.sokoll.com has address 192.168.1.254 ~$
Das war schon mal einfach!
Nun noch schnell das Zertifikat rüberschieben. Das macht dann der Raspi daneben:
root@r4:~/bin# cat le_for_router.sh #!/bin/sh rsync -aL big.sokoll.com:/etc/dehydrated/certs/wildcard_sokoll.com/{fullchain,privkey}.pem /tmp/ cat /tmp/privkey.pem /tmp/fullchain.pem > /tmp/server.pem rsync -a /tmp/server.pem 192.168.1.254:/etc/lighttpd/ 2>/dev/null ssh 192.168.1.254 'kill -SIGINT $(cat /var/run/lighttpd.pid) ; /usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf' 2>/dev/null rm /tmp/*.pem root@r4:~/bin#
Dummerweise interessiert ein SIGHUP
den lighty überhaupt nicht, so daß man ihn töten und hinterher neu starten muß. Das ganze wird dann einmal täglich via cron aufgerufen.
Ich sollte noch etwas verschönern:Wenn sich das Zertifikat nicht geändert hat, kann man eigentlich gleich nach dem ersten rsync aufhören.
Das wird dann Version 0.0.1 😉