當CDN來源覆寫僅適用於根路徑時,使用者端程式庫請求在AEM as a Cloud Service中傳回421
在AEMaaCS中,客戶管理的CDN可正確提供首頁,但在來源覆寫僅套用至根路徑時,使用者端程式庫請求會傳回421錯誤。 當CDN未在所有路徑上傳送必要的主機和SNI值,因此/etc.clientlibs/...之類的要求不再符合預期的TLS憑證路由時,就會發生這種情況。 即使根URL似乎有效,結果也會導致錯誤導向的請求錯誤。 將CDN來源覆寫套用至所有必要的路徑,然後使用curl和x-aem-debug驗證受影響的資產請求。
說明 description
環境
- Adobe Experience Manager as a Cloud Service
- 客戶管理的CDN
問題/症狀
- 網站根目錄已載入,但
/etc.clientlibs/...下的使用者端程式庫檔案會失敗。 - 要求傳回
421 Misdirected Request。 - 回應包含類似於
Requested host does not match any Subject Alternative Names (SANs) on TLS certificate的訊息。 - 即使首頁面顯示為可存取,CSS或JavaScript檔案仍無法載入。
原因
客戶管理的CDN未將正確來源、主機或SNI覆寫套用至所有必須轉送至AEM as a Cloud Service的路徑。 當覆寫限製為根路徑時,對/etc.clientlibs/...等資產的請求會以不正確的路由值轉送,Fastly會以421回應拒絕這些請求。
解決方法 resolution
若要解決當CDN來源覆寫僅套用至根路徑時使用者端程式庫請求的421錯誤,請執行下列步驟:
- 檢閱客戶管理的CDN設定,以取得來源、主機和SNI覆寫。
- 更新規則,讓必要的覆寫作業適用於必須透過AEMaaCS提供服務的所有路徑,而不只是根路徑。
- 檢查資產路徑(例如
/etc.clientlibs/...),並確認它們包含在相同的路由規則集中。 - 檢查規則順序和優先順序,防止較窄的根路徑規則封鎖資產請求的覆寫。
- 使用
curl重新測試受影響的CSS或JavaScript檔案路徑,並確認它們不再傳回421。 - 在瀏覽器中開啟網站,並確認使用者端程式庫正確載入,且頁面不會遺失樣式或指令碼而呈現。
- 如果直接發佈端點也失敗,或是在修正CDN路徑規則後421回應繼續,請聯絡Adobe支援並提供受影響路徑的
curl -sv輸出和CDN規則設定。
相關閱讀
- AEM as a Cloud Service中的CDN
- 在CDN設定流量
- Cloud 5 AEM CDN Part2
recommendation-more-help
experience-cloud-kcs-help-kbarticles