AEM as a Cloud Service 中的 CDN cdn

AEM as a Cloud Service隨附整合式CDN,旨在從接近使用者瀏覽器的邊緣節點提供可快取的內容,以降低延遲時間。 這個完全受管理的CDN已針對AEM應用程式效能最佳化。

AEM管理的CDN符合大部分客戶的效能與安全性需求。 對於發佈層級,客戶可以選擇透過他們自己的CDN路由流量,他們必須管理此CDN。 此選項依具體情況而定,尤其是當客戶與難以取代的CDN提供者已有舊版整合時。

想要發佈至Edge Delivery Services階層的客戶,可利用Adobe的受管理CDN。 檢視Adobe管理的CDN

Adobe 管理的 CDN aem-managed-cdn

若要透過Cloud Manager的自助UI使用AEM的內建CDN為內容傳送做好準備,您可以利用Adobe的受管CDN功能。 此功能可讓您處理自助式CDN管理,包括設定和安裝SSL憑證,例如DV (網域驗證)或EV/OV (延伸/組織驗證)憑證。 如需這些方法的詳細資訊,請參閱下列內容:

限制流量

根據預設,對於AEM管理的CDN設定,所有公用流量都可以在生產和非生產(開發和中繼)環境中前往發佈服務。 您可以透過Cloud Manager使用者介面限制特定環境的發佈服務流量(例如,依IP位址範圍限制分段)。

如需詳細資訊,請參閱管理 IP 允許清單

CAUTION
AEM管理的CDN只會提供來自允許IP的請求。 如果您將自己的CDN指向AEM管理的CDN,則請確定CDN的IP包含在IP允許清單中。

在CDN設定流量 cdn-configuring-cloud

您可以透過多種方式設定CDN的流量,包括:

使用Git中的YAML檔案來設定這些功能。 而且,請使用Cloud Manager 設定管道來部署它們。

設定CDN錯誤頁面 cdn-error-pages

您可以設定CDN錯誤頁面來取代預設的非品牌頁面。 在極少數無法使用AEM的情況下,會顯示此自訂頁面。 如需詳細資訊,請參閱設定CDN錯誤頁面

清除CDN上的快取內容 purge-cdn

使用 HTTP Cache-Control 標頭設定 TTL 是平衡內容傳遞效能和內容新鮮度的有效方法。不過,在必須立即提供更新內容的情況下,直接清除CDN快取可能會有助益。

閱讀有關設定清除API Token清除快取的CDN內容的資訊。

CDN的基本驗證 basic-auth

對於輕度驗證使用案例,包括商務利害關係人審查內容,顯示需要使用者名稱和密碼的基本驗證對話方塊以保護內容。 了解更多

客戶管理的內容傳遞網路會指向 AEM 管理的內容傳遞網路 point-to-point-CDN

如果客戶必須使用其現有的CDN,則可以管理該CDN,並將其指向AEM管理的CDN,前提是滿足以下條件:

  • 客戶必須擁有現有的CDN,且必須重新安裝CDN,如此將十分麻煩。
  • 客戶必須管理它。
  • 客戶必須能夠設定CDN以搭配AEM as a Cloud Service使用 — 請參閱下方呈現的設定指示。
  • 客戶必須有隨時待命的工程CDN專家,以備出現相關問題時使用。
  • 客戶在前往生產環境之前,必須先執行並成功通過負載測試。

設定指示:

  1. 將您的CDN指向AdobeCDN的輸入作為其原始網域。 例如,publish-p<PROGRAM_ID>-e<ENV-ID>.adobeaemcloud.com

  2. 將SNI設為AdobeCDN的入口。

  3. 將Host標頭設定為原始網域。 例如:Host:publish-p<PROGRAM_ID>-e<ENV-ID>.adobeaemcloud.com

  4. 使用網域名稱設定X-Forwarded-Host標頭,讓AEM可以判斷主機標頭。 例如:X-Forwarded-Host:example.com

  5. 設定X-AEM-Edge-Key。 應該使用Cloud Manager設定管道來設定值,如本文章所述。

    • 需要,以便AdobeCDN可以驗證要求的來源,並將X-Forwarded-*標頭傳遞至AEM應用程式。 例如,X-Forwarded-For是用來判斷使用者端IP。 因此,受信任的呼叫者(即客戶管理的CDN)有責任確保X-Forwarded-*標頭的正確性(請參閱以下附註)。
    • 您可以選擇是否在X-AEM-Edge-Key不存在時封鎖對AdobeCDN輸入端的存取。 如果您需要直接存取AdobeCDN的入口(將被封鎖),請通知Adobe。

請參閱範例CDN廠商組態一節,以取得主要CDN廠商的組態範例。

在接受即時流量之前,您應該向Adobe的客戶支援驗證端對端流量路由是否正常運作。

設定X-AEM-Edge-Key後,您可以依照以下方式測試要求是否正確路由。

在Linux®中:

curl https://publish-p<PROGRAM_ID>-e<ENV-ID>.adobeaemcloud.com -H "X-Forwarded-Host: example.com" -H "X-AEM-Edge-Key: <PROVIDED_EDGE_KEY>"

在Windows中:

curl https://publish-p<PROGRAM_ID>-e<ENV-ID>.adobeaemcloud.com --header "X-Forwarded-Host: example.com" --header "X-AEM-Edge-Key: <PROVIDED_EDGE_KEY>"
NOTE
使用您自己的CDN時,您不需要在Cloud Manager中安裝網域和憑證。 AdobeCDN中的路由是使用預設網域publish-p<PROGRAM_ID>-e<ENV-ID>.adobeaemcloud.com完成的,該預設網域應在請求Host標頭中傳送。 以自訂網域名稱覆寫要求Host標頭可能會透過AdobeCDN將要求錯誤路由。
NOTE
管理自己CDN的客戶應確保傳送至AEM CDN的標頭的完整性。 例如,建議客戶清除所有X-Forwarded-*標頭,並將它們設定為已知和控制值。 例如,X-Forwarded-For應包含使用者端的IP位址,而X-Forwarded-Host應包含網站的主機。
NOTE
沙箱計畫環境不支援客戶提供的CDN。

只有在發生快取遺失時,才需要客戶CDN和AEM CDN之間的額外躍點。 使用本文所述的快取最佳化策略,新增客戶CDN應該只會帶來可忽略的延遲。

發佈層級支援此客戶CDN設定,但製作層級前不支援。

CDN廠商設定範例 sample-configurations

以下提供數家領先CDN廠商的數個設定範例。

Akamai

Akamai1 Akamai2

Amazon CloudFront

CloudFront1 CloudFront2

Cloudflare

Cloudflare1 Cloudflare2

常見錯誤 common-errors

提供的設定範例顯示所需的基本設定。 但是,客戶設定可能有其他影響規則,這些規則會移除、編輯或重新排列AEM as a Cloud Service提供流量所需的標頭。 以下是在設定客戶管理的CDN以指向AEM as a Cloud Service時發生的常見錯誤。

重新導向至發佈服務端點

當請求收到403禁止的回應時,表示請求缺少某些必要的標頭。 發生此情況的常見原因是CDN同時管理Apex和www網域流量,但未為www網域新增正確的標頭。 可透過檢查您的AEM as a Cloud Service CDN記錄並驗證所需的請求標頭來測試此問題。

太多重新導向回圈

當頁面收到「太多重新導向」回圈時,系統會在CDN新增一些要求標題,以符合強制傳回本身的重新導向。 例如:

  • 建立CDN規則以比對Apex網域或www網域,並僅新增Apex網域的X-Forwarded-Host標頭。
  • Apex網域的請求符合此CDN規則,這會將Apex網域新增為X-Forwarded-Host標頭。
  • 要求會傳送到來源,其中重新導向明確符合Apex網域的主機標頭(例如^example.com)。
  • 會觸發重寫規則,將Apex網域的請求重寫為包含www子網域的https。
  • 該重新導向會傳送至客戶的邊緣,而重新觸發CDN規則時,會針對Apex網域(而非www子網域)重新新增X-Forwarded-Host標頭。 接著,程式會重新開始,直到要求失敗為止。

若要解決此問題,請評估您的SSL重新導向策略、CDN規則、重新導向及重寫規則組合。

地理位置標題 geo-headers

AEM Managed CDN會新增標頭至具有下列各項的每個要求:

  • 國家/地區代碼: x-aem-client-country
  • 大陸代碼: x-aem-client-continent
NOTE
如果有客戶管理的CDN,這些標題會反映客戶的CDN Proxy伺服器的位置,而非實際使用者端。 客戶使用客戶管理的CDN時,應透過自己的CDN管理地理位置標題。

國家/地區代碼的值是ISO 3166-1中描述的Alpha-2代碼。

大陸代碼的值如下:

  • AF非洲
  • 南極洲
  • 作為亞洲
  • 歐盟歐洲
  • NA北美洲
  • OC大洋洲
  • 南美洲南美洲

根據請求的來源國家/地區,此資訊對於重新導向至不同的URL非常有用。 根據地理資訊來快取回應時,請使用Vary標頭。 例如,重新導向至特定國家/地區的登陸頁面應一律包含Vary: x-aem-client-country。 如有需要,您可以使用Cache-Control: private來防止快取。 另請參閱快取

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab