Desative o armazenamento em cache do Fastly CDN no AEM as a Cloud Service
O Fastly sempre faz parte do caminho de entrega de conteúdo no AEM as a Cloud Service e não pode ser removido. O armazenamento em cache inesperado ocorre quando Cache-Control ou Surrogate-Control cabeçalhos estão ausentes, substituídos ou aplicados de forma inconsistente entre os recursos. Em ambientes que usam um CDN gerenciado pelo cliente, cabeçalhos de encaminhamento incorretos também podem afetar o comportamento do cache e o tratamento de redirecionamento.
Para resolver o problema, configure os cabeçalhos cache-control corretamente, valide as configurações de CDN e verifique o comportamento de passagem do Fastly.
Descrição description
Ambiente
- Adobe Experience Manager as a Cloud Service (AEMaaCS)
- Traga suas próprias implantações de CDN (BYOCDN)
- Configurações do Dispatcher
- Configuração da CDN usando
cdn.yaml
Problema/Sintomas
- O cabeçalho Fastly
x-cachemostra MISS ou SYNTH quando o bypass de cache é esperado. - O Fastly armazena em cache tipos de arquivos específicos apesar dos cabeçalhos de controle de cache configurados.
Surrogate-ControlouSurrogate-Keycabeçalhos não aparecem na borda.- O conteúdo personalizado exibe um comportamento inconsistente porque os fragmentos em cache são reutilizados.
- Redirecionamentos inesperados ocorrem quando as solicitações passam por várias camadas de CDN.
Causa
O Fastly é um componente integral da arquitetura de delivery do Adobe Experience Manager as a Cloud Service e permanece no caminho da solicitação o tempo todo. O Fastly armazena em cache o conteúdo quando os cabeçalhos Cache-Control ou Surrogate-Control estão ausentes, incompletos, substituídos ou aplicados de forma inconsistente entre os tipos de recursos. Alguns tipos de ativos, como o .vtt files, exigem regras de controle de cache explícitas. Nas implantações BYOCDN, os cabeçalhos X-Forwarded-Host ou X-Forwarded-Proto incorretos podem criar chaves de cache diferentes, resultando em um comportamento inesperado de armazenamento em cache ou redirecionamento.
Resolução resolution
Siga estas etapas para resolver o problema
- Revise os cabeçalhos de resposta e verifique se
Cache-ControleSurrogate-Controlaparecem nas respostas afetadas. - Confirme se
Surrogate-Controlcontém valores como max-age=0 ou no-store que impedem o armazenamento em cache do Fastly. - Atualize a configuração do host virtual do Dispatcher para que os cabeçalhos
Cache-ControleSurrogate-Controlsejam aplicados consistentemente em HTML, JSON, ativos e outros tipos de recursos. Adicione regras explícitas para tipos de recursos que não herdam os cabeçalhos necessários. - Verifique se a CDN gerenciada pelo cliente não substitui as diretivas de controle de cache do Fastly.
- Revise os logs de CDN e confirme se o CDN gerenciado pelo cliente executa o armazenamento em cache enquanto o Fastly opera no modo de passagem.
- Configure o desvio de cache em
cdn.yamlse os controles baseados em cabeçalho não atingirem o comportamento esperado. Implante a configuração atualizada por meio do Cloud Manager e verifique se a implantação é concluída com sucesso. - Valide o roteamento de várias CDNs confirmando se o cabeçalho
Hoste o cabeçalhoX-Forwarded-Protooriginais estão encaminhados corretamente por toda a cadeia CDN. - Revise as implementações de armazenamento em cache de fragmentos e certifique-se de que os fragmentos personalizados não sejam armazenados em cache.
- Verifique se as respostas dinâmicas retornam os cabeçalhos não armazenáveis em cache apropriados.
- Configure
Surrogate-Keycabeçalhos quando os fluxos de trabalho de limpeza dependerem de invalidação baseada em chave. - Ative a depuração do Fastly e verifique se as chaves substitutas aparecem nos cabeçalhos de resposta.
- Valide a configuração final confirmando se o Fastly retorna o PASS, se os caches CDN gerenciados pelo cliente foram esperados e se as operações de limpeza de cache se comportam corretamente.