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 403per un POST ainvalidate.cache. - I registri di Cloud Manager mostrano il codice di errore
BUILD_WEB_TIER_VALIDATE_WITH_DISPATCHER_TEST_FAILUREoBUILD_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
- Passa a Pipeline
>di Cloud Manager, seleziona la pipeline che genera l’errore e scegli Visualizza esecuzione. Scaricarebuild_dispatcher_validation.logedispatcher_backend_mock.log. - Cerca nei registri
TestCacheInvalidationoX-Vhost. Errori durante la visualizzazione di messaggi comeExpected header X-Vhost ... got catch-all. - 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
-
Verificare che siano presenti i valori ServerAlias richiesti. Apri
conf.d/available_vhosts/*.vhostper 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
- Confermare che la pipeline Cloud Manager più recente supera l’analisi del codice senza
TestCacheInvalidationerrori. - Conferma l’annullamento della validità del dispatcher tramite i registri non mostra risposte HTTP 403 per
invalidate.cache.