Saltar al contenido

5xx · Errores del servidor

Error 520 Web Server Returned an Unknown Error (Cloudflare): qué significa y cómo solucionarlo

El error 520 de Cloudflare significa que tu servidor de origen ha devuelto algo que Cloudflare no entiende: una respuesta vacía, una conexión cerrada de golpe o cabeceras demasiado grandes. Es el "comodín" de Cloudflare cuando el origen responde, pero mal. La solución está en el servidor de origen, no en Cloudflare.

Qué significa el código 520

Cloudflare se conecta correctamente al origen, pero lo que recibe no es una respuesta HTTP válida. Los motivos más habituales son que la aplicación se cae a mitad de la respuesta, que un firewall del origen corta la conexión de las IPs de Cloudflare o que las cabeceras superan los 32 KB que admite Cloudflare.

Causas habituales del error 520

  • La aplicación se cae o reinicia mientras responde.
  • Cabeceras de respuesta de más de 32 KB (normalmente muchas cookies Set-Cookie).
  • Firewall o fail2ban del origen que bloquea las IPs de Cloudflare.
  • Respuesta vacía del servidor (sin cuerpo ni cabeceras).
  • Keepalive desactivado o con un timeout muy corto en el origen.

Cómo solucionar el error 520

  • Prueba el origen saltándote Cloudflare: curl -v --resolve dominio:443:IP_ORIGEN https://dominio/.
  • Revisa los logs del servidor de origen en el momento del error.
  • Añade los rangos de IP de Cloudflare a la lista blanca del firewall y de fail2ban.
  • Reduce el tamaño de las cookies y cabeceras.

Configuración y comandos

Probar el origen sin pasar por Cloudflare

bash
curl -sv --resolve ejemplo.com:443:203.0.113.10 https://ejemplo.com/ -o /dev/null

Permitir los rangos de Cloudflare en ufw

bash
for ip in $(curl -s https://www.cloudflare.com/ips-v4); do
  sudo ufw allow from $ip to any port 443 proto tcp
done

Ejemplo de respuesta

http
HTTP/2 520
server: cloudflare
cf-ray: 8d1f2e3a4b5c6d7e-MAD

Herramientas para comprobarlo

Preguntas frecuentes

¿El error 520 es culpa de Cloudflare?

Casi nunca. Cloudflare solo está informando de que tu servidor de origen ha respondido de forma inválida; la causa está en el origen.

¿Qué le doy a soporte de Cloudflare?

El valor de la cabecera cf-ray de la respuesta con error y la hora exacta; con eso pueden ver qué pasó en su lado.

Códigos relacionados

Ver todos los códigos de estado HTTP