Periodisch auftretende CORS-Verletzungen beim Einbetten von Edge Delivery Services-Inhalten in AEM Sites

In diesem Artikel wird erläutert, wie Sie gelegentlich auftretende Verstöße gegen CORS (Cross-Origin Resource Sharing) beim Einbetten von Adobe Experience Manager (AEM) Edge Delivery Services (EDS)-Ressourcen in Adobe Experience Manager (AEM) Sites-Seiten mithilfe des aem.live-Einbettungsansatzes beheben können. Diese Probleme können sich auf Anfragen für JavaScript-Dateien, APIs und andere Ressourcen auswirken, die auf der EDS-Website gehostet werden, was zu inkonsistentem Ladeverhalten führt. Um das Problem zu beheben, validieren Sie CORS-Header und untersuchen Sie Caching- oder propagationsbezogene Inkonsistenzen.

Beschreibung description

Umgebung

  • Adobe Experience Manager (AEM) Sites (alle Versionen)
  • Edge Delivery Services (ED)

Problem/Symptome

  • Ressourcenanforderungen schlagen aufgrund von CORS-Richtlinienverstößen gelegentlich fehl.
  • Browser-Konsolenfehler weisen auf CORS-bedingte Fehler hin.
  • Das Problem tritt zufällig auf und betrifft nicht jede Anfrage.
  • Anfragen für eingebettete EDS-Ressourcen wie JavaScript-Dateien oder APIs können unerwartet fehlschlagen.

Grundursache

Intermittierende CORS-Verletzungen können auftreten, wenn die erforderlichen Antwort-Header nicht bei jeder Anfrage konsistent zurückgegeben werden. Dieses Verhalten kann auf Konfigurationsprobleme, Caching-Inkonsistenzen oder Übertragungsverzögerungen über CDN- oder Edge-Bereitstellungsebenen hinweg zurückzuführen sein.

Lösung resolution

Gehen Sie wie folgt vor, um das Problem zu beheben:

  1. Stellen Sie sicher, dass die EDS-Website so konfiguriert ist, dass sie den entsprechenden Access-Control-Allow-Origin-Header für alle Ressourcen zurückgibt, auf die von AEM Sites-Seiten zugegriffen wird, einschließlich JavaScript-Dateien und API-Endpunkten. Vergewissern Sie sich, dass die konfigurierten Header-Werte mit den Ursprüngen der Anfragen übereinstimmen.
  2. Überprüfen Sie die Konfiguration des HTTP-Header-Editors und stellen Sie sicher, dass die Header-Regeln über alle erforderlichen Pfade und Dateitypen hinweg konsistent angewendet werden. Prüfen Sie auf fehlende, überlappende oder in Konflikt stehende Regeln, die zu inkonsistenter Kopfzeilenbereitstellung führen könnten.
  3. Erfassen Sie eine HAR-Datei beim Reproduzieren des Problems. Aktivieren Sie Protokoll beibehalten auf der Registerkarte Netzwerk des Browsers und überprüfen Sie die fehlschlagenden Anfragen, um festzustellen, ob der Access-Control-Allow-Origin-Header vorhanden ist und ob er mit dem Origin der Anfrage übereinstimmt. Überprüfen Sie außerdem, ob OPTIONS PreFlight-Anfragen fehlschlagen oder unerwartete Antworten zurückgeben.
  4. Wenn die CORS-Header richtig konfiguriert sind, aber gelegentlich fehlen, untersuchen Sie das CDN- und Edge-Cache-Verhalten. Testen Sie mit Cache-Busting-Parametern oder bereinigen Sie die relevanten Caches, um veraltete oder inkonsistente zwischengespeicherte Antworten auszuschließen.
  5. Wenn das Problem weiterhin besteht, erfassen Sie HAR-Dateien zusammen mit Screenshots der HTTP-Header-Editor-Konfiguration und stellen Sie sie dem Adobe-Support zur weiteren Analyse bereit.
  6. Überprüfen Sie die Auflösung, indem Sie bestätigen, dass Anfragen von AEM Sites an EDS-Ressourcen durchgängig erfolgreich sind und keine CORS-Fehler in der Browser-Konsole angezeigt werden.
recommendation-more-help
experience-cloud-kcs-help-kbarticles