Reverse proxies (NGINX, Traefik): de basics uitgelegd

Leer wat een reverse proxy is, hoe NGINX en Traefik werken en waarom je ze inzet voor snellere, veiligere en schaalbare hosting.

17 mei 20269 min leestijdDoor We Develop Communication

Als je ooit hebt geprobeerd meerdere webapplicaties op één server te draaien, of SSL-certificaten handmatig hebt lopen regelen, dan weet je hoe snel dat uit de hand loopt. Een reverse proxy zoals NGINX of Traefik lost dat op door als slimme verkeersregelaar voor je backend te fungeren. In dit artikel leer je wat een reverse proxy precies doet, hoe NGINX en Traefik verschillen, en wanneer je welke tool inzet.

Of je nu een VPS beheert, met Docker werkt of gewoon wilt begrijpen wat er onder de motorkap van je hosting gebeurt: dit is de fundering waar moderne webhosting op draait.

Wat is een reverse proxy?

Een reverse proxy is een server die tussen het internet en je backend-applicaties zit. Elke inkomende request gaat eerst naar de proxy, die vervolgens beslist waar het verzoek naartoe moet. De bezoeker ziet alleen de proxy, nooit de servers erachter.

Vergelijk het met een receptioniste bij een groot kantoorpand. Bezoekers melden zich aan de balie, de receptioniste kijkt naar wie ze moeten en stuurt ze door naar de juiste afdeling. Niemand loopt zomaar het pand in.

Een "gewone" proxy (forward proxy) doet het omgekeerde: die staat namens de cliënt tussen jou en het internet, bijvoorbeeld op een bedrijfsnetwerk. Een reverse proxy beschermt en bedient juist de servers.

Waarom niet direct naar de applicatie?

Je kunt prima een Node.js-app of PHP-server direct op poort 80 of 443 laten luisteren. Maar zodra je meer dan één applicatie draait, HTTPS wilt gebruiken of verkeer wilt verdelen, wordt het al snel rommelig. Een reverse proxy centraliseert die complexiteit op één plek.

Wat doet een reverse proxy in de praktijk?

Een reverse proxy is veel meer dan een doorgeefluik. Deze taken pakt hij voor je op:

  • SSL/TLS-terminatie, HTTPS-verbindingen worden op de proxy afgehandeld, zodat je backend gewoon HTTP kan spreken.
  • Load balancing, verkeer verdelen over meerdere backend-servers. Lees meer in onze load balancing basics.
  • Caching, statische bestanden of antwoorden bewaren, zodat de backend minder werk heeft.
  • Compressie, response bodies kleiner maken met gzip of Brotli.
  • Routing op hostname of pad, api.site.nl naar je API, site.nl naar je website.
  • Rate limiting en security, ongewenst verkeer afvangen voordat het je applicatie bereikt.
  • Logging en monitoring, centraal zicht op al het inkomende verkeer.

Het mooie is: je backend hoeft van geen van deze dingen iets te weten. Dat maakt je applicatie eenvoudiger en makkelijker onderhoudbaar.

NGINX: de klassieker

NGINX (uitgesproken als "engine-x") bestaat sinds 2004 en is inmiddels de meest gebruikte webserver ter wereld. Hij is razendsnel, betrouwbaar en draait op miljoenen servers. Oorspronkelijk ontworpen om het "C10k-probleem" op te lossen, het efficiënt afhandelen van tienduizend gelijktijdige verbindingen.

Hoe werkt NGINX?

NGINX gebruikt een event-driven architectuur. In plaats van per verbinding een nieuwe thread of process te starten (zoals Apache traditioneel deed), handelt één worker duizenden verbindingen tegelijk af via non-blocking I/O. Dat is waarom NGINX zo goed presteert onder hoge belasting.

Configuratie gebeurt in platte tekstbestanden, meestal in /etc/nginx/. Een minimale config voor een reverse proxy ziet er zo uit:

