1. L'API et le tableau de bord #
Ce que Traefik expose.
Points d'accès #
| Point d'accès | Contenu |
|---|---|
/api/overview | Synthèse : nombre de routeurs, services, middlewares, erreurs et avertissements |
/api/http/routers, /api/http/services, /api/http/middlewares | Objets HTTP (aussi /api/tcp/… et /api/udp/…) |
/api/entrypoints | Points d'entrée |
/api/rawdata | Toute la configuration dynamique fusionnée |
/api/version | Version de Traefik |
/dashboard/ | Interface web, construite sur l'API |
2. Sécuriser l'accès #
Jamais en accès libre.
Configuration #
# 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.
