CDN no AEM as a Cloud Service cdn

O AEM as Cloud Service é enviado com uma CDN pré-criada. Seu principal objetivo é reduzir a latência, fornecendo conteúdo que pode ser armazenado em cache a partir dos nós CDN na borda, perto do navegador. Ele é totalmente gerenciado e configurado para obter o desempenho ideal dos aplicativos AEM.

A CDN gerenciada por AEM atende à maioria dos requisitos de desempenho e segurança do cliente. Para o nível de publicação, os clientes têm a opção de apontar para ela a partir de sua própria CDN, a qual precisarão gerenciar. Isso será permitido caso a caso, com base no cumprimento de certos pré-requisitos, incluindo, entre outros, uma integração herdada do cliente com seu fornecedor de CDN que seja difícil de abandonar.

CDN gerenciada por AEM aem-managed-cdn

Siga as seções abaixo para usar a interface de autoatendimento do Cloud Manager para se preparar para a entrega de conteúdo usando a CDN pronta para uso do AEM:

Restringindo o tráfego

Por padrão, para uma configuração de CDN gerenciada pelo AEM, todo o tráfego público pode chegar ao serviço de publicação para ambientes de produção e não produção (desenvolvimento e preparo). É possível limitar o tráfego para o serviço de publicação de um determinado ambiente (por exemplo, limitação de preparo por um intervalo de endereços IP) por meio da interface do usuário do Cloud Manager.

Consulte Gerenciamento de listas de permissões de IP para saber mais.

CAUTION
Somente as solicitações dos IPs permitidos são atendidas pelo CDN gerenciado pelo AEM. Se você apontar seu próprio CDN para o CDN gerenciado por AEM, verifique se os IPs do seu CDN estão incluídos no incluo na lista de permissões.

Configuração do tráfego no CDN cdn-configuring-cloud

Você pode configurar o tráfego na CDN de várias maneiras, incluindo:

Saiba como configurar esses recursos usando arquivos YAML no Git e implantando-os usando o Pipeline de configuração do Cloud Manager.

Configuração de páginas de erro do CDN cdn-error-pages

Uma página de erro CDN pode ser configurada para substituir a página padrão, sem marca, fornecida ao navegador no raro evento de não conseguir acessar o AEM. Para obter mais detalhes, consulte Configurando páginas de erro da CDN.

Limpar conteúdo em cache na CDN purge-cdn

A definição do TTL usando o cabeçalho HTTP Cache-Control é uma abordagem eficaz para equilibrar o desempenho da entrega de conteúdo e a atualização de conteúdo. No entanto, em cenários em que é essencial fornecer imediatamente conteúdo atualizado, pode ser útil limpar diretamente o cache do CDN.

Leia sobre configuração de um token de API de limpeza e limpeza do conteúdo CDN em cache.

Autenticação básica na CDN basic-auth

Para casos de uso de autenticação simples, incluindo participantes de negócios que revisam o conteúdo, proteja o conteúdo exibindo uma caixa de diálogo de autenticação básica que requer um nome de usuário e senha. Saiba mais e participe do programa de adoção antecipada.

CDN do cliente apontando para a CDN gerenciada pelo AEM point-to-point-CDN

Se um cliente precisar usar sua CDN existente, ele poderá gerenciá-la e apontá-la para a CDN gerenciada pelo AEM, desde que:

  • O cliente deve ter uma CDN existente que seria onerosa para substituir.
  • O cliente deve gerenciá-lo.
  • O cliente deve ser capaz de configurar a CDN para funcionar com a AEM as a Cloud Service - consulte as instruções de configuração apresentadas abaixo.
  • O cliente deve ter especialistas em CDN de engenharia que estejam à disposição para o caso de surgirem problemas relacionados.
  • O cliente deve executar e passar com êxito em um teste de carga antes de ir para a produção.

Instruções de configuração:

  1. Aponte seu CDN para o ingresso do CDN do Adobe como seu domínio de origem. Por exemplo, publish-p<PROGRAM_ID>-e<ENV-ID>.adobeaemcloud.com.

  2. Defina SNI para o ingresso do CDN do Adobe.

  3. Defina o cabeçalho Host para o domínio de origem. Por exemplo: Host:publish-p<PROGRAM_ID>-e<ENV-ID>.adobeaemcloud.com.

  4. Defina o cabeçalho X-Forwarded-Host com o nome de domínio para que o AEM possa determinar o cabeçalho do host. Por exemplo: X-Forwarded-Host:example.com.

  5. Defina X-AEM-Edge-Key. O valor deve ser configurado usando um pipeline de configuração do Cloud Manager, conforme descrito em este artigo.

    • Necessário para que o CDN do Adobe possa validar a origem das solicitações e transmitir os cabeçalhos X-Forwarded-* para o aplicativo AEM. Por exemplo, X-Forwarded-For é usado para determinar o IP do cliente. Portanto, torna-se responsabilidade do chamador confiável (ou seja, a CDN gerenciada pelo cliente) garantir a exatidão dos cabeçalhos X-Forwarded-* (consulte a observação abaixo).
    • Opcionalmente, o acesso ao ingresso da CDN do Adobe pode ser bloqueado quando um X-AEM-Edge-Key não estiver presente. Informe o Adobe se precisar de acesso direto ao ingresso do CDN do Adobe (para ser bloqueado).

Consulte a seção Configurações de exemplo de fornecedor de CDN para obter exemplos de configuração dos principais fornecedores de CDN.

Antes de aceitar o tráfego ativo, você deve validar com o suporte ao cliente do Adobe se o roteamento de tráfego de ponta a ponta está funcionando corretamente.

Depois de configurar o X-AEM-Edge-Key, você pode testar se a solicitação é roteada corretamente da seguinte maneira.

No 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>"

No 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
Ao usar seu próprio CDN, não é necessário instalar domínios e certificados no Cloud Manager. O roteamento no CDN Adobe é feito usando o domínio padrão publish-p<PROGRAM_ID>-e<ENV-ID>.adobeaemcloud.com que deve ser enviado no cabeçalho da solicitação Host. Substituir o cabeçalho da solicitação Host por um nome de domínio personalizado pode fazer com que a solicitação seja roteada incorretamente pelo CDN Adobe.
NOTE
Os clientes que gerenciam seu próprio CDN devem garantir a integridade dos cabeçalhos enviados para o CDN do AEM. Por exemplo, é recomendável que os clientes limpem todos os cabeçalhos X-Forwarded-* e os definam como valores conhecidos e controlados. Por exemplo, X-Forwarded-For deve conter o endereço IP do cliente, enquanto X-Forwarded-Host deve conter o host do site.
NOTE
Os ambientes dos programas de sandbox não são compatíveis com um CDN fornecido pelo cliente.

O salto extra entre o CDN do cliente e o CDN AEM só será necessário se houver uma falha de cache. Ao usar as estratégias de otimização de cache descritas neste artigo, a adição de uma CDN do cliente deve apresentar apenas uma latência insignificante.

Essa configuração de CDN do cliente tem suporte para o nível de publicação, mas não na frente do nível de criação.

Configurações de exemplo de fornecedor de CDN sample-configurations

Veja abaixo vários exemplos de configuração de vários dos principais fornecedores de CDN.

Akamai

Akamai1 Akamai2

Amazon CloudFront

CloudFront1 CloudFront2

Cloudflare

Cloudflare1 Cloudflare2

Erros comuns common-errors

As configurações de exemplo fornecidas mostram as configurações básicas necessárias, mas uma configuração de cliente pode ter outras regras de impacto que removem, modificam ou reorganizam os cabeçalhos necessários para que o AEM as a Cloud Service disponibilize o tráfego. Abaixo estão erros comuns que ocorrem ao configurar um CDN gerenciado pelo cliente para apontar para o AEM as a Cloud Service.

Redirecionamento para o Ponto de Extremidade de Serviço do Publish

Quando uma solicitação recebe uma resposta 403 proibida, significa que alguns cabeçalhos obrigatórios estão ausentes na solicitação. Uma causa comum para isso é que a CDN está gerenciando o tráfego de domínio apex e www, mas não está adicionando o cabeçalho correto para o domínio www. Esse problema pode ser solucionado verificando os logs de CDN do AEM as a Cloud Service e os cabeçalhos de solicitação necessários.

Muitos Redirecionamentos Loop

Quando uma página recebe um loop "Muitos redirecionamentos", algum cabeçalho de solicitação é adicionado ao CDN que corresponde a um redirecionamento que o força de volta a si mesmo. Como exemplo:

  • Uma regra CDN é criada para corresponder ao domínio apex ou ao domínio www e adiciona o cabeçalho X-Forwarded-Host somente do domínio apex.
  • Uma solicitação de um domínio apex corresponde a essa regra CDN, que adiciona o domínio apex como o cabeçalho X-Forwarded-Host.
  • Uma solicitação é enviada para a origem em que um redirecionamento corresponde explicitamente ao cabeçalho do host para o domínio apex (por exemplo, ^example.com).
  • Uma regra de regravação é acionada, o que regrava a solicitação do domínio apex para https com o subdomínio www.
  • Esse redirecionamento é então enviado para a borda do cliente, onde a regra CDN é acionada novamente, adicionando novamente o cabeçalho X-Forwarded-Host para o domínio apex, não para o subdomínio www. Em seguida, o processo é reiniciado até que a solicitação falhe.

Para resolver esse problema, avalie sua estratégia de redirecionamento SSL, regras CDN, redirecionamento e reescreva combinações de regras.

Cabeçalhos de geolocalização geo-headers

O CDN gerenciado pelo AEM adiciona cabeçalhos a cada solicitação com:

  • código do país: x-aem-client-country
  • código do continente: x-aem-client-continent
NOTE
Se houver uma CDN gerenciada pelo cliente, esses cabeçalhos refletirão a localização do servidor proxy CDN do cliente em vez do cliente real. Portanto, para CDN gerenciada pelo cliente, os cabeçalhos de geolocalização devem ser gerenciados pela CDN do cliente.

Os valores para os códigos de países são os códigos Alpha-2 descritos aqui.

Os valores para os códigos de continente são:

  • AF África
  • AN Antártida
  • AS Ásia
  • UE Europa
  • NA América do Norte
  • Oceânia OC
  • SA América do Sul

Essas informações podem ser úteis para casos de uso, como o redirecionamento para um url diferente com base na origem (país) da solicitação. Use o cabeçalho Vary para armazenar em cache respostas que dependem das informações geográficas. Por exemplo, os redirecionamentos para uma página de aterrissagem de país específico sempre devem conter Vary: x-aem-client-country. Se necessário, você pode usar Cache-Control: private para impedir o armazenamento em cache. Consulte também Cache.

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