ENbext.dev
DocumentationCompatibilité nginx

Traduction automatique depuis l’anglais. Consulter l’original.

Sur cette page

Tableau de bord de contrôle en amont

Le tableau de bord de contrôle en amont est une interface utilisateur Web qui affiche tout ce que bext a détecté à partir de votre configuration nginx. Il s'exécute localement et vous aide à vérifier la migration avant d'apporter des modifications.

Lancement#

bash
sudo bext nginx-takeover [--port 9999] [--nginx-config /etc/nginx/nginx.conf]

Si aucun chemin de configuration n'est fourni, bext détecte automatiquement l'installation de nginx. Le tableau de bord démarre sur 127.0.0.1 (bouclage uniquement, pour des raisons de sécurité) et imprime une bannière de terminal :

code
╔══════════════════════════════════════════╗
║         bext nginx Preflight             ║
╠══════════════════════════════════════════╣
║  Config:     /etc/nginx/nginx.conf       ║
║  Vhosts:     12                          ║
║  SSL Certs:  8                           ║
║  Upstreams:  3                           ║
║  Warnings:   2                           ║
║  Checks:     7 pass / 1 warn / 0 fail   ║
╠══════════════════════════════════════════╣
║  Dashboard:  http://127.0.0.1:9999      ║
╚══════════════════════════════════════════╝

Sections du tableau de bord#

Grille de statistiques#

Comptes en un coup d'œil : hôtes virtuels, certificats SSL, amont et avertissements de conversion.

Vérifications préalables au vol#

Huit contrôles automatisés avec statut réussite/avertissement/échec :

Vérifier Critique Description
Configuration analysée Oui nginx.conf analysé sans erreurs
Certificats SSL accessibles Oui Tous les fichiers de certificat référencés sont lisibles
nginx En cours d'exécution Non Si nginx est actuellement actif
Disponibilité des ports Oui Les ports 80/443 seront disponibles après l'arrêt de nginx
Répertoires racine Non Toutes les racines des documents existent sur le disque
Backends en amont Non Les serveurs backend sont accessibles
Autorisations de processus Oui Exécuté en tant que root (nécessaire pour les ports < 1024)
système disponible Oui systemd est présent pour la gestion des services

Des contrôles critiques doivent être réussis avant que la prise de contrôle ne soit autorisée.

Hôtes virtuels#

Liste pliable de chaque hôte virtuel détecté affichant :

  • Noms de serveurs avec balises (exact, joker, regex, par défaut)
  • Ports d'écoute avec badges SSL/HTTP2
  • Chemin racine du document
  • Tableau des blocs d'emplacement (modèle, type de correspondance, action)
  • Chemins de certificat TLS
  • Réécrire les règles et les conditions
  • Pages d'erreur

En amont#

Tableau des blocs amont avec :

  • Nom en amont
  • Stratégie d'équilibrage de charge
  • Liste des serveurs avec poids, état de sauvegarde/arrêt

Avertissements de conversion#

Liste des directives non prises en charge ou partiellement prises en charge avec le chemin du fichier et le numéro de ligne.

Barre d'actions#

  • Bouton Prendre le relais : désactivé en cas d'échec d'une vérification critique. Nécessite une boîte de dialogue de confirmation.
  • Bouton Rollback — masqué jusqu'à ce que la prise de contrôle soit active. Nécessite également une confirmation.
  • Actualiser — réexécute toutes les vérifications et recharge le tableau de bord.

Points de terminaison de l'API#

Le tableau de bord expose également une API JSON :

Point de terminaison Méthode Description
/ GET Page HTML du tableau de bord
/api/preflight GET Configuration complète + vérifications en JSON
/api/status GET Phase actuelle, disponibilité, erreurs
/api/takeover POST Exécuter la migration
/api/rollback POST Restaurer nginx
/api/refresh-checks POST Réexécutez toutes les vérifications en amont

Exemple : JSON de contrôle en amont#

bash
curl http://127.0.0.1:9999/api/preflight | jq
json
{
  "phase": "preflight",
  "can_takeover": true,
  "checks": [
    { "id": "config_parsed", "name": "Config Parsed", "status": "pass", "details": "12 vhosts, 3 upstreams", "critical": true },
    { "id": "ssl_certs", "name": "SSL Certs Accessible", "status": "pass", "details": "8 certs loaded", "critical": true }
  ],
  "vhosts": [...],
  "upstreams": [...],
  "warnings": [...]
}

Sécurité#

  • Le tableau de bord se lie uniquement à 127.0.0.1 — non accessible depuis le réseau
  • Toutes les actions POST nécessitent une confirmation
  • L'API de reprise vérifie les échecs critiques avant de continuer
  • La restauration est toujours disponible après la prise de contrôle
Conseil

Si vous souhaitez inspecter le JSON de contrôle en amont sans navigateur (par exemple dans une vérification CI), utilisez curl http://127.0.0.1:9999/api/preflight | jq '.checks[] | select(.status != "pass")' pour afficher uniquement les vérifications ayant échoué.

En rapport#

Modifier cette page ↗Besoin d’aide ? ↗
Rechercher dans la documentation

Saisissez un sujet, une commande ou une question.