修正AEM as a Cloud Service中的使用者端網域路由問題
當Dispatcher陣列設定錯誤時,Adobe Experience Manager as a Cloud Service (AEMaaCS)中的使用者端網域路由會失敗,導致請求預設到錯誤的陣列。 若要解決此問題,請驗證Dispatcher設定、更新虛擬主機別名、重新命名伺服器陣列檔案以修正排序、檢閱使用者端標題,以及驗證CDN設定以取得正確的網域對應。
說明 description
環境
Adobe Experience Manager as a Cloud Service (AEMaaCS) — 使用Akamai CDN搭配網域憑證和多個自訂網域的網站、生產環境。
問題/症狀
- Dispatcher記錄會顯示警告,例如: 沒有陣列符合主機'localhost',選取的最後一個陣列'publishfarm'。
- Dispatcher設定似乎會依照相反的字母順序排列已啟用的陣列的優先順序。
enabled_vhosts與enabled_farms目錄中的檔案遺漏符號連結。- 虛擬主機組態中沒有某些必要的伺服器別名,例如
localhost、127.0.0.1。
解決方法 resolution
若要解決此問題,請遵循下列步驟:
-
驗證Dispatcher設定:
- 在本機使用Dispatcher驗證工具來識別目前設定中的任何錯誤或警告。
- 請確定
enabled_vhosts和enabled_farms目錄中的所有檔案都是符號連結。
-
更新虛擬主機組態: 確認虛擬主機專案包含所有必要的伺服器別名:
ServerAlias "*example.com" "*.local" "localhost" "127.0.0.1" "*.adobeaemcloud.net" "*.adobeaemcloud.com" -
重新命名已啟用的陣列: 從已啟用的陣列檔案名稱中移除數字首碼(例如
00_、01_),因為這些首碼可能會在陣列選取期間造成反向字母順序問題。 -
啟用偵錯記錄: 將Dispatcher記錄檔設定為偵錯模式,並擷取與伺服器陣列選擇或錯誤發生次數相關的記錄檔片段,以供進一步分析。
-
檢閱使用者端標頭規則: 檢查硬式編碼預留位置值(例如
clientheaders.any)的使用者端標頭規則(例如default_clientheaders.any和'localhost')。 請以傳入請求的適當對應取代這些對應。 -
本機測試變更: 在本機Dispatcher執行個體上部署更新的設定,並在將變更套用至生產環境之前驗證功能。
-
部署更新的設定: 驗證後,請使用您的管道工具部署更新的Dispatcher設定。
-
驗證CDN設定:
- 確保CDN已正確設定為使用客戶網域名稱。
- 驗證X-Forwarded-Host標頭是否已正確設定,且未包含
'localhost'等預留位置值。
-
重新測試網域路由: 部署後,請測試每個自訂網域,以確認要求已正確路由至其各自的陣列。
-
部署後監視記錄檔: 部署後繼續監視Dispatcher記錄檔,以識別任何異常或週期性問題。