Beheben von CDN-Routing- und Kopfzeilenproblemen in AEMaaCS
Benutzerdefinierte CDN-Konfigurationen in AEMaaCS schlagen aufgrund falscher Ursprungseinstellungen, fehlender erforderlicher Kopfzeilen oder falsch konfigurierter Routing-Regeln fehl. AEM leitet den Traffic immer über Fastly, das von Adobe verwaltet wird. Dies erfordert eine korrekte Zielgruppenbestimmung nach Host-Namen und bestimmte Header, um Anfragen zu akzeptieren. Fehlerhafte Konfigurationen führen zu Routing-Fehlern, SSL-Inkongruenzen und Fehlern wie 421 oder unbekannte Domain. Korrigieren Sie die Konfiguration der Quelle, die Kopfzeilenweiterleitung und das cdn.yaml-Routing, um das Problem zu beheben und einen ordnungsgemäßen Anfragefluss wiederherzustellen.
Beschreibung description
Umgebung
- Adobe Experience Manager as a Cloud Service (AEMaaCS)
- AEM Managed Services
- Adobe Developer App-Builder
Problem/Symptome
- Anfragen an AEM schlagen mit Fastly 421 oder unbekannten Domain) fehl.
- Kunden-CDN kann den Veröffentlichungsendpunkt nicht erreichen.
- Routing-Fehler oder SSL-Nichtübereinstimmung treten auf.
- Caching-Inkonsistenzen treten auf.
- Die Header-basierte Authentifizierung schlägt fehl, wenn erforderliche Header entfernt oder überschrieben werden.
Grundursache
AEM as a Cloud Service leitet den gesamten Traffic durch Fastly, bevor er die Veröffentlichungsebene erreicht. Anfragen von einem Kunden-CDN müssen erforderliche Kopfzeilen wie Host, SNI und X-AEM-Edge-Key enthalten, während auf den richtigen Veröffentlichungs-Host-Namen abgezielt wird. Fehlende oder falsche Konfigurationen führen dazu, dass Anfragen schnell abgelehnt oder falsch weitergeleitet werden.
Lösung resolution
Gehen Sie wie folgt vor, um dieses Problem zu beheben:
- Identifizieren Sie den Veröffentlichungs-Host-Namen in Cloud Manager-Umgebungen und überprüfen Sie ihn, indem Sie die URL direkt in einen Browser laden, wo sie eine 403 oder eine ähnliche Antwort zurückgibt. Konfigurieren Sie den CDN- oder WAF-Ursprung so, dass er auf den genauen Veröffentlichungs-Host-Namen verweist, und legen Sie die Host-Kopfzeile, SNI, das Protokoll HTTPS und den Port 443 fest, damit der SSL-Handshake erfolgreich ist.
- Leiten Sie erforderliche Kopfzeilen vom CDN an Fastly weiter, indem Sie
X-AEM-Edge-Key,X-Forwarded-Host,X-Forwarded-Protound optional konfigurierenX-Forwarded-Forso erkennt Fastly die Anfrage als vertrauenswürdig und überprüft dann die Kopfzeilenweiterleitung mithilfe von Protokollen und cURL-Tests. - Wenn benutzerdefiniertes Routing erforderlich ist, committen Sie die
cdn.yamlim Cloud Manager-Git-Repository unter /config und fügen Sie die Ursprungsauswahlregeln hinzu. Führen Sie dann die Konfigurations-Pipeline aus, um eine erfolgreiche Bereitstellung sicherzustellen. - Konfigurieren Sie die Einschleusung von Geokopfzeilen mithilfe von CDN.yaml-Regeln zur Anfrageumwandlung, um vorhandene Adobe-Geokopfzeilen wie
x-aem-client-countryundx-aem-client-continentbenutzerdefinierten Kopfzeilen wieX-Forwarded-CountryundX-Forwarded-Regionzuzuordnen und die Umwandlung durch Kopfzeilenprüfung zu überprüfen. - Validieren Sie den DNS-Fluss, indem Sie die öffentliche Domain auf das Kunden-CDN verweisen und sicherstellen, dass das CDN Fastly und dann AEM anspricht, wodurch eine direkte DNS-Zuordnung zu Fastly für benutzerdefinierte Domains vermieden wird.
- Vergewissern Sie sich, dass Fastly sich immer zwischen dem Kunden-CDN und AEM befindet und nicht entfernt oder umgangen werden kann, führen Sie dann eine End-to-End-Validierung durch, indem Sie über die öffentliche Domain auf die Website zugreifen und Routing-, Header- und Caching-Verhalten mithilfe von Browser-Entwickler-Tools überprüfen.