Je kunt heel eenvoudig je Let’s Encrypt certificaten voor de web interface van Pi-Hole gebruiken. Voer hiervoor de volgende acties uit:
- Maak een cron job (update wekelijks) aan die je live certficaten van Let’s Encrypt klaarzet voor gebruik in Pihole. In onderstaande commando is ‘/mnt/Pihole’ de root-share van mijn Raspberry Pi waarop Pi-Hole draait):
cd /etc/letsencrypt/live/ && cp privkey.pem /mnt/Pihole/home/pi/conf.pem && cat cert.pem >> /mnt/Pihole/home/pi/conf.pem && cp fullchain.pem /mnt/Pihole/home/pi/intermediate.pem
- Creëer de file ‘/etc/lighttpd/external.conf’ en voeg hieraan de volgende inhoud toe (eerst regel naar jouw domein veranderen):
$HTTP["host"] == "<jouw-domein>" { # Ensure the Pi-hole Block Page knows that this is not a blocked domain setenv.add-environment = ("fqdn" => "true") # Enable the SSL engine with a LE cert, only for this specific host $SERVER["socket"] == ":443" { ssl.engine = "enable" ssl.pemfile = "/home/pi/conf.pem" ssl.ca-file = "/home/pi/intermediate.pem" ssl.honor-cipher-order = "enable" ssl.cipher-list = "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH" ssl.use-compression = "disable" ssl.use-sslv2 = "disable" ssl.use-sslv3 = "disable" } # Redirect HTTP to HTTPS $HTTP["scheme"] == "http" { $HTTP["host"] =~ ".*" { url.redirect = (".*" => "https://%0$0") } } }
- Herstart nu je lighttpd service:
sudo service lighttpd restart
Je zult zien dat indien je nu via internet (HTTPS) naar jouw Pi-Hole web-interface gaat dat de verbinding beveiligd is met je Let’s Encrypt certificaten.
Update 22 Januari 2022
Indien je Debian ‘bullseye’ draait dan moet je eventueel nog ‘mod-openssl’ installeren omdat deze niet meer default geïnstalleerd wordt. Voer hiervoor het volgende commando uit:
sudo apt-get install lighttpd-mod-openssl
Zet verder bovenaan in de file ‘/etc/lighttpd/external.conf’ de volgende regel:
server.modules += ( "mod_openssl" )