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 Verniz for usado para o armazenamento em cache.
Descrição description
Ambiente
- 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 sendo carregados. 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; ele não pode processá-los.
Resolução resolution
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-none 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 restartpara que as alterações entrem em vigor.
Leitura relacionada
- Configurar o Varnish e seu servidor Web na documentação do desenvolvedor
- Documentação de verniz