Kennisbank › Moderne Proxies › Traefik als reverse proxy: installatie, configuratie en gebruik
moderne proxies starter 26 August 2026

Traefik als reverse proxy: installatie, configuratie en gebruik

Traefik als reverse proxy: installatie, configuratie en gebruikDit artikel legt uit hoe je Traefik installeert en configureert als HTTP reverse proxy en load

Traefik als reverse proxy: installatie, configuratie en gebruik

Dit artikel legt uit hoe je Traefik installeert en configureert als HTTP reverse proxy en load balancer, voor zowel lokale ontwikkeling als Kubernetes-omgevingen.

Vereisten

- Docker (versie 20.10 of hoger) voor lokale ontwikkeling - Kubernetes-cluster (versie 1.24 of hoger) voor productie-implementaties - Helm (versie 3.0 of hoger) voor Kubernetes-installatie - Toegang tot een domein of wildcard-DNS voor HTTPS-configuratie

Stappen

1. Installeer Traefik lokaal met Docker

Start Traefik met de standaardinstellingen. Dit draait de reverse proxy op poort 80 en 8080 (dashboard).

docker run -d -p 80:80 -p 8080:8080 --name traefik traefik:v3.1

2. Configureer Traefik met een configuratiebestand

Maak een configuratiebestand in TOML-formaat voor geavanceerdere setups. Dit bestand definieert entrypoints, providers en het dashboard.

[entryPoints]
  [entryPoints.web]
    address = ":80"
  [entryPoints.websecure]
    address = ":443"</p><p>[providers]
  [providers.docker]
    endpoint = "unix:///var/run/docker.sock"
    exposedByDefault = false</p><p>[api]
  dashboard = true

Start Traefik met dit configuratiebestand:

docker run -d -p 80:80 -p 443:443 -p 8080:8080 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v $(pwd)/traefik.toml:/etc/traefik/traefik.toml \
  --name traefik traefik:v3.1

3. Routeer verkeer naar services via Docker labels

Voeg Docker labels toe aan containers om ze automatisch te detecteren. Traefik leest deze labels en routeert verkeer naar de juiste service.

docker run -d \
  --label "traefik.enable=true" \
  --label "traefik.http.routers.api.rule=Host(\`api.localhost\`)" \
  --label "traefik.http.services.api.loadbalancer.server.port=5000" \
  --name api my-api-image:latest

4. Configureer HTTPS met automatische certificaten

Schakel automatische TLS-certificaten in via Let's Encrypt. Traefik vraagt certificaten aan en vernieuwt ze automatisch.

[certificatesResolvers.letsencrypt]
  [certificatesResolvers.letsencrypt.acme]
    email = "admin@example.com"
    storage = "/letsencrypt/acme.json"
    [certificatesResolvers.letsencrypt.acme.tlsChallenge]

5. Voeg middleware toe voor authenticatie en rate limiting

Definieer middleware in het configuratiebestand voor verkeersbeheer. Dit voegt authenticatie, rate limiting en header-manipulatie toe.

[http.middlewares]
  [http.middlewares.rate-limit]
    [http.middlewares.rate-limit.rateLimit]
      average = 100
      burst = 50</p><p>  [http.middlewares.auth]
    [http.middlewares.auth.basicAuth]
      users = ["admin:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/"]

6. Installeer Traefik als Ingress Controller in Kubernetes

Gebruik Helm om Traefik te installeren in je cluster. Dit installeert Traefik als Ingress Controller met automatische configuratie.

helm repo add traefik https://helm.traefik.io/traefik
helm repo update
helm install traefik traefik/traefik --values values-prod.yaml

7. Definieer Ingress-routes in Kubernetes

Maak Ingress-resources aan om verkeer te routeren naar services binnen je cluster.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: api-ingress
  annotations:
    traefik.ingress.kubernetes.io/router.entrypoints: websecure
spec:
  rules:
    - host: api.example.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: api-service
                port:
                  number: 5000

8. Update Traefik met atomic rollback

Werk Traefik bij met Helm. De `--atomic` flag zorgt dat bij een fout automatisch wordt teruggedraaid naar de vorige versie.

helm upgrade traefik traefik/traefik --atomic --values values-prod.yaml

Verificatie

Controleer of Traefik correct werkt. Het dashboard toont actieve routers, services en middleware.

Lokaal: check of het dashboard bereikbaar is
curl -I http://localhost:8080</p><p>Kubernetes: check de status van de Traefik pod
kubectl get pods -n default -l app.kubernetes.io/name=traefik</p><p>Kubernetes: check de Ingress-resources
kubectl get ingress

Veelgestelde problemen

1. Traefik detecteert Docker-containers niet

Controleer of de Docker-socket correct is gemount en de `exposedByDefault`-instelling niet op `true` staat. Voeg expliciet `traefik.enable=true` toe aan elke container die je wilt blootstellen.

2. HTTPS-certificaten worden niet aangemaakt

Controleer of poort 443 openstaat en het `acme.json`-bestand schrijfbaar is. Let op: Let's Encrypt rate limits per domein — te veel aanvragen binnen een uur blokkeert nieuwe certificaten.

3. CORS-fouten bij lokale ontwikkeling

Dit gebeurt wanneer services op verschillende poorten draaien. Gebruik Traefik met subdomeinen (bijvoorbeeld `api.localhost` en `app.localhost`) zodat alle verzoeken via hetzelfde domein lopen. Configureer CORS-middleware als je cross-origin requests nodig hebt.

Traefik blijft zich ontwikkelen — de volgende grote versie voegt ondersteuning toe voor service mesh-integraties en verbeterde observability.

← Terug naar kennisbank
← Terug naar kennisbank