Verniz – Erro 503 Falha na busca de back-end

Estou recebendo este erro, como posso fazer? tento editar muitas vezes, mas ainda não funciona.

Erro 503 Falha na busca de back-end
Falha na busca de back-end

Meditação do guru :
XID: 35

Servidor de cache do Varnish

Meu CentOS 7: /etc/varnish/varnish.params

# Descrição da configuração do ambiente Varnish. Isso foi derivado # do estilo antigo de configurações de sysconfig / defaults

# Defina como 1 para fazer o systemd recarregar e tentar alternar a VCL sem reiniciar. RELOAD_VCL = 1

# Arquivo de configuração principal. Você provavelmente deseja alterá-lo. VARNISH_VCL_CONF = / etc / varnish / default.vcl

# Endereço padrão e porta para vincular. O endereço em branco significa todas as interfaces IPv4 # e IPv6; caso contrário, especifique um nome de host, um quádruplo # pontilhado IPv4 ou um endereço IPv6 entre colchetes. # VARNISH_LISTEN_ADDRESS = 192.168.1.5 VARNISH_LISTEN_PORT = 80

# Endereço e porta de escuta da interface de administração VARNISH_ADMIN_LISTEN_ADDRESS = 127.0.0.1 VARNISH_ADMIN_LISTEN_PORT = 6082

# Arquivo secreto compartilhado para interface de administração / etc VARNISH_SECRET_FILE varnish / secret

# Especificação de armazenamento de back-end, consulte Tipos de armazenamento na página de manual varnishd (5) # para obter detalhes. VARNISH_STORAGE = “malloc, 1024M”

# Usuário e grupo para os processos de trabalho do verniz VARNISH_USER = verniz VARNISH_GROUP = verniz

# Outras opções, consulte a página do manual varnishd (1) DAEMON_OPTS = “-a: 80 -T localhost: 6082 -f /etc/varnish/default.vcl -S / etc / varnish / secret -s malloc, 1024m -p thread_pool_min = 5 -p thread_pool_max = 500 -p thread_pool_timeout = 300 -p http_resp_hdr_len = 65536 -p http_resp_size = 98304 -p workspace_backend = 98304 “

atualização:

1) Sim, o arquivo vcl gerado por Magento.

2)

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4338 / varnishd

tcp 0 0 127.0.0.1:6082 0.0.0.0:* LISTEN 4337 / varnishd

tcp6 0 0 ::: 80 ::: * LISTEN 4338 / varnishd

tcp6 0 0 ::: 8080 ::: * LISTEN 3905 / httpd

3) i in vcl editado adicionado http: // porque eu apenas / pub / health_check.php será 503, mas adicionado http: // o tema parece algo errado sem css.

.probe = {. url = “ http://example.com/pub/health_check.php “;

4) eu usei este comando

curl -I -v –location-trusted ” http://example.com “

mostrar isso, mas eu não sei funcionar ou não funcionar, porque o O diretório var / page_cache / não está vazio. o arquivo mage-tags ainda está aqui.

< X-Magento-Cache-Control: max-age = 0, must-revalidate, no-cache, no-store

X-Magento-Cache-Control: max-age = 0, must-revalidate, no-cache, no-store < Idade: 0 Idade: 0 <

X-Magento-Cache-Debug: MISS

X -Magento-Cache-Debug: MISS

Comentários

  • você não pode se conectar ao backend. deixe ‘ s editar o arquivo /etc/varnish/default.vcl. Encontre a linha .url = ” /pub/health_check.php” e altere-a .url = ” / “; ou .url = ” /health_check.php”;

Resposta

Depois de comparar com /etc/varnish/default.vcl, descobri depois de remover o .probe no padrão de back-end pode resolver isso. Ainda me perguntando por que a detecção causou isso

backend default { .host = "127.0.0.1"; .port = "8080"; .first_byte_timeout = 600s; .probe = { .url = "/pub/health_check.php"; .timeout = 2s; .interval = 5s; .window = 10; .threshold = 5; } } 

para

backend default { .host = "127.0.0.1"; .port = "8080"; .first_byte_timeout = 600s; } 

Atualizado:

