RousselTMLEARNING

Proxy & réseau

L'API de Traefik : inspecter la configuration et sécuriser le tableau de bord

Utiliser l'API REST de Traefik pour inspecter routeurs, services, middlewares et entrypoints, l'exposer de façon sécurisée avec api@internal, et l'exploiter dans des scripts de vérification.

1. L'API et le tableau de bord #

Ce que Traefik expose.

Points d'accès #

Point d'accèsContenu
/api/overviewSynthèse : nombre de routeurs, services, middlewares, erreurs et avertissements
/api/http/routers, /api/http/services, /api/http/middlewaresObjets HTTP (aussi /api/tcp/… et /api/udp/…)
/api/entrypointsPoints d'entrée
/api/rawdataToute la configuration dynamique fusionnée
/api/versionVersion de Traefik
/dashboard/Interface web, construite sur l'API

2. Sécuriser l'accès #

Jamais en accès libre.

Configuration #

API Traefik sécurisée
Le mode api.insecure publie l'API sur le port 8080 sans protection : réservé à un poste de développement.
# statique
api:
  dashboard: true            # et surtout pas insecure: true en production
# dynamique (fichier)
http:
  routers:
    tableau-de-bord:
      rule: Host(`traefik.exemple.fr`)
      entryPoints: [websecure]
      service: api@internal
      middlewares: [interne, sso]
      tls: { certResolver: le }
  middlewares:
    interne:
      ipAllowList: { sourceRange: ["10.0.0.0/8", "192.168.0.0/16"] }

3. Exploiter l'API dans des scripts #

Vérifier après chaque déploiement.

Exemples #

API=https://traefik.exemple.fr/api
curl -s $API/overview | jq '.http'                                   # totaux, avertissements, erreurs
curl -s $API/http/routers | jq -r '.[] | select(.status != "enabled") | "\(.name) \(.status) \(.error)"'
curl -s $API/http/services | jq -r '.[] | select(.serverStatus) | .name as $n | .serverStatus | to_entries[] | select(.value=="DOWN") | "\($n) \(.key) DOWN"'
curl -s $API/http/routers/app@docker | jq '{rule, service, middlewares, tls}'
Bonne Pratique : Ajoutez la vérification des routeurs en erreur à votre pipeline de déploiement : une faute de frappe dans un label est détectée immédiatement.

Articles liés

Traefik : sécuriser et transformer les requêtes avec les middlewares (BasicAuth, ForwardAuth…)

Les middlewares Traefik modifient les requêtes et réponses entre le routeur et le service : authentification …

Traefik : les providers (Docker, Kubernetes, Nomad, Consul, fichiers, clés-valeurs)

Les providers alimentent la configuration dynamique de Traefik : découverte des services Docker, Swarm, Kuber…

Traefik comme Ingress Controller pour Kubernetes (Helm, IngressRoute, Gateway API)

Installer Traefik dans Kubernetes avec Helm et publier des applications avec Ingress, les CRD IngressRoute et…

Pour aller plus loin

Soutenir

♥ SOUTENIR

Soutenez RousselTM Learning

Les formations, articles, TP et attestations restent gratuits et sans publicité intrusive. Une contribution libre, du montant de votre choix, finance l’hébergement, les environnements de TP et l’écriture de nouveaux contenus.

Contribuer avec PayPal Montant libre · carte bancaire ou compte PayPalEn savoir plus
QR code PayPal
Ou scannez ce QR code avec votre téléphone

Merci, chaque contribution compte !