La distribuzione della configurazione Dispatcher non riesce a causa di una configurazione ServerAlias o X-Vhost mancante

Le distribuzioni della configurazione Dispatcher in Cloud Manager non riescono nella fase di analisi del codice o TestCacheInvalidation anche quando la convalida locale non segnala problemi. Gli errori si verificano quando nessun host abilitato corrisponde ai nomi host utilizzati da Cloud Manager per i test interni o quando il vhost corrispondente non imposta un’intestazione X-Vhost, pertanto le richieste rientrano nel vhost catch-all. default.vhost symlink mancanti, valori ServerAlias assenti e regole di riscrittura che bloccano invalidate.cache producono lo stesso risultato. Per risolvere l’errore, verificare che almeno un host abilitato gestisca 127.0.0.1, localhost, *.local e i domini cloud e impostare un’intestazione X-Vhost.

Descrizione description

Problema: la distribuzione di Dispatcher non riesce durante l’analisi del codice o TestCacheInvalidation con un errore X-Vhost catch-all

Descrizione

Errore delle pipeline del dispatcher Cloud Manager durante l’analisi del codice o TestCacheInvalidation nonostante la segnalazione da parte del dispatcher validator di Nessun problema trovato. I registri mostrano che la convalida ha esito positivo, seguita da un errore come Expected header X-Vhost to be existing and not: catch-all, got: catch-all o dall’annullamento della validità con restituzione di HTTP 403. Ciò si verifica quando nessun vhost abilitato corrisponde ai nomi host di invalidazione del dispatcher o non imposta un’intestazione X-Vhost, lasciando i test Cloud Manager a rientrare nel vhost catch-all. Ulteriori errori si verificano quando manca il collegamento simbolico default.vhost, i valori ServerAlias richiesti sono assenti o il blocco di regole di reindirizzamento/riscrittura invalidate.cache.

Ambiente:

  • Adobe Experience Manager as a Cloud Service (AEMaaCS)
  • AEM Managed Services
  • Cloud Manager (pipeline di scansione del codice e convalida a livello web)
  • Dispatcher

Problema/Sintomi:

  • Messaggio errore test Dispatcher: Test fails. Expected header X-Vhost to be existing and not: catch-all, got: catch-all
  • La pipeline non riesce l’analisi del codice anche se la convalida del dispatcher stampa Nessun problema trovato.
  • Il test di annullamento della validità di Dispatcher restituisce Expected 200 but got 403 per un POST a invalidate.cache.
  • I registri di Cloud Manager mostrano il codice di errore BUILD_WEB_TIER_VALIDATE_WITH_DISPATCHER_TEST_FAILURE o BUILD_WEB_TIER_VALIDATE_STATIC_TEST_FAILURE.

Causa principale:

Cloud Manager esegue test interni di Dispatcher che richiedono almeno un vhost abilitato per soddisfare le richieste provenienti da 127.0.0.1, localhost, *.local, *.adobeaemcloud.com e *.adobeaemcloud.net. Questi test devono restituire anche un’intestazione X-Vhost. Se a questi nomi host non corrisponde alcun vhost abilitato o se il vhost corrispondente non imposta X-Vhost, Cloud Manager considera la risposta come catch-all, causando il mancato superamento di TestCacheInvalidation e altri test. Lo stesso errore si verifica quando il collegamento simbolico default.vhost è mancante, le regole di riscrittura personalizzate bloccano l’invalidazione o gli artefatti sono mancanti durante i passaggi di copia.

Come confermare

  1. Passa a Pipeline > di Cloud Manager, seleziona la pipeline che genera l’errore e scegli Visualizza esecuzione. Scaricare build_dispatcher_validation.log e dispatcher_backend_mock.log.
  2. Cerca nei registri TestCacheInvalidation o X-Vhost. Errori durante la visualizzazione di messaggi come Expected header X-Vhost ... got catch-all.
  3. Se non viene visualizzato alcun errore, la pipeline potrebbe riutilizzare una build precedente. Esegui un commit Git fittizio per forzare una ricostruzione e un nuovo controllo.

Risoluzione resolution

  1. Verificare che siano presenti i valori ServerAlias richiesti. Apri conf.d/available_vhosts/*.vhost per i domini attivi e conferma che almeno un vhost abilitato includa tutti gli alias in modo esplicito:

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

Non è garantito il funzionamento di un glob * da solo. Se gli alias non sono presenti, aggiungili e ridistribuiscili.
​2. Conferma che il vhost sia abilitato. Selezionare conf.d/enabled_vhosts/ per un collegamento simbolico che punta a un host con le voci ServerAlias richieste. Ad esempio: default.vhost -> ../available_vhosts/default.vhost. Se manca il collegamento simbolico, aggiungilo e invia il commit.
​3. Imposta l’intestazione X-Vhost. Nel vhost corrispondente, aggiungi:

"
Intestazione aggiunta X-Vhost “publish”
"

Le richieste di test restituiscono quindi un valore X-Vhost diverso da catch-all. Conferma l’assenza di riscrittura delle intestazioni di risposta per lo striping delle regole.
​4. Verificare la presenza di regole di riscrittura che bloccano invalidate.cache. Cercare le regole che rifiutano il client di test di Cloud Manager. Ad esempio: una regola corrispondente all’agente utente Go-http-client che restituisce un valore 403:

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

Rimuovi o ignora la regola che genera l’infrazione, pertanto l’annullamento della validità restituisce HTTP 200. Se necessario, disabilita temporaneamente le riscritture sospette e ridistribuiscili.
​5. Convalida la configurazione localmente:

"
./bin/validate.sh dispatcher/src
"

Conferma che l’output mostri Nessun problema trovato e Sintassi OK. Correggi eventuali errori di sintassi locale prima della ridistribuzione.
​6. Apporta le modifiche ed esegui nuovamente la pipeline del dispatcher. Conferma analisi codice e TestCacheInvalidation passaggio.

Convalida

  1. Confermare che la pipeline Cloud Manager più recente supera l’analisi del codice senza TestCacheInvalidation errori.
  2. Conferma l’annullamento della validità del dispatcher tramite i registri non mostra risposte HTTP 403 per invalidate.cache.

Lettura correlata

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