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 misluktGuru-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.