當CDN來源覆寫僅適用於根路徑時,使用者端程式庫請求在AEM as a Cloud Service中傳回421

在AEMaaCS中,客戶管理的CDN可正確提供首頁,但在來源覆寫僅套用至根路徑時,使用者端程式庫請求會傳回421錯誤。 當CDN未在所有路徑上傳送必要的主機和SNI值,因此/etc.clientlibs/...之類的要求不再符合預期的TLS憑證路由時,就會發生這種情況。 即使根URL似乎有效,結果也會導致錯誤導向的請求錯誤。 將CDN來源覆寫套用至所有必要的路徑,然後使用curlx-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錯誤,請執行下列步驟:

  1. 檢閱客戶管理的CDN設定,以取得來源、主機和SNI覆寫。
  2. 更新規則,讓必要的覆寫作業適用於必須透過AEMaaCS提供服務的所有路徑,而不只是根路徑。
  3. 檢查資產路徑(例如/etc.clientlibs/...),並確認它們包含在相同的路由規則集中。
  4. 檢查規則順序和優先順序,防止較窄的根路徑規則封鎖資產請求的覆寫。
  5. 使用curl重新測試受影響的CSS或JavaScript檔案路徑,並確認它們不再傳回421
  6. 在瀏覽器中開啟網站,並確認使用者端程式庫正確載入,且頁面不會遺失樣式或指令碼而呈現。
  7. 如果直接發佈端點也失敗,或是在修正CDN路徑規則後421回應繼續,請聯絡Adobe支援並提供受影響路徑的curl -sv輸出和CDN規則設定。

相關閱讀

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