Échec du déploiement de la configuration Dispatcher en raison d’une configuration ServerAlias ou X-Vhost manquante

Les déploiements de configuration Dispatcher dans Cloud Manager échouent lors de la phase d’analyse du code ou de TestCacheInvalidation, même lorsque la validation locale ne signale aucun problème. Les échecs se produisent lorsqu’aucun vhost activé ne correspond aux noms d’hôtes utilisés par Cloud Manager pour ses tests internes, ou lorsque le vhost correspondant ne définit pas d’en-tête X-Vhost, de sorte que les requêtes tombent dans le vhost fourre-tout. Les liens symboliques de default.vhost manquants, les valeurs ServerAlias absentes et les règles de réécriture qui bloquent les invalidate.cache produisent le même résultat. S’assurer qu’au moins un vhost activé gère les domaines 127.0.0.1, localhost, *.local et cloud et définit un en-tête X-Vhost résout l’échec.

Description description

Problème : le déploiement de Dispatcher échoue lors de l’analyse du code ou TestCacheInvalidation avec une erreur fourre-tout X-Vhost

Description

Échec des pipelines du Dispatcher Cloud Manager lors de l’analyse du code ou de la TestCacheInvalidation malgré le rapport du programme de validation du Dispatcher Aucun problème trouvé. Les journaux indiquent que le programme de validation a réussi, suivi d’un échec tel que la Expected header X-Vhost to be existing and not: catch-all, got: catch-all ou l’invalidation renvoyant le HTTP 403. Cela se produit lorsqu’aucun vhost activé ne correspond aux noms d’hôtes d’invalidation du Dispatcher ou ne définit pas d’en-tête X-Vhost, ce qui laisse les tests Cloud Manager tomber dans le vhost fourre-tout. D’autres échecs se produisent lorsque le lien symbolique default.vhost est manquant, que les valeurs ServerAlias requises sont absentes ou que les règles de redirection/réécriture bloquent les invalidate.cache.

Environnement :

  • Adobe Experience Manager as a Cloud Service (AEMaaCS)
  • AEM Managed Services
  • Cloud Manager (pipelines d’analyse de code et de validation de niveau web)
  • Dispatcher

Problème/Symptômes :

  • Message d’échec du test Dispatcher : Test fails. Expected header X-Vhost to be existing and not: catch-all, got: catch-all
  • Le pipeline échoue lors de l’analyse du code même si le programme de validation du Dispatcher imprime Aucun problème trouvé.
  • Le test d’invalidation de Dispatcher renvoie des Expected 200 but got 403 pour un POST à invalidate.cache.
  • Les journaux Cloud Manager affichent le code d’erreur BUILD_WEB_TIER_VALIDATE_WITH_DISPATCHER_TEST_FAILURE ou BUILD_WEB_TIER_VALIDATE_STATIC_TEST_FAILURE.

Cause principale :

Cloud Manager effectue des tests Dispatcher internes qui nécessitent au moins un hôte virtuel activé pour correspondre aux requêtes provenant de 127.0.0.1, localhost, *.local, *.adobeaemcloud.com et *.adobeaemcloud.net. Ces tests doivent également renvoyer un en-tête X-Vhost. Lorsque ces noms d’hôtes ne sont associés à aucun vhost activé ou que le vhost associé ne définit pas X-Vhost, Cloud Manager traite la réponse comme un fourre-tout, ce qui entraîne l’échec des tests TestCacheInvalidation et autres. Le même échec se produit lorsque le lien symbolique default.vhost est manquant, lorsque les règles de réécriture personnalisées bloquent l’invalidation ou lorsque des artefacts sont manquants lors des étapes de copie.

Comment confirmer

  1. Accédez à Pipelines de > Cloud Manager, sélectionnez le pipeline défaillant, puis choisissez Afficher l’exécution. Téléchargez build_dispatcher_validation.log et dispatcher_backend_mock.log.
  2. Recherchez des TestCacheInvalidation ou des X-Vhost dans les journaux. Les échecs affichent des messages tels que Expected header X-Vhost ... got catch-all.
  3. Si aucun échec ne s’affiche, le pipeline peut réutiliser une version précédente. Effectuez une validation Git factice pour forcer une reconstruction et une nouvelle vérification.

Résolution resolution

  1. Vérifiez que les valeurs ServerAlias requises existent. Ouvrez conf.d/available_vhosts/*.vhost pour les domaines actifs et confirmez qu’au moins un hôte virtuel activé inclut explicitement tous ces alias :

    code language-none
    ServerAlias "127.0.0.1" "localhost" "*.local" "*.adobeaemcloud.com" "*.adobeaemcloud.net"
    

Une * globale seule n’est pas garantie de fonctionner. Si les alias sont manquants, ajoutez-les et redéployez-les.
​2. Vérifiez que le vhost est activé. Recherchez conf.d/enabled_vhosts/ un lien symbolique pointant vers un vhost avec les entrées ServerAlias requises. Par exemple : default.vhost -> ../available_vhosts/default.vhost. Si le lien symbolique est manquant, ajoutez-le et effectuez la validation.
​3. Définissez l’en-tête X-Vhost . Dans le vhost correspondant, ajoutez :

«
En-tête ajouter X-Vhost « publish »
«

Les requêtes de test renvoient ensuite une valeur X-Vhost autre que catch-all. Confirmez qu’aucune règle de réécriture ne supprime les en-têtes de réponse.
​4. Recherchez les règles de réécriture qui bloquent les invalidate.cache. Recherchez les règles qui rejettent le client de test Cloud Manager. Par exemple : une règle correspondant à l’agent utilisateur Go-http-client qui renvoie une valeur 403 :

«
RewriteCond %{HTTP_USER_AGENT} Go-http-client.$
RewriteRule .
- [ R=403,L]
«

Supprimez ou contournez la règle incriminée afin que l’invalidation renvoie le HTTP 200. Si nécessaire, désactivez temporairement les réécritures et redéploiements suspects.
​5. Validez la configuration localement :

«
./bin/validate.sh dispatcher/src
«

Confirmez les affichages de sortie Aucun problème trouvé et Syntaxe correcte. Corrigez les erreurs de syntaxe locale avant de redéployer.
​6. Validez les modifications et réexécutez le pipeline du Dispatcher. Confirmez l’analyse du code et TestCacheInvalidation réussite.

Validation

  1. Confirmez que le dernier pipeline Cloud Manager réussit l’analyse de code sans erreurs TestCacheInvalidation.
  2. Confirmer l’invalidation du Dispatcher via les journaux n’affiche aucune réponse HTTP 403 pour invalidate.cache.

Lecture connexe

recommendation-more-help
experience-cloud-kcs-help-kbarticles