Varnish – Errore 503 Recupero backend non riuscito

Ricevo questo errore come posso fare? provo a modificare molte volte ma continuo a non funzionare.

Errore 503 Recupero backend non riuscito
Recupero backend non riuscito

Meditazione guru :
XID: 35

Server cache Varnish

Il mio CentOS 7: /etc/varnish/varnish.params

# Descrizione della configurazione dellambiente Varnish. Questo è stato derivato # dalle impostazioni del vecchio stile sysconfig / defaults

# Impostalo a 1 per fare in modo che systemd ricarichi provi a cambiare VCL senza riavvio. RELOAD_VCL = 1

# File di configurazione principale. Probabilmente vorrai cambiarlo. VARNISH_VCL_CONF = / etc / varnish / default.vcl

# Indirizzo predefinito e porta a cui collegarsi. Indirizzo vuoto indica tutte le interfacce IPv4 # e IPv6, altrimenti specificare un nome host, un # quad punteggiato IPv4 o un indirizzo IPv6 tra parentesi. # VARNISH_LISTEN_ADDRESS = 192.168.1.5 VARNISH_LISTEN_PORT = 80

# Porta e indirizzo di ascolto dellinterfaccia di amministrazione VARNISH_ADMIN_LISTEN_ADDRESS = 127.0.0.1 VARNISH_ADMIN_LISTEN_PORT = 6082

# File segreto condiviso per linterfaccia di amministrazione VARNISH_SILE = ecc. varnish / secret

# Specifiche di archiviazione backend, vedere Tipi di archiviazione nella pagina man di varnishd (5) # per i dettagli. VARNISH_STORAGE = “malloc, 1024M”

# Utente e gruppo per i processi di lavoro di varnishd VARNISH_USER = varnish VARNISH_GROUP = varnish

# Altre opzioni, vedere la pagina man 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 “

update:

1) Sì, il file vcl generato di 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) Ho in vcl modificato aggiunto http: // perché solo quando ho / pub / health_check.php sarà 503, ma aggiunto http: // il tema sembra qualcosa di sbagliato senza CSS.

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

4) ho usato questo comando

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

mostra questo, ma non so che funzioni o non funzioni, perché il La directory var / page_cache / non è vuota. il file mage-tags è ancora qui.

< 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 < Età: 0 Età: 0 <

X-Magento-Cache-Debug: MISS

X -Magento-Cache-Debug: MISS

Commenti

  • non puoi connetterti al backend. lascia che ‘ modifichi il file /etc/varnish/default.vcl. Trova la riga .url = ” /pub/health_check.php”, quindi modificala .url = ” / “; o .url = ” /health_check.php”;

Risposta

Dopo aver confrontato con /etc/varnish/default.vcl, ho trovato dopo aver rimosso .probe nel backend predefinito può risolvere questo problema. Mi chiedo ancora perché il probe abbia causato questo

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; } } 

a

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

Aggiornato:

Basta modificare la seguente riga:

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

per

.url = "/health_check.php"; 

ha risolto il problema, fare riferimento a questo articolo https://www.sohaib.com/magento-2-12-varnish-error-503-backend-fetch-failed-solved-php-7-1-nginx-varnish-5-x/

Risposta

Ci sono alcune possibilità per il tuo errore. Seguo questo tutorial (Soluzione 2) e risolvo correttamente lerrore: https://magentip.com/magento-2-error-503-backend-fetch-failed-with-varnish-cache/

1. La lunghezza dei tag della cache utilizzati da Magento supera il valore predefinito di Varnish

Modificheremo il valore http_resp_hdr_len nel file di configurazione di Varnish . (Lunghezza massima di qualsiasi intestazione di risposta del backend HTTP

Il percorso del file di configurazione di varnish è

-Ubuntu: / etc / default / varnish

-Centos 6: / etc / sysconfig / varnish

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

modifica il valore http_resp_hdr_len (situato nella riga 101 dopo thread_pool_max) in

-p http_resp_hdr_len=70000 \ 

Inoltre, modifica http_resp_size in

-p http_resp_size=100000 \ 

2. Posizione health_check.php errata nel file di configurazione di Varnish

Vai al file di configurazione di Varnish (/etc/varnish/default.vcl) e trova queste righe

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

Modificalo in

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

Commenti

  • La modifica di http_resp_hdr_len e http_resp_size nella configurazione di init systemd (/lib/systemd/system/varnish.service) ha funzionato per me. Grazie!

Risposta

Gli errori “Errore 503 Recupero backend non riuscito” di solito significano due cose:

  • Varnish non è in grado di recuperare la risposta da Magento a causa di problemi di configurazione
  • Cè un problema da parte di Magento. Magento invia il codice di risposta HTTP 5xx.

Problemi di configurazione di Varnish

Ci sono un sacco di problemi di configurazione, ma i più comuni sono:

  • viene utilizzato il file default.vcl. Assicurati di prendere il file vcl generato da Magento
  • backend sbagliato specificato nel file vcl. Verificare la porta e lindirizzo IP specificati nel file vcl. Ho trovato netstat -tnulp uno strumento utile per controllare i servizi in esecuzione e le loro porte
  • La tua istanza Magento non è in web_root. Controlla ogni percorso relativo nel file vcl e aggiungi i prefissi corrispondenti (file di controllo dello stato, file multimediali …).

È necessario riavviare varnish dopo ogni modifica.

Problemi relativi a Magento

Di solito riguardano alcuni permessi dei file. Per trovare il problema esatto, è necessario saltare Varnish e visitare direttamente il server web – http://your_domain.com : {web_server_port } /. Quindi puoi attivare la modalità sviluppatore Magento nella console utilizzando il comando ./bin/magento deploy:mode:set developer e rimuovere il commento dalla riga ini_set("display_errors", 1); in app/bootstrap.php. Dopo tutte queste azioni dovresti vedere il messaggio di errore esatto

Commenti

  • Ho aggiornato il post originale 1,2,3,4, controlla, grazie tu
  • Hai un blocco magento2 nellURL. Basta aggiungere magento2 / prefix a tutti i percorsi relativi nel file vcl. Per esempio. probe_url = domain.com/magento2/pub/health_check. Inoltre, assicurati di cambiare la cache della pagina in vernice nel pannello di amministrazione di Magento
  • ma aggiunto http: // il tema sembra qualcosa di sbagliato senza css. E no, il mio magento in public_html, domain.com/magento2 < -è per esempio. Qual è il tuo significato? cambiare la cache della pagina per verniciare nel pannello di amministrazione di Magento? cosè la gestione della cache? grazie
  • scusa cosè cambiare la cache della pagina in vernice nel pannello di amministrazione di Magento? cosè la gestione della cache? grazie
  • Limpostazione si trova in Negozi – > Configurazione – > Avanzate – > Sistema – > Cache pagina intera. Non è necessario specificare http prima dei percorsi. Dovrebbe invece essere il percorso relativo a Magento.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *