Error 520: el servidor web muestra un error desconocido

error520.png

Información general

El error 520 es básicamente una respuesta “comodín” para cuando el servidor de origen devuelve algo inesperado o algo que no se puede interpretar o tolerar (infracción del protocolo o respuesta vacía).

Mientras que el error 520 se puede desencadenar por situaciones extrañas o singulares, generalmente ocurren por:

  • Restablecimientos de la conexión (tras un enlace TCP correcto)
  • Encabezados que superan el límite del tamaño del encabezado de Cloudflare (más de 8 kb)
  • Respuesta vacía del servidor de origen
  • Respuesta HTTP no válida
  • Respuesta HTTP sin encabezados de respuesta

 Si cualquiera de las condiciones anteriores se confirma desde el servidor web que aloja el sitio, entonces se recomienda consultar con el proveedor de alojamiento para obtener ayuda con la configuración del servidor web con el fin de evitar más interrupciones y errores.  

Causas habituales

Los errores 520 por lo general están relacionados con la capa 7, que es la capa de la aplicación. Esto significa que el error 520 es el resultado de una mala respuesta que procede de la aplicación. La limitación de la velocidad o el filtrado de las solicitudes (por ejemplo, mediante la conexión IP o volumen/frecuencia) a veces puede provocar problemas con su aplicación.  

Solución de problemas

Dada la naturaleza de la respuesta 520, es mejor probar la respuesta del servidor de origen utilizando el comando cURL para confirmar si se han cumplido algunas condiciones que desencadenan el error. Esto es especialmente útil para determinar si el servidor de origen devuelve una respuesta vacía, una respuesta HTTP inválida o encabezados de respuesta extremadamente largos.

Aquí hay un ejemplo del comando utilizado para forzar el  encabezado HTTP  del Host mientras envía la solicitud a la IP de origen donde el dominio esta alojado (en este ejemplo enviamos una solicitud para una página de inicio de sesión):

curl -vso /dev/null --user-agent "Mozilla 5.0" -H "Host: example.com" http://123.123.123.321/login

Aquí hay un ejemplo de resultado en el que la respuesta de origen es una respuesta vacía, que normalmente podría desencadenar un error 520 si Cloudflare hubiera enviado por proxy la solicitud:

* Hostname was NOT found in DNS cache
*    Trying 123.123.123.321 ...
* Connected to 123.123.123.321 (123.123.123.321) port 80 (#0)
> GET /login HTTP/1.1
> User-Agent: Mozilla 5.0
> Accept: */*
> Host: example.com
>
* Empty reply from server
* Connection #0 to host 123.123.123.321 left intact

Un buen encabezado podría tener un aspecto como el siguiente:

* Hostname was NOT found in DNS cache
*    Trying 123.123.123.321 ...
* Connected to 123.123.123.321 (123.123.123.321) port 80 (#0)
> GET /login HTTP/1.1
> User-Agent: Mozilla 5.0
> Accept: */*
> Host: example.com
>
< HTTP/1.1 200 OK
< Content-Type: text/html
< Date: Day, DD, Month Year Hour:Minute:Second Timezone
{ [14240 bytes data]
* Connection #0 to host 123.123.123.321 left intact

Como la limitación de la velocidad también puede ocasionar este problema, quizá desees incluir en la IPs abilitadas nuestras IP. Podrás encontrar una lista de rangos de IP de Cloudflare  aquí.

Otro paso para una solución de problemas eficaz sería obtener un  HAR  (archivo de almacenamiento HTTP) para dirigir una solicitud directamente al origen y a través de Cloudflare desde un usuario afectado. Los archivos HAR proporcionan una fuente de información útil para comparar los encabezados de respuesta desde el origen, y mientras CF envía por proxy la solicitud (útil para confirmar si las respuestas del encabezado son demasiado largas).  

Al presentar una solicitud de asistencia, indica lo siguiente:

  • pasos para reproducir el error
  • archivos HAR
  • rayIDs de errores vistos
Still not finding what you need?

The Cloudflare team is here to help. 95% of questions can be answered using the search tool, but if you can’t find what you need, submit a support request.

Tecnología de Zendesk