修正AEMaaCS中的CDN路由和標題問題

AEMaaCS中的自訂CDN設定會失敗,因為來源設定不正確、缺少必要的標頭或路由規則設定錯誤。 AEM一律會透過Adobe管理的Fastly路由流量,這需要正確的主機名稱目標定位和接受請求的特定標題。 設定錯誤會導致路由失敗、SSL不相符,以及如​ 421 ​或​ 未知網域 ​等錯誤。 修正來源設定、標頭轉送和cdn.yaml路由,以解決問題並還原正確的請求流程。

說明 description

環境

  • Adobe Experience Manager as a Cloud Service (AEMaaCS)
  • AEM Managed Services
  • Adobe Developer App Builder

問題/症狀

  • 對AEM的請求失敗,出現Fastly 421​或​ 未知的網域 ​錯誤。
  • 客戶CDN無法連線至發佈端點。
  • 路由失敗或SSL不符發生。
  • 出現快取不一致的情況。
  • 移除或覆寫必要的標頭時,標頭型驗證會失敗。

根本原因

AEM as a Cloud Service在到達發佈層級之前,會先透過Fastly路由所有流量。 來自客戶CDN的請求必須包含必要的標頭,例如Host、SNI和X-AEM-Edge-Key,同時要鎖定正確的發佈主機名稱。 設定遺失或不正確導致Fastly拒絕或錯誤路由請求。

解決方法 resolution

若要解決此問題,請遵循下列步驟:

  1. 識別來自Cloud Manager環境的發佈主機名稱,並透過直接在瀏覽器中載入URL以進行驗證,其中它會傳回​ 403 ​或類似的回應。 設定CDN或WAF來源以指向精確的發佈主機名稱,並設定主機標頭、SNI、通訊協定HTTPS和連線埠​443,以便SSL交握成功。
  2. 透過設定X-AEM-Edge-KeyX-Forwarded-HostX-Forwarded-Proto以及選擇性的X-Forwarded-For,將必要的標頭從CDN轉送到Fastly,以便Fastly將請求識別為受信任,然後使用記錄檔和curl測試驗證標頭轉送。
  3. 如果需要自訂路由,請在/config下認可Cloud Manager Git存放庫中的cdn.yaml檔案並新增來源選擇器規則,然後執行設定管道以確保成功部署。
  4. 使用cdn.yaml要求轉換規則設定地理標頭插入,以將現有Adobe地理標頭(例如x-aem-client-countryx-aem-client-continent)對應到自訂標頭(例如X-Forwarded-CountryX-Forwarded-Region),並透過標頭檢查來驗證轉換。
  5. 透過將公共網域指向客戶CDN並確保CDN將目標鎖定在Fastly然後AEM來驗證DNS流程,避免自訂網域將直接DNS對應到Fastly。
  6. 確認Fastly一律位於客戶CDN和AEM之間且無法移除或略過,然後透過公共網域存取網站並使用瀏覽器開發人員工具驗證路由、標題和快取行為來執行端對端驗證。

相關閱讀

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