Weg bij Cloudflare: een eigen VPS in de EU als oplossing

Lang heb ik Cloudflare Tunnels gebruikt om mijn Pi-services van buiten bereikbaar te maken. Makkelijk, gratis, werkte prima. Tot ik me besefte wat er eigenlijk onder de motorkap gebeurde:

Cloudflare Tunnels verbreken je TLS-verbinding op hun servers. Dat betekent dat het verkeer tussen jou en Cloudflare versleuteld is — maar tussen Cloudflare en mijn Pi loopt het als gewone HTTP. Ze kunnen meekijken. Ze doen het waarschijnlijk niet, maar ze kunnen het wel.

Dat besef was genoeg voor me om het anders te willen gaandoen.

Een eigen VPS als doorgeefluik

De oplossing: een eigen VPS in Europa als doorgeefluik, verbonden met mijn Pi via WireGuard. Ik gebruik een Hetzner-server in Duitsland — nog geen €5,- per maand, ARM64, meer dan snel genoeg.

Het idee is simpel: verkeer van buiten komt aan bij de VPS, gaat via een versleutelde WireGuard-tunnel naar mijn Pi thuis, en komt daar aan bij de juiste service. Niemand in het midden die meekijkt.

Caddy als reverse proxy

Op de VPS draait Caddy. Caddy vind ik een prettige oplossing: het regelt SSL-certificaten automatisch via Let’s Encrypt, de configuratie is leesbaar, en het doet gewoon wat het moet doen.

Elk subdomein (cloud, warden, pihole, mcp, noem maar op) krijgt een eigenblok in de Caddyfile, dat vervolgens doorverwijst naar het WireGuard IP-adres van mijn Pi. Eén IP, meerdere services — de domeinnaam zorgt voor het verschil.

WireGuard-tunnel

WireGuard is hierbij het protocol dat de verbinding tussen VPS en Pi onderhoudt. Snel, modern, en de configuratie heb je met een paar regels. De Pi legt de verbinding naar de VPS — niet andersom. Dat was in mijn situatie een vereiste, want mijn thuisverbinding heeft geen vast IP-adres.

Het resultaat: de VPS weet altijd hoe hij mijn Pi kan bereiken, ook als mijn thuisnetwerk van IP wisselt.

Wat dit oplevert

Alle services zijn extern bereikbaar via *.jbtroost.nl en versleuteld van begin tot eind, zonder ‘man-in-the-middle’ situatie: de data staat thuis, de routing is van mij.

Het klopt dat het meer eigen beheer dan Cloudflare vraagt: als er iets misgaat, moet ik zelf zoeken. Maar dat heb ik er graag voor over: Hetzner staat in Duitsland, TransIP in Nederland en mijn Pi thuis. Helemaal prima.

Vibecoding om los te komen van BigTech blijft een mooi streven.

../