Varnish – Error 503 Backend preluarea a eșuat

Am primit această eroare cum pot face? Încerc să editez de multe ori, dar tot nu funcționează.

Eroarea 503 Eșecul de preluare a eșecului
Eșuarea de execuție a eșecului

Meditația Guru :
XID: 35

Server cache de lacuri

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

# Varnish description configuration configuration. Acest lucru a fost derivat din # vechile stiluri sysconfig / setări implicite

# Setați acest lucru la 1 pentru a face reîncărcarea systemd încercați să comutați VCL fără repornire. RELOAD_VCL = 1

# Fișier de configurare principal. Probabil că vrei să-l schimbi. VARNISH_VCL_CONF = / etc / varnish / default.vcl

# Adresă și port implicite la care să se lege. Adresă necompletată înseamnă toate interfețele IPv4 # și IPv6, în caz contrar specificați un nume de gazdă, un IPv4 punctat # quad sau o adresă IPv6 între paranteze. # VARNISH_LISTEN_ADDRESS = 192.168.1.5 VARNISH_LISTEN_PORT = 80

# Adresa de ascultare a interfeței de administrare și port VARNISH_ADMIN_LISTEN_ADDRESS = 127.0.0.1 VARNISH_ADMIN_LISTEN_PORT = 6082

# Fișier secret partajat pentru interfața de administrare VET vernis / secret

# Specificații de stocare de backend, consultați Tipuri de stocare în pagina de manual vernisd (5) # pentru detalii. VARNISH_STORAGE = „malloc, 1024M”

# Utilizator și grup pentru procesele de lucru varnishd VARNISH_USER = lac VARNISH_GROUP = lac

# Alte opțiuni, consultați pagina manual varnishd (1) DAEMON_OPTS = „-a: 80 -T localhost: 6082 -f /etc/varnish/default.vcl -S / etc / vernis / 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 „

actualizare:

1) Da, fișierul vcl generat de Magento.

2)

tcp 0 0 0.0.0.0:80 0.0.0.0:* ASCOLTA 4338 / vernis

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

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

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

3) i în vcl editat adăugat http: // beacuse când doar eu / pub / health_check.php va fi 503, dar a adăugat http: // tema arată ca ceva greșit fără css.

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

4) am folosit această comandă

curl -I -v –location-Trust „ http://example.com

arată acest lucru, dar nu știu să funcționeze sau să nu funcționeze, deoarece var / page_cache / directory nu este gol. fișierul mage-tags este încă aici.

< X-Magento-Cache-Control: max-age = 0, trebuie revalidat, fără cache, fără stocare

X-Magento-Cache-Control: max-age = 0, trebuie revalidat, fără cache, fără stocare < Vârstă: 0 Vârstă: 0 <

X-Magento-Cache-Debug: MISS

X -Magento-Cache-Debug: MISS

Comentarii

  • nu vă puteți conecta la backend. să ‘ să editeze fișierul /etc/varnish/default.vcl. Găsiți linia .url = ” /pub/health_check.php”, apoi schimbați-o .url = ” / „; sau .url = ” /health_check.php”;

Răspuns

După comparație cu /etc/varnish/default.vcl, am găsit după eliminarea .probe din backend implicit poate rezolva acest lucru. Încă mă întreb de ce sonda a cauzat acest lucru

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

la

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

Actualizat:

Trebuie doar să schimbați următoarea linie:

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

la

.url = "/health_check.php"; 

a rezolvat problema, consultați acest articol https://www.sohaib.com/magento-2-12-varnish-error-503-backend-fetch-failed-solved-php-7-1-nginx-varnish-5-x/

Răspuns

Există câteva posibilități de eroare. Urmez acest tutorial (Soluția 2) și remediez cu succes eroarea: https://magentip.com/magento-2-error-503-backend-fetch-failed-with-varnish-cache/

1. Lungimea etichetelor cache utilizate de Magento depășesc valoarea implicită a lacului

Vom schimba valoarea http_resp_hdr_len în fișierul de configurare a lacului . (Lungimea maximă a oricărui antet de răspuns al backend-ului HTTP

Calea către fișierul de configurare a lacului este

-Ubuntu: / etc / default / varnish

-Centos 6: / etc / sysconfig / vernis

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

schimbați valoarea http_resp_hdr_len (situată în linia 101 după thread_pool_max) la

-p http_resp_hdr_len=70000 \ 

De asemenea, schimbați http_resp_size în

-p http_resp_size=100000 \ 

2. Locație health_check.php greșită în fișierul de configurare a lacurilor

Accesați fișierul de configurare a lacurilor (/etc/varnish/default.vcl) și găsiți aceste linii >

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

Schimbă-l în

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

Comentarii

  • Schimbarea http_resp_hdr_len și http_resp_size în configurația init systemd (/lib/systemd/system/varnish.service) a funcționat pentru mine. Mulțumesc!

Răspuns

Erorile „Eroarea 503 a preluat backendul au eșuat” erorile înseamnă de obicei două lucruri:

  • Varnish nu poate prelua răspunsul de la Magento din cauza problemelor de configurare
  • Există o problemă pe partea Magento. Magento trimite cod de răspuns HTTP 5xx.

Probleme de configurare a lacurilor

Există o serie de probleme de configurare, dar cele mai frecvente sunt:

  • este utilizat fișierul implicit default.vcl. Asigurați-vă că luați fișierul vcl generat de Magento
  • backend greșit specificat în fișierul vcl. Verificați portul și adresa IP specificate în fișierul vcl. Am găsit netstat -tnulp instrument util pentru a verifica serviciile care rulează și porturile acestora
  • Instanța dvs. Magento nu este în rădăcină web. Verificați fiecare cale relativă din fișierul vcl și adăugați prefixe corespunzătoare (fișier de verificare a stării, fișiere media …).

Trebuie să reporniți lacul după fiecare modificare.

Probleme legate de Magento

De obicei, acestea sunt legate de unele permisiuni de fișiere. Pentru a găsi problema exactă, trebuie să omiteți lacul și să vizitați direct serverul web – http://your_domain.com : {web_server_port } /. Apoi, puteți activa modul de dezvoltare Magento în consolă utilizând comanda ./bin/magento deploy:mode:set developer și decomentați ini_set("display_errors", 1); în linia app/bootstrap.php. După toate aceste acțiuni ar trebui să vedeți mesajul de eroare exact

Comentarii

  • Am actualizat postarea originală 1,2,3,4, vă rugăm să verificați, mulțumesc tu
  • Ai un fragment magento2 în URL. Doar adăugați magento2 / prefix la toate căile relative din fișierul vcl. De exemplu. probe_url = domain.com/magento2/pub/health_check. De asemenea, asigurați-vă că schimbați memoria cache a paginii pentru a lăsa în panoul de administrare magento
  • dar a adăugat http: // tema arată ca ceva greșit fără CSS. Și nu, magento-ul meu în public_html, domain.com/magento2 < -este pentru exsample. Care este scopul tau? schimbați memoria cache a paginii în lac în panoul de administrare magento? este gestionarea cache-ului? mulțumesc
  • îmi pare rău ce este comutarea memoriei cache a paginii în lac în panoul de administrare magento? este gestionarea cache-ului? mulțumesc
  • Setarea se află în Magazine – > Configurare – > Avansat – > Sistem – > Cache pagină completă. Nu este necesar să specificați http înainte de căi. În schimb, ar trebui să fie calea relativă către Magento.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *