Die Bereitstellung der Dispatcher-Konfiguration schlägt aufgrund einer fehlenden ServerAlias- oder X-Vhost-Konfiguration fehl

Dispatcher-Konfigurationsbereitstellungen in Cloud Manager schlagen beim Codescan oder in der TestCacheInvalidation fehl, selbst wenn die lokale Validierung keine Probleme meldet. Die Fehler treten auf, wenn kein aktivierter vhost mit den Host-Namen übereinstimmt, die Cloud Manager für seine internen Tests verwendet, oder wenn der entsprechende vhost keine X-Vhost-Kopfzeile festlegt, sodass die Anfragen in den alle Fälle abdeckenden vhost fallen. Fehlende default.vhost Symlinks, fehlende ServerAlias-Werte und Neuschreibungsregeln, die blockieren invalidate.cache dasselbe Ergebnis erzielen. Stellen Sie sicher, dass mindestens ein aktivierter vhost 127.0.0.1, localhost, *.local und die Cloud-Domains verarbeitet und einen X-Vhost-Header festlegt, um den Fehler zu beheben.

Beschreibung description

Problem: Die Dispatcher-Bereitstellung schlägt beim Code-Scannen oder TestCacheInvalidation mit einem Catch-all-Fehler „X-Vhost“ fehl

Beschreibung

Cloud Manager Dispatcher-Pipelines schlagen beim Code-Scanning oder -TestCacheInvalidation fehl, obwohl der Dispatcher-Validator Berichte Keine Probleme gefunden. In den Protokollen wird angezeigt, dass der Validator erfolgreich war, gefolgt von einem Fehler wie Expected header X-Vhost to be existing and not: catch-all, got: catch-all oder Invalidierung, die HTTP 403 zurückgibt. Dies geschieht, wenn kein aktivierter vhost mit den Host-Namen der Dispatcher-Invalidierung übereinstimmt oder keinen X-Vhost-Header festlegt, sodass Cloud Manager-Tests in den alle Fälle abdeckenden vhost fallen. Zusätzliche Fehler treten auf, wenn der default.vhost Symlink fehlt, die erforderlichen ServerAlias-Werte fehlen oder die Umleitungs-/Umschreibungsregeln invalidate.cache.

Umgebung:

  • Adobe Experience Manager as a Cloud Service (AEMaaCS)
  • AEM Managed Services
  • Cloud Manager (Pipelines für Code-Scanning und Web-Stufen-Validierung)
  • Dispatcher

Problem/Symptome:

  • Dispatcher-Fehlertestmeldung: Test fails. Expected header X-Vhost to be existing and not: catch-all, got: catch-all
  • Die Pipeline schlägt mit der Code-Überprüfung fehl, obwohl der Dispatcher-Validator druckt Keine Probleme gefunden.
  • Dispatcher-Invalidierungstest gibt Expected 200 but got 403 für einen POST an invalidate.cache. zurück
  • Cloud Manager-Protokolle zeigen Fehler-Code BUILD_WEB_TIER_VALIDATE_WITH_DISPATCHER_TEST_FAILURE oder BUILD_WEB_TIER_VALIDATE_STATIC_TEST_FAILURE. an

Grundursache:

Cloud Manager führt interne Dispatcher-Tests durch, für die mindestens ein aktivierter vhost erforderlich ist, um Anforderungen von 127.0.0.1, localhost, *.local, *.adobeaemcloud.com und *.adobeaemcloud.net abzugleichen. Diese Tests müssen auch eine X-Vhost-Kopfzeile zurückgeben. Wenn diese Hostnamen von keinem aktivierten vhost abgeglichen werden oder der übereinstimmende vhost keinen X-Vhost festlegt, behandelt Cloud Manager die Antwort als catch-all, was dazu führt, dass TestCacheInvalidation und andere Tests fehlschlagen. Derselbe Fehler tritt auf, wenn der default.vhost-Symlink fehlt, benutzerdefinierte Neuschreibungsregeln die Invalidierung blockieren oder Artefakte während der Kopierschritte fehlen.

Wie kann ich bestätigen

  1. Gehen Sie zu Cloud Manager > Pipelines, wählen Sie die fehlerhafte Pipeline aus und wählen Sie Ausführung anzeigen. build_dispatcher_validation.log und dispatcher_backend_mock.log herunterladen.
  2. Durchsuchen Sie die Protokolle nach TestCacheInvalidation oder X-Vhost. Fehler zeigen Meldungen wie Expected header X-Vhost ... got catch-all an.
  3. Wenn kein Fehler auftritt, kann die Pipeline einen vorherigen Build wiederverwenden. Führen Sie einen Pseudo-Git-Commit durch, um eine Neuerstellung und erneute Überprüfung zu erzwingen.

Lösung resolution

  1. Stellen Sie sicher, dass die erforderlichen ServerAlias-Werte vorhanden sind. Öffnen Sie conf.d/available_vhosts/*.vhost für aktive Domains und bestätigen Sie, dass mindestens ein aktivierter vhost alle diese Aliase explizit enthält:

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

Es ist nicht garantiert, dass eine * allein funktioniert. Wenn die Aliase fehlen, fügen Sie sie hinzu und stellen Sie sie erneut bereit.
​2. Bestätigen Sie, dass vhost aktiviert ist. Überprüfen Sie conf.d/enabled_vhosts/ auf einen Symlink, der auf einen vhost mit den erforderlichen ServerAlias-Einträgen verweist. Beispiel: default.vhost -> ../available_vhosts/default.vhost. Wenn der Symlink fehlt, fügen Sie ihn hinzu und übertragen Sie den Commit.
​3. Legen Sie die X-Vhost-Kopfzeile fest. Fügen Sie im entsprechenden vhost Folgendes hinzu:

"
Header add X-Vhost „publish“
"

Testanfragen geben dann einen anderen X-Vhost-Wert als „catch-all“ zurück. Bestätigen Sie, dass keine Neuschreibungsregel Antwort-Header abschneidet.
​4. Auf Neuschreibungsregeln prüfen, die invalidate.cache blockieren. Suchen Sie nach Regeln, die den Cloud Manager-Test-Client ablehnen. Beispiel: Eine Regel, die mit dem Go-http-client Benutzeragenten übereinstimmt und eine 403 zurückgibt:

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

Entfernen oder umgehen Sie die fehlerhafte Regel, damit die Invalidierung HTTP 200 zurückgibt. Deaktivieren Sie bei Bedarf vorübergehend die verdächtigen Neuschreibungen und stellen Sie sie erneut bereit.
​5. Lokale Validierung der Konfiguration:

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

Bestätigen Sie, dass die Ausgabe Keine Probleme gefunden und Syntax OK anzeigt. Korrigieren Sie alle lokalen Syntaxfehler vor der erneuten Bereitstellung.
​6. Übertragen Sie die Änderungen und führen Sie die Dispatcher-Pipeline erneut aus. Bestätigen Sie das Scannen des Codes und TestCacheInvalidation Sie.

Validierung

  1. Bestätigen Sie, dass die Code-Überprüfung der neuesten Cloud Manager-Pipeline ohne TestCacheInvalidation erfolgreich verläuft.
  2. Die Dispatcher-Invalidierung über die Protokolle bestätigen zeigt keine HTTP 403-Antworten für invalidate.cache an.

Verwandtes Lesen

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