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.
Configuração do tráfego no CDN cdn-configuring-cloud
Você pode configurar o tráfego na CDN de várias maneiras, incluindo:
- bloqueando tráfego mal-intencionado com Regras de filtro de tráfego (incluindo regras WAF avançadas opcionalmente licenciáveis)
- modificando a natureza da solicitação e resposta
- aplicando redirecionamentos do lado do cliente do 301/302
- declarando seletores de origem para reverter uma solicitação de proxy para back-ends não-AEM
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:
-
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
. -
Defina SNI para o ingresso do CDN do Adobe.
-
Defina o cabeçalho Host para o domínio de origem. Por exemplo:
Host:publish-p<PROGRAM_ID>-e<ENV-ID>.adobeaemcloud.com
. -
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
. -
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çalhosX-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).
- Necessário para que o CDN do Adobe possa validar a origem das solicitações e transmitir os cabeçalhos
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>"
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.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.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
Amazon CloudFront
Cloudflare
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
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.