Varnish – Fout 503 Ophalen van backend mislukt

Ik krijg deze foutmelding, hoe kan ik dit doen? ik probeer het vaak te bewerken, maar het lukt nog steeds niet.

Fout 503 Ophalen van back-end mislukt
Ophalen van back-end mislukt

Guru-meditatie :
XID: 35

Varnish cache-server

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

# Beschrijving van de configuratie van de Varnish-omgeving. Dit is afgeleid van # de oude stijl sysconfig / defaults instellingen

# Stel dit in op 1 om ervoor te zorgen dat systemd reload probeert om VCL te wisselen zonder opnieuw te starten. RELOAD_VCL = 1

# Hoofdconfiguratiebestand. U wilt het waarschijnlijk veranderen. VARNISH_VCL_CONF = / etc / varnish / default.vcl

# Standaard adres en poort om aan te binden. Een blanco adres betekent alle IPv4 # – en IPv6-interfaces, geef anders een hostnaam, een IPv4-punt # quad of een IPv6-adres tussen haakjes op. # VARNISH_LISTEN_ADDRESS = 192.168.1.5 VARNISH_LISTEN_PORT = 80

# Admin interface luisteradres en poort VARNISH_ADMIN_LISTEN_ADDRESS = 127.0.0.1 VARNISH_ADMIN_LISTEN_PORT = 6082

# Gedeeld geheim bestand voor admin interface VARNISH / etc / etc_ varnish / secret

# Backend opslagspecificatie, zie Opslagtypes in de varnishd (5) # man-pagina voor details. VARNISH_STORAGE = “malloc, 1024M”

# Gebruiker en groep voor de lakbewerkingsprocessen VARNISH_USER = lak VARNISH_GROUP = lak

# Andere opties, zie de manpage 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) Ja, het vcl-bestand is gegenereerd door Magento.

2)

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

tcp 0 0127.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) ik heb in vcl http: // bewerkt als ik alleen / pub / health_check.php zal 503 zijn, maar toegevoegd http: // het thema ziet eruit alsof er iets mis is, geen css.

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

4) ik heb dit commando gebruikt

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

laat dit zien, maar ik weet niet of het werkt of niet, omdat de var / page_cache / directory is niet leeg. het bestand met mage-tags is er nog steeds.

< X-Magento-Cache-Control: max-age = 0, opnieuw valideren, geen cache, geen opslag

X-Magento-Cache-Control: max-age = 0, opnieuw valideren, geen cache, geen opslag < Leeftijd: 0 Leeftijd: 0 <

X-Magento-Cache-Debug: MISS

X -Magento-Cache-Debug: MISS

Reacties

  • je kunt geen verbinding maken met de backend. laat ‘ s bestand /etc/varnish/default.vcl bewerken. Zoek regel .url = ” /pub/health_check.php” en verander het .url = ” / “; of .url = ” /health_check.php”;

Antwoord

Na vergelijking met de /etc/varnish/default.vcl, vond ik na het verwijderen van de .probe sectie in de standaard backend kan dit oplossen. Ik vraag me nog steeds af waarom de sonde dit veroorzaakte

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

tot

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

Bijgewerkt:

Verander gewoon de volgende regel:

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

tot

.url = "/health_check.php"; 

loste het probleem op, raadpleeg dit artikel https://www.sohaib.com/magento-2-12-varnish-error-503-backend-fetch-failed-solved-php-7-1-nginx-varnish-5-x/

Antwoord

Er zijn enkele mogelijkheden voor uw fout. Ik volg deze tutorial (oplossing 2) en los de fout met succes op: https://magentip.com/magento-2-error-503-backend-fetch-failed-with-varnish-cache/

1. De lengte van de cache-tags die door Magento worden gebruikt, overschrijdt de standaardwaarde van Varnish

We zullen de http_resp_hdr_len -waarde in het Varnish-configuratiebestand wijzigen . (Maximale lengte van elke HTTP-backend-antwoordheader

Het pad naar het configuratiebestand van vernis is

-Ubuntu: / etc / default / varnish

-Centos 6: / etc / sysconfig / varnish

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

verander de http_resp_hdr_len waarde (in regel 101 na thread_pool_max) in

-p http_resp_hdr_len=70000 \ 

Verander ook http_resp_size in

-p http_resp_size=100000 \ 

2. Verkeerde health_check.php locatie in Varnish configuratiebestand

Ga naar Varnish configuratiebestand (/etc/varnish/default.vcl) en zoek deze regels

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

Verander het in

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

Reacties

  • Het wijzigen van de http_resp_hdr_len en http_resp_size in de init systemd-configuratie (/lib/systemd/system/varnish.service) werkte voor mij. Bedankt!

Antwoord

“Fout 503 Ophalen backend mislukt” -fouten betekenen meestal twee dingen:

  • Varnish kan de reactie van Magento niet ophalen vanwege configuratieproblemen.
  • Er is een probleem aan Magento-kant. Magento verzendt 5xx HTTP-antwoordcode.

Varnish-configuratieproblemen

Er zijn veel configuratieproblemen, maar de meest voorkomende zijn:

  • standaard default.vcl-bestand wordt gebruikt. Zorg ervoor dat u het door Magento gegenereerde vcl-bestand gebruikt.
  • verkeerde backend gespecificeerd in vcl-bestand. Controleer de poort en het ip-adres gespecificeerd in het vcl-bestand. Ik vond netstat -tnulp handig hulpmiddel om de actieve services en hun poorten te controleren.
  • Je Magento-instantie bevindt zich niet in web_root. Controleer elk relatief pad in het vcl-bestand en voeg overeenkomstige voorvoegsels toe (health check-bestand, mediabestanden …).

Je moet de lak opnieuw opstarten na elke wijziging.

Magento-gerelateerde problemen

Meestal gaan ze over enkele bestandsrechten. Om het exacte probleem te vinden, moet u lak overslaan en rechtstreeks naar de webserver gaan – http://your_domain.com : {web_server_port } /. Vervolgens kun je de Magento-ontwikkelaarsmodus in de console inschakelen met ./bin/magento deploy:mode:set developer commando en de ini_set("display_errors", 1); regel in app/bootstrap.php. Na al deze acties zou je de exacte foutmelding moeten zien.

Reacties

  • Ik heb het originele bericht 1,2,3,4 bijgewerkt, controleer alstublieft, bedankt jij
  • Je hebt magento2 chunk in URL. Voeg gewoon magento2 / prefix toe aan alle relatieve paden in het vcl-bestand. Bijv. probe_url = domein.com/magento2/pub/health_check. Zorg er ook voor dat je de paginacache wisselt naar vernis in het Magento admin-paneel
  • maar toegevoegd http: // het thema ziet eruit alsof er iets mis is geen css. En nee, mijn magento in public_html, domain.com/magento2 < -is bijvoorbeeld. Wat is je bedoeling? pagina cache omschakelen naar lak in het Magento admin paneel? is cachebeheer? bedankt
  • sorry, wat is het wisselen van pagina-cache naar lak in het Magento admin-paneel? is cachebeheer? bedankt
  • De instelling bevindt zich in Stores – > Configuratie – > Geavanceerd – > Systeem – > Volledige paginacache. Het is niet nodig om http voor paden op te geven. In plaats daarvan zou het het relatieve pad naar Magento moeten zijn.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *