CDN in AEM as a Cloud Service cdn
AEM as a Cloud Service viene fornito con una rete CDN integrata. Il suo scopo principale è ridurre la latenza distribuendo contenuti memorizzabili nella cache dai nodi della CDN al perimetro, vicino al browser. È completamente gestita e configurata per garantire prestazioni ottimali alle applicazioni AEM.
La rete CDN gestita dall'AEM soddisfa i requisiti di prestazioni e sicurezza della maggior parte dei clienti. Per il livello di pubblicazione, i clienti possono facoltativamente puntare a essa dalla propria CDN, che dovranno gestire. Questo scenario viene consentito caso per caso, in base al rispetto di alcuni prerequisiti, come ad esempio la presenza di un’eventuale integrazione precedente del cliente presso il proprio fornitore di CDN che sia difficile da abbandonare.
CDN gestita da AEM aem-managed-cdn
Segui le sezioni riportate di seguito per utilizzare l’interfaccia utente self-service di Cloud Manager in preparazione alla distribuzione dei contenuti tramite CDN preconfigurata AEM:
Limitazione del traffico
Per impostazione predefinita, per una configurazione CDN gestita dall’AEM tutto il traffico pubblico può indirizzarsi al servizio di pubblicazione, sia per gli ambienti di produzione che per quelli non di produzione (sviluppo e stage). Puoi limitare il traffico verso il servizio di pubblicazione per un dato ambiente (ad esempio, limitando la gestione temporanea da un intervallo di indirizzi IP) tramite l’interfaccia utente di Cloud Manager.
Per ulteriori informazioni, vedi Gestione degli elenchi IP consentiti.
La CDN del cliente punta alla CDN gestita dall’AEM point-to-point-CDN
Se un cliente deve utilizzare la propria rete CDN esistente, può gestirla e puntarla alla rete CDN gestita dall’AEM, purché siano soddisfatte le seguenti condizioni:
- Il cliente deve disporre di una rete CDN esistente che potrebbe essere onerosa da sostituire.
- Il cliente deve gestirlo.
- Il cliente deve essere in grado di configurare la rete CDN in modo che funzioni con AEM as a Cloud Service; consulta le istruzioni di configurazione riportate di seguito.
- Il cliente deve disporre di esperti CDN tecnici che siano di guardia in caso di problemi correlati.
- Il cliente deve eseguire e superare con successo un test di carico prima di passare alla produzione.
Istruzioni di configurazione:
-
Puntare la CDN all’ingresso della CDN Adobe come dominio di origine. Esempio:
publish-p<PROGRAM_ID>-e<ENV-ID>.adobeaemcloud.com
. -
Impostare SNI sull'ingresso della rete CDN in Adobe.
-
Imposta l’intestazione Host sul dominio di origine. Esempio:
Host:publish-p<PROGRAM_ID>-e<ENV-ID>.adobeaemcloud.com
. -
Imposta il
X-Forwarded-Host
con il nome di dominio in modo che l’AEM possa determinare l’intestazione dell’host. Esempio:X-Forwarded-Host:example.com
. -
Imposta
X-AEM-Edge-Key
. Il valore deve provenire da Adobe.- Necessario affinché il CDN Adobe possa convalidare l’origine delle richieste e trasmettere
X-Forwarded-*
intestazioni per l’applicazione AEM. Ad esempio:X-Forwarded-For
viene utilizzato per determinare l’IP del client. Pertanto, è responsabilità del chiamante fidato (ovvero, la rete CDN gestita dal cliente) garantire la correttezza delX-Forwarded-*
intestazioni (vedi la nota seguente). - Facoltativamente, l’accesso alla rete CDN Adobe può essere bloccato quando un utente
X-AEM-Edge-Key
non è presente. Informa l’Adobe se hai bisogno di accedere direttamente all’ingresso della rete CDN di Adobe (da bloccare).
- Necessario affinché il CDN Adobe possa convalidare l’origine delle richieste e trasmettere
Consulta la Esempio di configurazioni fornitore CDN sezione per esempi di configurazione dei principali fornitori CDN.
Prima di accettare il traffico in tempo reale, è necessario verificare con l’Assistenza clienti di Adobe che il routing del traffico end-to-end funzioni correttamente.
Dopo aver ottenuto il X-AEM-Edge-Key
, puoi verificare che la richiesta sia indirizzata correttamente come segue.
In 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>"
In 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>"
publish-p<PROGRAM_ID>-e<ENV-ID>.adobeaemcloud.com
da inviare nella richiesta Host
intestazione. Sovrascrittura della richiesta Host
Se l’intestazione presenta un nome di dominio personalizzato, la richiesta potrebbe essere instradata in modo errato dal CDN Adobe.X-Forwarded-*
e impostarle su valori noti e controllati. Ad esempio: X-Forwarded-For
deve contenere l’indirizzo IP del client, mentre X-Forwarded-Host
deve contenere l’host del sito.L’hop aggiuntivo tra la rete CDN del cliente e la rete CDN dell’AEM è necessario solo in caso di errore della cache. Utilizzando le strategie di ottimizzazione della cache descritte in questo articolo, l’aggiunta di una rete CDN del cliente dovrebbe introdurre solo una latenza trascurabile.
Questa configurazione CDN del cliente è supportata per il livello di pubblicazione, ma non prima del livello di authoring.
Esempio di configurazioni fornitore CDN sample-configurations
Di seguito sono riportati diversi esempi di configurazione di diversi fornitori CDN leader.
Akamai
Amazon CloudFront
Nuvola
Intestazioni di geolocalizzazione geo-headers
Il CDN gestito da AEM aggiunge intestazioni a ogni richiesta con:
- codice paese:
x-aem-client-country
- Codice continente:
x-aem-client-continent
I valori per i codici dei paesi sono i codici Alpha-2 descritti qui.
I valori per i codici continente sono:
- AF Africa
- AN Antartide
- AS Asia
- Europa UE
- NA Nord America
- OC Oceania
- SA Sud America
Queste informazioni possono essere utili per casi d’uso come il reindirizzamento a un URL diverso in base all’origine (paese) della richiesta. Utilizza l’intestazione Vary per memorizzare nella cache le risposte che dipendono dalle informazioni geografiche. Ad esempio, i reindirizzamenti a una pagina di destinazione di un paese specifico devono sempre contenere Vary: x-aem-client-country
. Se necessario, puoi utilizzare Cache-Control: private
per impedire il caching. Vedi anche Memorizzazione in cache.