server {
    listen 80;
    server_name mijnsite.nl;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Dit blokje stuurt al het verkeer voor mijnsite.nl door naar een applicatie die lokaal op poort 3000 draait. Simpel en voorspelbaar.

Sterke punten van NGINX

  • Volwassenheid, enorme community, overvloed aan documentatie en voorbeelden.
  • Performance, moeilijk te verslaan qua requests per seconde.
  • Flexibiliteit, werkt als webserver, reverse proxy, load balancer én mail proxy.
  • Fijnmazige controle, je bepaalt elk detail zelf.

Minpunten van NGINX

  • Statische configuratie, elke wijziging vereist een reload (nginx -s reload).
  • Handmatig SSL beheer, zonder tools zoals Certbot moet je certificaten zelf managen.
  • Lastig in dynamische omgevingen, bij containers die komen en gaan wordt het bijhouden van configs bewerkelijk.

NGINX is de go-to keuze voor traditionele VPS-setups en dedicated servers. Als je een vaste set applicaties draait die niet vaak verandert, is dit je beste vriend. Zie ook onze introductie tot VPS hosting.

Traefik: de moderne uitdager

Traefik is van 2015 en speciaal ontworpen voor de wereld van containers, microservices en cloud-native applicaties. Waar NGINX een statische config heeft, ontdekt Traefik je services automatisch.

Hoe werkt Traefik?

Traefik heeft providers die hij in de gaten houdt: Docker, Kubernetes, Consul, bestanden, en nog veel meer. Wanneer je een nieuwe container start met de juiste labels, registreert Traefik die direct en begint hij verkeer door te sturen. Geen reloads, geen herstarts.

Een Docker-container beschikbaar maken via Traefik kan zo simpel zijn als:

services:
  mijnapp:
    image: mijnapp:latest
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.mijnapp.rule=Host(`mijnsite.nl`)"
      - "traefik.http.routers.mijnapp.tls.certresolver=letsencrypt"

Dat is alles. Traefik pikt de container op, vraagt een Let's Encrypt-certificaat aan en begint verkeer te routeren. In NGINX zou je hiervoor een config-file moeten schrijven, certbot draaien en NGINX herladen.

Sterke punten van Traefik

  • Automatische service discovery, containers worden direct herkend.
  • Automatisch SSL via Let's Encrypt, ingebouwd, geen externe tools nodig.
  • Ingebouwd dashboard, visueel overzicht van routes en services.
  • Cloud-native first, naadloos met Docker, Kubernetes en Swarm.
  • Middleware-systeem, authenticatie, rate limiting en headers toevoegen zonder complexe configs.

Minpunten van Traefik

  • Minder mature, jonger project, community kleiner dan NGINX.
  • Performance, nog steeds snel, maar onder extreme belasting haalt NGINX meer requests per seconde.
  • Leercurve, de labels-syntax is even wennen, en troubleshooting kan lastig zijn.
  • Minder geschikt voor statische backends, als je geen containers draait, is de meerwaarde beperkt.

NGINX vs Traefik: wanneer kies je wat?

Er is geen objectieve winnaar, het hangt af van je situatie.

Kies NGINX als:

  • Je een VPS of bare-metal server beheert met een paar vaste applicaties.
  • Je maximale performance wilt en elk detail zelf wilt regelen.
  • Je teamleden al NGINX-ervaring hebben.
  • Je ook statische bestanden direct via de webserver wilt serveren.

Kies Traefik als:

  • Je met Docker Compose, Docker Swarm of Kubernetes werkt.
  • Containers vaak starten en stoppen in je omgeving.
  • Je automatische SSL zonder gedoe wilt.
  • Je geen zin hebt om voor elke nieuwe service config-bestanden te schrijven.

Veel DevOps-teams gebruiken beide: NGINX als high-performance edge proxy, Traefik daarachter voor het dynamisch routeren naar microservices.

SSL/TLS-terminatie: een killer feature

Een van de grootste redenen om een reverse proxy te gebruiken is centraal SSL beheer. In plaats van op elke backend-applicatie HTTPS te configureren, regel je het één keer op de proxy.

Bij NGINX combineer je dit meestal met Certbot voor gratis Let's Encrypt certificaten. Een cronjob vernieuwt ze automatisch. Traefik heeft dit gewoon ingebouwd, je zet een resolver aan en het werkt.

Dit tilt hosting security naar een hoger niveau. Certificaten zijn altijd up-to-date, en je applicaties hoeven alleen HTTP intern te spreken. Voor meer context, lees onze hosting security basics.

Caching en performance

Een goed geconfigureerde reverse proxy kan je site drastisch versnellen. Door vaak opgevraagde responses tijdelijk op te slaan, hoeft je backend niet elke keer opnieuw te werken.

NGINX heeft krachtige caching-mogelijkheden met proxy_cache. Je kunt fijn afstellen wat wel en niet gecached wordt, hoe lang, en hoe cache-invalidatie werkt. Traefik heeft standaard minder ingebouwde caching, maar je kunt het combineren met tools zoals Varnish of Redis.

Caching heeft ook directe impact op je latency en Core Web Vitals. Google merkt snellere sites op, en dat vertaalt zich in betere rankings en conversies.

Veelgemaakte fouten bij reverse proxies

Een paar valkuilen die je beter kunt vermijden:

  1. Vergeten Host-header door te geven, je backend denkt dan dat hij 127.0.0.1 heet. Zet altijd proxy_set_header Host $host;.
  2. Geen X-Forwarded-For, zonder deze header zie je alleen het IP van de proxy in je logs, niet dat van de bezoeker.
  3. Timeouts niet aanpassen, standaard timeouts zijn vaak te laag voor langlopende requests.
  4. SSL-certificaten niet monitoren, zelfs met auto-renewal kan er iets misgaan. Zet alerts.
  5. Geen fallback bij backend-uitval, configureer een nette 503-pagina in plaats van een cryptische error.

Hoe past dit bij jouw hosting?

Bij shared hosting heb je geen controle over de reverse proxy, die zit verstopt in de infrastructuur van je provider. Zodra je overstapt naar een VPS of dedicated server, krijg je die controle wél. Dat is ook meteen de reden dat hosting voor developers vaak méér werk is, maar ook veel krachtiger.

Werk je veel met Docker? Dan is Traefik waarschijnlijk binnen een uur draaiende. Beheer je liever alles handmatig en wil je maximale controle? Dan is NGINX de veiligere keuze.

In beide gevallen maakt een goed ingerichte reverse proxy je hosting sneller, veiliger en makkelijker te beheren. Het is de stille held van moderne webinfrastructuur.

Veelgestelde vragen

Wat is een reverse proxy precies?

Een reverse proxy is een server die tussen je bezoekers en je backend staat. Hij neemt alle inkomende requests aan en stuurt ze door naar de juiste applicatie. Voor de bezoeker lijkt het of hij direct met één server praat.

Wat is het verschil tussen NGINX en Traefik?

NGINX is een volwassen, breed ingezette reverse proxy met statische configuratie in bestanden. Traefik is moderner en ontdekt services automatisch, vooral handig in Docker- en Kubernetes-omgevingen. NGINX biedt meer controle, Traefik meer gemak.

Heb ik een reverse proxy nodig voor een simpele WordPress-site?

Niet per se. Bij shared hosting zit een reverse proxy al verborgen in de infrastructuur. Zodra je naar een VPS of dedicated server gaat en meerdere applicaties of SSL-certificaten beheert, wordt een eigen reverse proxy al snel nuttig.

Regelt een reverse proxy ook SSL-certificaten?

Ja, dat is een van de grootste voordelen. Zowel NGINX als Traefik kunnen SSL-terminatie doen, waarbij HTTPS-verbindingen op de proxy worden afgehandeld. Traefik regelt zelfs automatisch Let's Encrypt certificaten zonder extra configuratie.

Kan een reverse proxy mijn site sneller maken?

Zeker. Door caching, compressie en het efficiënt afhandelen van veel gelijktijdige verbindingen ontlast een reverse proxy je applicatieserver. Dat resulteert vaak in merkbaar snellere laadtijden en betere schaalbaarheid.

Veelgestelde vragen

Klaar om digitaal te groeien?

Wij helpen Nederlandse bedrijven met webtechnologie en SEO-strategieën die écht werken. Neem vrijblijvend contact op.