AEM as a Cloud Service est fourni avec un réseau de diffusion de contenu intégré. Son principal objectif est de réduire la latence en fournissant du contenu pouvant être mis en cache à partir des nœuds CDN en périphérie, près du navigateur. Il est entièrement géré et configuré afin de permettre des performances optimales des applications AEM.
Le réseau CDN géré par AEM satisfait à la plupart des exigences de performances et de sécurité des clients et clientes. Pour le niveau de publication, les clients et clientes peuvent éventuellement privilégier leur propre réseau CDN, mais il leur appartiendra de le gérer. Ce scénario sera possible au cas par cas, en fonction de certaines conditions préalables, y compris, mais sans s’y limiter, le fait que le client ou la cliente possède une ancienne intégration avec son fournisseur CDN, et qu’il soit difficile de l’abandonner.
Suivez les sections ci-dessous pour utiliser l’interface utilisateur en libre-service de Cloud Manager pour préparer la diffusion de contenu à l’aide du réseau CDN prêt à l’emploi d’AEM :
Limitation du trafic
Par défaut, dans le cas d’une configuration de réseau CDN géré par AEM, tout le trafic public peut se diriger vers le service de publication, tant pour les environnements de production que les environnements de non-production (de développement et d’évaluation). Vous pouvez limiter le trafic vers le service de publication pour un environnement donné (par exemple, en limitant l’évaluation par une plage d’adresses IP) au moyen de l’interface utilisateur de Cloud Manager.
Voir Gestion des Listes autorisées IP pour en savoir plus.
Seules les requêtes provenant des adresses IP autorisées sont traitées par le biais du réseau CDN géré par AEM. Si vous pointez votre propre réseau CDN sur le réseau géré par AEM, assurez-vous que les adresses IP de votre réseau CDN sont incluses dans la liste autorisée.
Si un client ou une cliente doit utiliser son réseau CDN existant, il ou elle peut le gérer et le pointer vers le réseau CDN géré par AEM, dans la mesure où les conditions suivantes sont satisfaites :
Instructions de configuration :
Pointez votre réseau CDN sur l’entrée du réseau CDN d’Adobe en tant que domaine d’origine. Par exemple, publish-p<PROGRAM_ID>-e<ENV-ID>.adobeaemcloud.com
.
Définissez le SNI sur l’entrée du réseau CDN d’Adobe.
Définissez l’en-tête hôte sur le domaine d’origine. Par exemple : Host:publish-p<PROGRAM_ID>-e<ENV-ID>.adobeaemcloud.com
.
Définissez l’en-tête X-Forwarded-Host
avec le nom de domaine afin qu’AEM puisse déterminer l’en-tête hôte. Par exemple : X-Forwarded-Host:example.com
.
Définir X-AEM-Edge-Key
. La valeur doit provenir d’Adobe.
X-Forwarded-*
à l’application AEM. Par exemple,X-Forwarded-For
est utilisé pour déterminer l’adresse IP du client. Il incombe donc à l’appelant approuvé (c’est-à-dire au réseau CDN géré par le client ou la cliente) de s’assurer que les en-têtes X-Forwarded-*
sont corrects (voir la note ci-dessous).X-AEM-Edge-Key
n’est pas présente. Informez Adobe si vous avez besoin d’un accès direct à l’entrée du CDN d’Adobe (à bloquer).Voir Exemples de configurations de fournisseur de réseau CDN pour consulter des exemples de configuration provenant de principaux fournisseurs de réseau CDN.
Avant d’accepter le trafic en direct, vous devez vérifier auprès du service clientèle d’Adobe que le routage du trafic de bout en bout fonctionne correctement.
Après avoir obtenu le X-AEM-Edge-Key
, vous pouvez tester la requête afin de déterminer si elle est correctement acheminée comme suit :
Sous 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>"
Sous 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>"
Lorsque vous utilisez votre propre réseau CDN, il n’est pas nécessaire d’installer les domaines et les certificats dans Cloud Manager. Le routage dans le réseau CDN d’Adobe est effectué à l’aide du domaine par défaut publish-p<PROGRAM_ID>-e<ENV-ID>.adobeaemcloud.com
qui doit être envoyé dans l’en-tête Host
de la requête. Le remplacement de l’en-tête Host
de la requête par un nom de domaine personnalisé peut entraîner un routage incorrect de la requête par le réseau CDN d’Adobe.
Les clients qui gèrent leur propre réseau de diffusion de contenu doivent garantir l’intégrité des en-têtes envoyés au réseau de diffusion de contenu AEM. Par exemple, il est recommandé aux clients d’effacer tous les en-têtes X-Forwarded-*
et de les définir sur des valeurs connues et contrôlées. Par exemple, X-Forwarded-For
doit contenir l’adresse IP du client, tandis que X-Forwarded-Host
doit contenir l’hôte du site.
Les environnements de programme Sandbox ne prennent pas en charge un réseau CDN fourni par le client.
Le passage du réseau CDN client au réseau CDN géré par AEM n’est nécessaire que dans le cas d’une interruption du cache. En utilisant les stratégies d’optimisation du cache décrites dans cet article, l’ajout d’un réseau CDN client ne doit introduire qu’une latence négligeable.
Cette configuration de réseau CDN client est prise en charge pour le niveau de publication, mais pas au niveau de la création.
Vous trouverez ci-dessous plusieurs exemples de configuration de plusieurs grands fournisseurs de réseau CDN.
Akamai
Amazon CloudFront
Cloudflare
Le réseau CDN géré par AEM ajoute des en-têtes à chaque requête avec les éléments suivants :
x-aem-client-country
x-aem-client-continent
Si le réseau CDN est géré par le client, ces en-têtes reflètent l’emplacement du serveur proxy du réseau CDN des clients plutôt que le client réel. Par conséquent, pour le réseau CDN géré par le client, les en-têtes de géolocalisation doivent être gérés par le réseau CDN client.
Les valeurs des codes de pays sont les codes Alpha-2 décrits ici.
Les valeurs des codes du continent sont les suivantes :
Ces informations peuvent s’avérer utiles dans certains cas d’utilisation, tels que la redirection vers une URL différente en fonction de l’origine (pays) de la requête. Utilisez l’en-tête Vary pour mettre en cache les réponses qui dépendent des informations géographiques. Par exemple, les redirections vers la page de destination d’un pays spécifique doivent toujours contenir Vary: x-aem-client-country
. Si nécessaire, vous pouvez utiliser Cache-Control: private
pour empêcher la mise en cache. Voir aussi Mise en cache.