Implantação de pipeline de front-end quebra o site
Este artigo descreve uma solução para o problema em que os pipelines de front-end não são aplicados com êxito aos sites, mesmo quando a implantação é concluída com êxito. Adicione ServerAlias a um vhost habilitado para corrigi-lo.
Descrição description
Ambiente
AEM as a Cloud Service
Problema/Sintomas
Os pipelines de front-end não são aplicados com êxito aos sites. Embora a implantação seja concluída com êxito, os arquivos JS/CSS
não são aplicados ao site.
Etapas a serem reproduzidas
- Crie um novo site usando o
aem-site-template-standard version 2.2.0
. - Baixar fontes desse site.
- Faça algumas alterações no tema do site.
- Encaminhar as origens para o repositório/ramificação.
- Execute o pipeline de FE a partir desse repositório/ramificação.
Depois que o pipeline de FE for implantado, o novo site será interrompido e nenhum JS/CSS
será carregado.
Além disso, você verá que em:
"/conf/fe-pipeline-test/sling:configs/com.adobe.cq.wcm.core.components.config.HtmlPageItemsConfig/jcr:content"
, a propriedade "prefixPath"
está definida como:
"https://static-pxxxxx-eyyyyy.adobeaemcloud.com/5be94d5dbcc77e833330ed8d9d98f549f85aebfffd0ce933c04f9b1e6e67bdad"
, o que parece bom.
Mas qualquer recurso que você tentar carregar deste servidor (como o CSS: https://static-pxxxxx-eyyyyy.adobeaemcloud.com/5be94d5dbcc77e833330ed8d9d98f549f85aebfffd0ce933c04f9b1e6e67bdad/theme.css)
, você sempre obtém Funciona.
Resolução resolution
Quando o estilo é carregado do domínio estático e retorna apenas Funciona, é necessário verificar se o domínio estático está bloqueado no nível do Dispatcher.
Para que os pipelines de FE funcionem, os artefatos de front-end implantados precisam ser distribuídos corretamente pelo CDN/Dispatcher.
Se a configuração do Dispatcher bloquear o domínio estático, o CSS/JS
não poderá ser carregado.
Para isso, pelo menos um dos vhosts ativados tem:
ServerAlias *
OUServerAlias "static-p<progId>-e<envId>.adobeaemcloud.com"
Ao verificar a configuração do Dispatcher, se você vir que apenas o deault.vhost
tem ServerAlias "*"
. No entanto, o default.vhost
não está habilitado.
Adicionar ServerAlias
a um vhost habilitado corrige o problema.
Faça Perguntas Em Nossa Comunidade Do Experience League Campaign
Se você tiver perguntas que gostaria que fossem respondidas sobre este tópico ou ler perguntas já respondidas, nós o convidamos a exibir nossa publicação do blog da Comunidade Experience League que inclui este artigo, envie-nos suas perguntas e comentários e participe da nossa Comunidade do Experience League!