O painel de navegação superior não é carregado na loja
Este artigo fornece soluções de configuração para problemas de ESI (Varnish Edge Side Includes), em que o conteúdo de determinadas páginas, geralmente o painel de navegação superior, não é exibido na loja se o Varnish for usado para o armazenamento em cache.
Produtos e versões afetados
- Adobe Commerce 2.X.X
- Todas as versões em verniz
Problema
Pré-requisitos:
Instale e configure o Varnish para sua loja da Adobe Commerce.
Etapas a serem reproduzidas:
- Vá para a loja.
- Navegue pelas páginas da loja.
Resultados esperados:
Todo o conteúdo e todos os blocos de página foram carregados com sucesso.
Resultados reais:
Observe que alguns blocos de conteúdo, como o painel de navegação superior com categorias, não estão carregando. Em vez disso, é exibido um espaço em branco.
Causa
As possíveis razões para o problema são as seguintes:
- As tags de inclusão ESI são geradas com protocolo de acesso HTTPS, enquanto o verniz funciona somente com HTTP.
- O verniz não processa ESI dentro do JSON.
- Os cabeçalhos de resposta são muito grandes para o verniz; não é possível processá-los.
Solução
Para resolver os problemas, você precisa executar uma configuração adicional de Verniz e reiniciar o Verniz.
-
Como usuário com privilégios
root
, abra o arquivo de configuração Vanish em um editor de texto. Consulte a Modificar a configuração do sistema Vernish na documentação do desenvolvedor para obter informações sobre onde esse arquivo pode estar localizado para diferentes sistemas operacionais. -
No
DAEMON_OPTS variable
, adicione-p feature=+esi_ignore_https
,-p feature=+esi_ignore_other_elements
,-p feature=+esi_disable_xml_check
. Isso seria semelhante a:code language-bash DAEMON_OPTS="-a :6081 \ -p feature=+esi_ignore_other_elements \ -p feature=+esi_disable_xml_check \ -p feature=+esi_ignore_https \ -T localhost:6082 \ -f /etc/varnish/default.vcl \ -S /etc/varnish/secret \ -s malloc,256m"
-
Salve as alterações e saia do editor de texto.
-
No arquivo de configuração do VCL, aumente os cabeçalhos de resposta aumentando os valores desses parâmetros:
http_resp_hdr_len
,http_resp_size
,workspace_backend
. Verifique se os dois últimos têm valores semelhantes. -
Quando você altera isso, precisa executar
service varnish restart
para que as alterações entrem em vigor.
Leitura relacionada
- Configure o Varnish e seu servidor Web na documentação do desenvolvedor.
- Documentação de verniz