Basta alterar a seguinte linha:

.url = "/pub/health_check.php"; 

para

.url = "/health_check.php"; 

resolveu o problema, consulte este artigo https://www.sohaib.com/magento-2-12-varnish-error-503-backend-fetch-failed-solved-php-7-1-nginx-varnish-5-x/

Resposta

Existem algumas possibilidades para o seu erro. Sigo este tutorial (Solução 2) e corrijo o erro com sucesso: https://magentip.com/magento-2-error-503-backend-fetch-failed-with-varnish-cache/

1. O comprimento das tags de cache usadas pelo Magento excede o valor padrão do Varnish

Vamos mudar o valor http_resp_hdr_len no arquivo de configuração do Varnish . (Comprimento máximo de qualquer cabeçalho de resposta de backend HTTP

O caminho para o arquivo de configuração do varnish é

-Ubuntu: / etc / default / varnish

-Centos 6: / etc / sysconfig / varnish

-Centos 7: / etc / varnish / varnish.params

altere o valor http_resp_hdr_len (localizado na linha 101 após thread_pool_max) para

-p http_resp_hdr_len=70000 \ 

Além disso, altere http_resp_size para

-p http_resp_size=100000 \ 

2. Localização errada health_check.php no arquivo de configuração do Varnish

Vá para o arquivo de configuração do Varnish (/etc/varnish/default.vcl) e encontre estas linhas

.probe = { .url = "/pub/health_check.php"; 

Altere para

.probe = { .url = "/health_check.php"; 

Comentários

  • Alterar http_resp_hdr_len e http_resp_size na configuração init do systemd (/lib/systemd/system/varnish.service) funcionou para mim. Obrigado!

Resposta

Os erros “Erro 503 Falha na busca de back-end” geralmente significam duas coisas:

  • Varnish não é capaz de obter a resposta do Magento devido a problemas de configuração
  • Há um problema no lado do Magento. Magento envia código de resposta HTTP 5xx.

Problemas de configuração do Varnish

Existem vários problemas de configuração, mas os mais comuns são:

  • O arquivo default.vcl padrão é usado. Certifique-se de pegar o arquivo vcl gerado pelo Magento
  • backend errado especificado no arquivo vcl. Verifique a porta e o endereço IP especificados no arquivo vcl. Achei a netstat -tnulp ferramenta útil para verificar os serviços em execução e suas portas
  • Sua instância do Magento não está em web_root. Verifique cada caminho relativo no arquivo vcl e adicione os prefixos correspondentes (arquivo de verificação de saúde, arquivos de mídia …).

Você precisa reiniciar o verniz após cada alteração.

Problemas relacionados ao Magento

Normalmente, eles são sobre algumas permissões de arquivo. Para encontrar o problema exato, você precisa pular o verniz e visitar o servidor da web diretamente – http://your_domain.com : {web_server_port } /. Em seguida, você pode ativar o modo de desenvolvedor Magento no console usando o comando ./bin/magento deploy:mode:set developer e descomentar ini_set("display_errors", 1); linha em app/bootstrap.php. Depois de todas essas ações, você deve ver a mensagem de erro exata

Comentários

  • Eu atualizei a postagem original 1,2,3,4, verifique, obrigado você
  • Você tem um pedaço magento2 na URL. Basta adicionar magento2 / prefix a todos os caminhos relativos no arquivo vcl. Por exemplo. probe_url = domain.com/magento2/pub/health_check. Além disso, certifique-se de mudar o cache da página para verniz no painel de administração do magento
  • mas adicionado http: // o tema parece algo errado sem css. E não, meu magento em public_html, domain.com/magento2 < -é por exemplo. O que você quer dizer? mudar o cache da página para verniz no painel de administração do Magento? que é gerenciamento de cache? obrigado
  • desculpe, o que é mudar o cache da página para verniz no painel de administração do magento? que é gerenciamento de cache? obrigado
  • A configuração está localizada em Lojas – > Configuração – > Avançado – > Sistema – > Cache de página inteira. Não há necessidade de especificar http antes dos caminhos. Em vez disso, deve ser o caminho relativo ao Magento.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *