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:

  1. Vá para a loja.
  2. 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.

  1. 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.

  2. 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"
    
  3. Salve as alterações e saia do editor de texto.

  4. 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.

  5. Quando você altera isso, precisa executar service varnish restart para que as alterações entrem em vigor.

Leitura relacionada

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a