在AEM中使用多個Dispatcher陣列設定目標快取逐出

在AEM中設定多個Dispatcher陣列可能會導致快取排清請求在使用localhost URL時路由不正確。 本文說明如何使用主機型URL來設定第二個Dispatcher排清代理程式,以確保GraphQL快取收回鎖定正確的網域和docroot。

說明 description

環境

  • 產品: Adobe Experience Manager (AEM)內部部署
  • 版本: 6.5
  • Apache版本: 2.2 (本機測試)
  • 組態:同一Apache執行個體上有多個陣列和虛擬主機;每個網域都有不同的docroots

問題/症狀

  • 用於特定網域的快取排清請求錯誤地路由到同一個陣列,導致所有無效設定僅影響一個docroot,無論請求的路徑或網域為何。
  • 在排清代理程式中使用localhost URL時,就會發生這種情況,導致所有請求因主機標頭評估而由上次載入的陣列處理。

解決方法 resolution

若要解決此問題,請遵循下列步驟:

  1. 確保每個Dispatcher陣列都設定了與其預期網域極為相符的相異虛擬主機模式。
  2. 設定Apache虛擬主機,讓每個ServerName或ServerAlias都對應至每個網域。
  3. 對於本機環境,請在主機檔案中新增專案,將每個網域對應至適當的IP位址。
  4. 將AEM排清代理程式設定為使用以主機為基礎的URL,而非本機主機的URL。
  5. 如果發佈和Dispatcher伺服器位在不同電腦上,請確定來自發佈伺服器的DNS或主機檔案解析將這些主機名稱指向Dispatcher伺服器的IP位址。
  6. 確認Apache在正確的連線埠(例如連線埠80)上接聽不會發生衝突。
  7. 透過觀察正確的路由行為,驗證透過排清代理程式傳送的快取失效請求到達各自的陣列和Docroot。

附註

  • Dispatcher會嚴格根據HTTP主機標題而不是URL路徑區段來評估陣列。
  • 在排清代理程式URL中使用localhost,會導致所有請求的Host標頭都設為localhost,導致遞補路由傳送到上次載入的陣列。
  • 所述設定適用於發佈和Dispatcher是否在同一台或不同伺服器上執行,前提是主機名稱解析度設定正確。
  • 如果Apache已在具有適當主機對應的連線埠80上接聽,則不需要進行其他變更。
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f