Lak – Fejl 503 Hentning af backend mislykkedes

Jeg får denne fejl, hvordan kan jeg gøre? Jeg prøver at redigere mange gange, men fungerer stadig ikke.

Fejl 503 Backend-hentning mislykkedes
Backend-hentning mislykkedes

Guru-meditation :
XID: 35

Lakkecache-server

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

# Beskrivelse af konfiguration af lakmiljø. Dette blev afledt af # den gamle stil sysconfig / standardindstillinger

# Sæt dette til 1 for at gøre systemd genindlæsning, prøv at skifte VCL uden genstart. RELOAD_VCL = 1

# Hovedkonfigurationsfil. Du vil sandsynligvis ændre det. VARNISH_VCL_CONF = / etc / lak / default.vcl

# Standardadresse og port, der skal bindes til. Tom adresse betyder alle IPv4 #- og IPv6-grænseflader, ellers angiver et værtsnavn, en IPv4-stiplet # quad eller en IPv6-adresse i parentes. # VARNISH_LISTEN_ADDRESS = 192.168.1.5 VARNISH_LISTEN_PORT = 80

# Admin interface lytte adresse og port VARNISH_ADMIN_LISTEN_ADDRESS = 127.0.0.1 VARNISH_ADMIN_LISTEN_PORT = 6082

# Delt hemmelig fil til admin_ interface lak / hemmelighed

# Specifikation af backendlagring, se Lagringstyper i varnishd (5) # man-siden for detaljer. VARNISH_STORAGE = “malloc, 1024M”

# Bruger og gruppe til lakarbejderprocesserne VARNISH_USER = lak VARNISH_GROUP = lak

# Andre muligheder, se mandsiden lakeret (1) DAEMON_OPTS = “-a: 80 -T localhost: 6082 -f /etc/varnish/default.vcl -S / etc / lak / 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 “

opdatering:

1) Ja, den genererede vcl-fil af Magento.

2)

tcp 0 0 0.0.0.0:80 0.0.0.0:* LYT 4338 / lak p> tcp 0 0 127.0.0.1:6082 0.0.0.0:* LISTEN 4337 / lak

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

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

3) jeg i redigeret vcl tilføjet http: // beacuse når jeg kun / pub / health_check.php vil være 503, men tilføjet http: // temaet ligner noget forkert, ingen css.

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

4) Jeg brugte denne kommando

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

vis dette, men jeg ved ikke, at det fungerer eller ikke fungerer, beacuse var / page_cache / directory er ikke tom. Mage-tags-filen er stadig her.

< X-Magento-Cache-Control: max-age = 0, skal revalideres, ingen cache, ingen butik

X-Magento-Cache-Control: max-age = 0, skal revalideres, ingen cache, ingen butik < Alder: 0 Alder: 0 <

X-Magento-Cache-debug: MISS

X -Magento-Cache-debug: MISS

Kommentarer

  • du kan ikke oprette forbindelse til backend. lad ‘ s redigere fil /etc/varnish/default.vcl. Find linje .url = ” /pub/health_check.php”, og skift den derefter .url = ” / “; eller .url = ” /health_check.php”;

Svar

Efter at have sammenlignet med /etc/varnish/default.vcl, fandt jeg det efter at have fjernet .probe sektionen i backend-standard kan løse dette. Spekulerer stadig på, hvorfor sonden forårsagede dette

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

til

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

Opdateret:

Skift bare følgende linje:

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

til

.url = "/health_check.php"; 

løst problemet, se denne artikel https://www.sohaib.com/magento-2-12-varnish-error-503-backend-fetch-failed-solved-php-7-1-nginx-varnish-5-x/

Svar

Der er nogle muligheder for din fejl. Jeg følger denne vejledning (løsning 2) og løser fejlen med succes: https://magentip.com/magento-2-error-503-backend-fetch-failed-with-varnish-cache/

1. Længden af cache-tags, der bruges af Magento, overstiger Varnishs standardværdi

Vi ændrer http_resp_hdr_len -værdien i Varnish-konfigurationsfil . (Maksimal længde for enhver HTTP-backend-svaroverskrift

Stien til lakkonfigurationsfil er

-Ubuntu: / etc / default / lak

-Centos 6: / etc / sysconfig / lak

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

skift http_resp_hdr_len værdi (placeret i linje 101 efter thread_pool_max) til

-p http_resp_hdr_len=70000 \ 

Skift også http_resp_size til

-p http_resp_size=100000 \ 

2. Forkert health_check.php placering i Varnish konfigurationsfil

Gå til Varnish konfigurationsfil (/etc/varnish/default.vcl) og find disse linjer

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

Skift det til

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

Kommentarer

  • Ændring af http_resp_hdr_len og http_resp_size i init systemd-konfigurationen (/lib/systemd/system/varnish.service) fungerede for mig. Tak!

Svar

“Fejl 503 Backend hentning mislykkedes” fejl betyder normalt to ting:

  • Varnish er ikke i stand til at hente svaret fra Magento på grund af konfigurationsproblemer
  • Der er et problem på Magento-siden. Magento sender 5xx HTTP-svarskode.

Problemer med konfiguration af lak

Der er en række konfigurationsproblemer, men de mest almindelige er:

  • standard default.vcl-fil bruges. Sørg for at tage den vcl-fil, der er genereret af Magento
  • forkert backend, der er angivet i vcl-filen. Kontroller porten og ip-adressen, der er angivet i vcl-filen. Jeg fandt netstat -tnulp nyttigt værktøj til at kontrollere de kørende tjenester og deres porte
  • Din Magento-forekomst er ikke i web_root. Kontroller hver relativ sti i vcl-fil, og tilføj tilsvarende præfikser (sundhedstjekfil, mediefiler …).

Du skal genstarte lak efter hver ændring.

Magento-relaterede problemer

De handler normalt om nogle filtilladelser. For at finde nøjagtigt problem skal du springe lak over og besøge webserveren direkte – http://your_domain.com : {web_server_port } /. Derefter kan du aktivere Magento-udviklertilstand i konsollen ved hjælp af ./bin/magento deploy:mode:set developer kommando og unkommentar ini_set("display_errors", 1); linje i app/bootstrap.php. Efter alle disse handlinger skal du se den nøjagtige fejlmeddelelse

Kommentarer

  • Jeg opdaterede det originale indlæg 1,2,3,4, tjek tak dig
  • Du har magento2 klump i URL. Bare tilføj magento2 / præfiks til alle relative stier i vcl-filen. For eksempel. probe_url = domæne.com/magento2/pub/health_check. Sørg også for at skifte sidecache til lak i magento-adminpanelet
  • men tilføjet http: // temaet ligner noget forkert, ingen css. Og nej, min magento i public_html, domain.com/magento2 < -er til eksempeleksempel. Hvad er din middelværdi? skifte side cache til lak i magento admin panel? er Cache Management? tak
  • undskyld hvad er skift side cache til lak i magento admin panel? er Cache Management? tak
  • Indstillingen er placeret i Stores – > Konfiguration – > Avanceret – > System – > Cache til fuld side. Det er ikke nødvendigt at specificere http før stier. I stedet skal det være den relative sti til Magento.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *