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