適用於客戶管理的CDN之421 TLS SAN不相符錯誤的AEM解決方案
當客戶管理的CDN、Proxy或WAF將錯誤的Host標頭或SNI值傳送到Adobe Experience Manager as a Cloud Service的Adobe輸入網域時,可能會發生HTTP 421 TLS SAN不相符錯誤。 在許多情況下,請求也會失敗,因為必要的轉送標題遺失或不完整。 更新原始設定,讓CDN使用Adobe入口網域作為主機和SNI,同時轉送原始網站網域和任何必要的驗證標題,通常就能解決問題。
說明 description
環境
Adobe Experience Manager as a Cloud Service
問題/症狀
當客戶管理的CDN、WAF、Proxy或負載平衡器轉送不符合AEM發佈來源之Adobe入口網域的主機標題或SNI值時,您可能會看到此問題。
- 請求在到達發佈層級之前失敗,並傳回HTTP 421錯誤導向請求。
- 回應可能會指出請求的主機不符合憑證主體替代名稱。
- 在某些以Proxy為基礎的部署中,您可能會看到指出主機不符合SNI的訊息。
- 您可以透過比較來源請求設定與Adobe入口網域並直接測試來源來確認問題。 格式正確的請求通常會傳回HTTP 200或301,而不相符的主機或SNI值可能會傳回HTTP 421。
解決方法 resolution
請嘗試下列步驟來解決問題:
- 識別Cloud Manager中受影響發佈環境的Adobe輸入網域,並使用
publish-p<program>-e<environment>.adobeaemcloud.com格式的發佈網域作為原始目標。 這可確保您將請求路由傳送到環境的正確Adobe端點。 直接測試傳入網域並確認格式正確的請求傳回HTTP 200或301回應,以驗證值。 - 設定您的CDN、Proxy或WAF以使用Adobe輸入網域作為來源SNI值。 這可讓TLS交握使用符合Adobe入口網域的憑證。 驗證CDN或Proxy偵錯輸出中的設定,並確認SNI值與Adobe輸入網域完全相符。
- 將原始主機標頭設定為相同的Adobe輸入網域。 這有助於要求符合Adobe管理的CDN基礎結構預期的憑證和路由目標。 透過重新測試請求並確認先前的HTTP 421 SAN不相符錯誤不再發生來驗證變更,因為主機或憑證不相符。
- 轉送
X-Forwarded-Host標頭中的原始網站網域,以便在請求到達來源後,AEM可以正確解析傳入網域。 這可確保在面向客戶的網域中,以主機為基礎的路由可繼續如預期運作。 確認要求解析至預期的網站或虛擬主機,以驗證行為。 - 如果您的設定使用客戶管理的CDN驗證,請設定並傳送在Cloud Manager中為環境定義的
X-AEM-Edge-Key值。 這可讓Adobe管理的CDN服務將請求識別為受信任,並正確處理轉送的標頭。 確認請求不再因缺少Edge驗證而失敗,以驗證設定。 - 以端對端方式重新測試請求。 如果您使用cURL進行驗證,請將Adobe輸入網域設為目標,並包含必要的
Host、X-Forwarded-Host,以及必要時的X-AEM-Edge-Key標頭。 預期的結果是要求傳回HTTP 200或301,而不是HTTP 421。 確認瀏覽器和cURL測試現在都成功路由到預期的網站,以驗證結果。
如果出現以下症狀且疑難排解步驟產生以下結果,請向Adobe支援提交票證:
- HTTP 421會在原始網域、主機標題和SNI值都符合Adobe傳入網域之後繼續。
- 在您轉寄
X-Forwarded-Host及必要時,轉寄有效的X-AEM-Edge-Key後,要求仍會失敗。 - 您的CDN、Proxy或WAF無法覆寫原始請求的主機標頭或SNI值。
開啟案例,並包含確切的錯誤文字、受影響的網域、Adobe輸入網域、淨化測試結果以及任何相關的CDN偵錯輸出。
相關閱讀
- AEM as a Cloud Service中的CDN
- 設定CDN認證和驗證
- 使用客戶管理的 CDN 自訂網域名稱
- 修正AEMaaCS中的CDN路由和標題問題
recommendation-more-help
experience-cloud-kcs-help-kbarticles