Recibo este error, ¿cómo puedo hacerlo? Intento editar muchas veces, pero sigo sin funcionar.
Error 503 Falló la recuperación del backend
Falló la recuperación del backendMeditación del gurú :
XID: 35
Servidor de caché de barniz
Mi CentOS 7: /etc/varnish/varnish.params
# Descripción de la configuración del entorno de Varnish. Esto se derivó de # la configuración de sysconfig / defaults de estilo antiguo
# Establezca esto en 1 para que systemd reload intente cambiar VCL sin reiniciar. RELOAD_VCL = 1
# Archivo de configuración principal. Probablemente quieras cambiarlo. VARNISH_VCL_CONF = / etc / varnish / default.vcl
# Dirección y puerto predeterminados para enlazar. La dirección en blanco significa todas las interfaces IPv4 # e IPv6; de lo contrario, especifique un nombre de host, un número cuádruple de puntos IPv4 o una dirección IPv6 entre paréntesis. # VARNISH_LISTEN_ADDRESS = 192.168.1.5 VARNISH_LISTEN_PORT = 80
# Puerto y dirección de escucha de la interfaz de administración VARNISH_ADMIN_LISTEN_ADDRESS = 127.0.0.1 VARNISH_ADMIN_LISTEN_PORT = 6082
# Archivo secreto para la interfaz de administración EC / Shared VARNISH_ILE varnish / secret
# Especificación de almacenamiento backend, consulte Tipos de almacenamiento en la página man de varnishd (5) # para obtener más detalles. VARNISH_STORAGE = «malloc, 1024M»
# Usuario y grupo para los procesos de trabajo barnizados VARNISH_USER = barniz VARNISH_GROUP = barniz
# Otras opciones, ver la página de manual 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 «
actualización:
1) Sí, el archivo vcl generado por Magento.
2)
tcp 0 0 0.0.0.0:80 0.0.0.0:* ESCUCHA 4338 / varnishd
tcp 0 0127.0.0.1:6082 0.0.0.0:* ESCUCHAR 4337 / varnishd
tcp6 0 0 ::: 80 ::: * ESCUCHAR 4338 / varnishd
tcp6 0 0 ::: 8080 ::: * LISTEN 3905 / httpd
3) i en vcl edited agregué http: // porque cuando solo i / pub / health_check.php será 503, pero agregado http: // el tema parece algo incorrecto, no css.
.probe = {. url = « http://example.com/pub/health_check.php «;
4) utilicé este comando
curl -I -v –location-trust « http://example.com «
mostrar esto, pero no sé si funciona o no funciona, porque El directorio var / page_cache / no está vacío. el archivo mage-tags todavía está aquí.
< 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 < Edad: 0 Edad: 0 <
X-Magento-Cache-Debug: MISS
X -Magento-Cache-Debug: MISS
Comentarios
- no puedes conectarte al backend. deje ‘ s editar el archivo /etc/varnish/default.vcl. Busque la línea .url = » /pub/health_check.php», luego cámbielo .url = » / «; o .url = » /health_check.php»;
Respuesta
Después de compararlo con /etc/varnish/default.vcl, encontré después de eliminar el .probe en el backend predeterminado puede resolver esto. Todavía me pregunto por qué la sonda provocó que
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; } }
backend default { .host = "127.0.0.1"; .port = "8080"; .first_byte_timeout = 600s; }
Actualizado:
Simplemente cambie la siguiente línea:
.url = "/pub/health_check.php";
para
.url = "/health_check.php";
resuelto el problema, consulte este artículo https://www.sohaib.com/magento-2-12-varnish-error-503-backend-fetch-failed-solved-php-7-1-nginx-varnish-5-x/
Respuesta
Hay algunas posibilidades de error. Sigo este tutorial (Solución 2) y soluciono con éxito el error: https://magentip.com/magento-2-error-503-backend-fetch-failed-with-varnish-cache/
1. La longitud de las etiquetas de caché utilizadas por Magento excede el valor predeterminado de Varnish
Cambiaremos el valor de http_resp_hdr_len
en el archivo de configuración de Varnish . (Longitud máxima de cualquier encabezado de respuesta de backend HTTP
La ruta al archivo de configuración de barniz es
-Ubuntu: / etc / default / varnish
-Centos 6: / etc / sysconfig / varnish
-Centos 7: / etc / varnish / varnish.params
cambie el valor http_resp_hdr_len
(ubicado en la línea 101 después de thread_pool_max
) a
-p http_resp_hdr_len=70000 \
Además, cambie http_resp_size
a
-p http_resp_size=100000 \
2. Ubicación incorrecta de health_check.php en el archivo de configuración de Varnish
Vaya al archivo de configuración de Varnish (/etc/varnish/default.vcl) y busque estas líneas
.probe = { .url = "/pub/health_check.php";
Cámbielo a
.probe = { .url = "/health_check.php";
Comentarios
- Cambiar http_resp_hdr_len y http_resp_size en la configuración de init systemd (/lib/systemd/system/varnish.service) funcionó para mí. ¡Gracias!
Respuesta
Los errores «Error 503 Backend fetch failed» generalmente significan dos cosas:
- Varnish no puede obtener la respuesta de Magento debido a problemas de configuración
- Hay un problema en el lado de Magento. Magento envía un código de respuesta HTTP 5xx.
Problemas de configuración de Varnish
Hay muchos problemas de configuración, pero los más comunes son:
- se utiliza el archivo default.vcl predeterminado. Asegúrese de tomar el archivo vcl generado por Magento
- backend incorrecto especificado en el archivo vcl. Verifique el puerto y la dirección IP especificados en el archivo vcl. Encontré
netstat -tnulp
herramienta útil para verificar los servicios en ejecución y sus puertos - Su instancia de Magento no está en web_root. Verifique cada ruta relativa en el archivo vcl y agregue los prefijos correspondientes (archivo de verificación de estado, archivos multimedia …).
Debe reiniciar el barniz después de cada cambio.
Problemas relacionados con Magento
Por lo general, se trata de algunos permisos de archivos. Para encontrar el problema exacto, debe omitir el barniz y visitar el servidor web directamente: http://your_domain.com : {web_server_port } /. Luego, puede activar el modo de desarrollador de Magento en la consola usando el comando ./bin/magento deploy:mode:set developer
y descomentar la línea ini_set("display_errors", 1);
en app/bootstrap.php
. Después de todas estas acciones, debería ver el mensaje de error exacto
Comentarios
- Actualicé la publicación original 1, 2, 3, 4, verifique, gracias usted
- Tiene un fragmento de magento2 en la URL. Simplemente agregue magento2 / prefix a todas las rutas relativas en el archivo vcl. P.ej. probe_url = dominio.com/magento2/pub/health_check. Además, asegúrese de cambiar la caché de la página a barniz en el panel de administración de magento
- pero agregó http: // el tema parece algo incorrecto, no css. Y no, mi magento en public_html, domain.com/magento2 < -es por ejemplo. ¿Qué quieres decir? ¿Cambiar la caché de la página a barnizar en el panel de administración de magento? Qué es la gestión de caché? gracias
- perdón, ¿qué es cambiar la caché de la página a barnizar en el panel de administración de magento? Qué es la gestión de caché? gracias
- La configuración se encuentra en Tiendas – > Configuración – > Avanzado – > Sistema – > Caché de página completa. No es necesario especificar http antes de las rutas. En cambio, debería ser la ruta relativa a Magento.