La implementación de la configuración de Dispatcher falla debido a que falta la configuración ServerAlias o X-Vhost

Las implementaciones de configuración de Dispatcher en Cloud Manager fallan en la fase de Escaneo de código o TestCacheInvalidation incluso cuando la validación local no informa de ningún problema. Los errores se producen cuando ningún vhost habilitado coincide con los nombres de host que utiliza Cloud Manager para sus pruebas internas o cuando el vhost coincidente no establece un encabezado X-Vhost, por lo que las solicitudes caen en el vhost global. Los enlaces simbólicos default.vhost que faltan, los valores ServerAlias ausentes y las reglas de reescritura que bloquean invalidate.cache producen el mismo resultado. El error se soluciona asegurándose de que al menos un vhost habilitado gestione 127.0.0.1, localhost, *.local y los dominios de nube y establezca un encabezado X-Vhost.

Descripción description

Problema: la implementación de Dispatcher falla en el análisis de código o TestCacheInvalidation con un error de captador global X-Vhost

Descripción

Las canalizaciones de Dispatcher de Cloud Manager fallan en el escaneo de código o TestCacheInvalidation a pesar de que el validador de Dispatcher informa No se encontraron problemas. Los registros muestran el validador como correcto, seguido de un error como Expected header X-Vhost to be existing and not: catch-all, got: catch-all o la invalidación que devuelve HTTP 403. Esto sucede cuando ningún vhost habilitado coincide con los nombres de host de invalidación de Dispatcher o no establece un encabezado X-Vhost, lo que deja que las pruebas de Cloud Manager caigan en el vhost global. Se producen errores adicionales cuando falta el enlace simbólico default.vhost, no hay valores ServerAlias necesarios o el bloque de reglas de redirección/reescritura invalidate.cache.

Entorno:

  • Adobe Experience Manager as a Cloud Service (AEMaaCS)
  • AEM Managed Services
  • Cloud Manager (Canalizaciones de escaneo de código y validación de nivel web)
  • Dispatcher

Problema/Síntomas:

  • Mensaje de error de prueba de Dispatcher: Test fails. Expected header X-Vhost to be existing and not: catch-all, got: catch-all
  • La canalización produce un error en el análisis de código aunque el validador de Dispatcher imprima No se encontraron problemas.
  • La prueba de invalidación de Dispatcher devuelve Expected 200 but got 403 para un POST a invalidate.cache.
  • Los registros de Cloud Manager muestran el código de error BUILD_WEB_TIER_VALIDATE_WITH_DISPATCHER_TEST_FAILURE o BUILD_WEB_TIER_VALIDATE_STATIC_TEST_FAILURE.

Causa principal:

Cloud Manager realiza pruebas internas de Dispatcher que requieren al menos un vhost habilitado para hacer coincidir solicitudes procedentes de 127.0.0.1, localhost, *.local, *.adobeaemcloud.com y *.adobeaemcloud.net. Estas pruebas también deben devolver un encabezado X-Vhost. Cuando estos nombres de host no coinciden con ningún vhost habilitado, o si el vhost coincidente no establece X-Vhost, Cloud Manager trata la respuesta como captador global, lo que provoca que TestCacheInvalidation y otras pruebas fallen. El mismo error se produce cuando falta el enlace simbólico default.vhost, cuando las reglas de reescritura personalizadas bloquean la invalidación o cuando faltan artefactos durante los pasos de copia.

Cómo confirmar

  1. Vaya a Canalizaciones de Cloud Manager >, seleccione la canalización con error y elija Ver ejecución. Descargar build_dispatcher_validation.log y dispatcher_backend_mock.log.
  2. Busque en los registros TestCacheInvalidation o X-Vhost. Los errores muestran mensajes como Expected header X-Vhost ... got catch-all.
  3. Si no aparece ningún error, la canalización podría estar reutilizando una compilación anterior. Realice una confirmación de Git ficticia para forzar una reconstrucción y vuelva a comprobar.

Resolución resolution

  1. Asegúrese de que existan los valores de ServerAlias necesarios. Abra conf.d/available_vhosts/*.vhost para los dominios activos y confirme que al menos un vhost habilitado incluye todos estos alias explícitamente:

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

No se garantiza que funcione un glob * solo. Si faltan los alias, añádalos y vuelva a implementarlos.
​2. Confirme que el vhost está activado. Busque en conf.d/enabled_vhosts/ un enlace simbólico que apunte a un vhost con las entradas ServerAlias requeridas. Por ejemplo: default.vhost -> ../available_vhosts/default.vhost. Si falta el enlace simbólico, añádalo e inserte el compromiso.
​3. Configure el encabezado X-Vhost. En el vhost coincidente, agregue:

"
Encabezado Agregar X-Vhost “publicar”
"

Las solicitudes de prueba devuelven un valor X-Vhost distinto de catch-all. Confirme que no hay ninguna regla de reescritura que elimine los encabezados de respuesta.
​4. Compruebe si hay reglas de reescritura que bloqueen invalidate.cache. Busque reglas que rechacen el cliente de prueba de Cloud Manager. Por ejemplo: una regla que coincida con el agente de usuario Go-http-client y que devuelva un error 403:

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

Elimine o omita la regla infractora para que la invalidación devuelva el valor HTTP 200. Si es necesario, deshabilite temporalmente las reescrituras y reimplementaciones de sospechosos.
​5. Valide la configuración localmente:

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

Confirme que la salida muestra No se encontraron problemas y Sintaxis correcta. Corrija los errores de sintaxis local antes de volver a implementar.
​6. Confirme los cambios y vuelva a ejecutar la canalización de Dispatcher. Confirme el escaneo de código y pase TestCacheInvalidation.

Validación

  1. Confirme que la canalización de Cloud Manager más reciente pasa el análisis de código sin TestCacheInvalidation errores.
  2. Confirmar la invalidación del despachante mediante los registros no muestra respuestas HTTP 403 para invalidate.cache.

Lectura relacionada

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