RousselTMLEARNING

Article · Traefik: From Discovery to Expertise

API

This article is available in French.

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.

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

My progress

  • ⏱ Estimated time : ≈ 5 min

Sign in to track your progress and take notes. Sign in

💬 Ask a question

Recommended Articles

Bonnes pratiques Traefik : sécurité, haute disponibilité et observabilité

Bonnes pratiques Traefik : sécurisation du dashboard et du socket Docker, TLS moderne, middleware...

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

Installer Traefik dans Kubernetes avec Helm et publier des applications avec Ingress, les CRD Ing...

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 : authe...

Traefik : vue d'ensemble, architecture et premier déploiement

Découvrir Traefik : reverse proxy et load balancer cloud-native, entrypoints, routers, services, ...

Stratégies de déploiement avec Traefik : blue/green, canary et rolling

Mettre en œuvre les stratégies de déploiement avec Traefik : rolling update par l'orchestrateur, ...

Canary automatisé avec Flagger et Traefik sur Kubernetes

Automatiser les déploiements canary avec Flagger et Traefik : ressource Canary, analyse des métri...

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

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

Les plugins Traefik : l'exemple de CrowdSec pour bloquer les attaques

Étendre Traefik avec des plugins (catalogue officiel, interpréteur Yaegi), puis protéger ses appl...

Traefik : les métriques avec Prometheus et OpenTelemetry

Exposer les métriques de Traefik (Prometheus ou OTLP), comprendre les séries par entrypoint, rout...

Support us

♥ SUPPORT US

Support RousselTM Learning

Courses, articles, labs and certificates stay free with no intrusive ads. A voluntary contribution, of any amount you choose, pays for hosting, lab environments and new content.

Contribute with PayPal Any amount · card or PayPal accountLearn more
QR code PayPal
Or scan this QR code with your phone

Thank you, every contribution counts!