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

Gestion des certificats SSL/TLS avec Let's Encrypt et ACME

Apprenez à automatiser la génération et le renouvellement de vos certificats SSL/TLS avec Let's E...

Protocole ACME : serveur ACME, challenges http-01 et dns-01, automatisation TLS

Comprendre le protocole ACME : rôle du serveur ACME (Let's Encrypt, ZeroSSL, step-ca), challenges...

Traefik : les logs (journaux applicatifs et access logs)

Configurer les deux journaux de Traefik : le journal de fonctionnement (niveaux, format) et les a...

Traefik : le tracing distribué avec OpenTelemetry

Activer le tracing de Traefik v3 avec OpenTelemetry (OTLP), propager le contexte W3C vers les app...

HAProxy dans Kubernetes : L'Ingress Controller Haute Performance

Découvrez en profondeur l'intégration de HAProxy dans Kubernetes. Architecture Direct-to-Pod, opt...

Maîtriser les ACLs dans HAProxy : Le Guide Complet

Guide complet sur les ACLs HAProxy : apprenez à configurer le routage intelligent, le contrôle d'...

Maîtriser les ACLs dans HAProxy

Guide complet sur les ACLs HAProxy : apprenez à configurer le routage intelligent, le contrôle d'...

HAProxy comme Ingress Controller Kubernetes : Le Guide de Production

Découvrez comment utiliser HAProxy comme Ingress Controller dans Kubernetes. Architecture Direct-...

Kubernetes : exposer ses applications (Services, Ingress et Gateway API)

Exposer des applications dans Kubernetes : Services ClusterIP/NodePort/LoadBalancer, Ingress, Ing...

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!