Demasiadas redirecciones: encuentra el bucle y rómpelo
Demasiadas redirecciones (ERR_TOO_MANY_REDIRECTS)
Demasiadas redirecciones: soluciona los bucles ERR_TOO_MANY_REDIRECTS | We.Inc
Pega tus reglas de redirección y míralas ejecutarse salto a salto hasta que aparezca el bucle. Cubre bucles HTTPS detrás de un proxy, bucles de www y bucles de cookies, con sus soluciones.
ERR_TOO_MANY_REDIRECTS aparece cuando una página sigue enviando al navegador a otra dirección que acaba devolviéndolo, así que la cadena nunca termina y el navegador se rinde. Los culpables habituales son dos capas que fuerzan HTTPS o www en direcciones opuestas. Se soluciona haciendo que exactamente una capa se encargue de cada redirección.
Los bucles detrás de la mayoría de los errores de demasiadas redirecciones
Bucle
Cómo ocurre
Solución
HTTPS detrás de un proxy
El proxy habla HTTP simple con el servidor, que vuelve a redirigir a HTTPS
Redirige según X-Forwarded-Proto, o redirige solo en el proxy
www frente al dominio sin www
Una capa añade www y otra lo quita
Elige un host y redirige a él en un solo lugar
Bucle de cookie o de inicio de sesión
La página de inicio de sesión te envía a la de la cuenta, que te devuelve porque la cookie nunca se guardó
Revisa los indicadores Domain, Path y Secure de la cookie
Barra final
Una regla añade una barra y otra la quita
Elige una sola forma para todas las URL
Escribe cada redirección que hace tu sitio en su propia línea como from -> to, introduce la dirección de partida y el simulador sigue la cadena como lo haría un navegador. Se detiene cuando una dirección se repite, cuando ninguna regla coincide o tras 20 saltos, el límite del Fetch Standard.
Enumera todas las redirecciones que conozcas: configuración del servidor, panel del hosting, reglas de la CDN, código de la app.
Escríbelas una por línea como direcciones completas unidas con ->.
Introduce la dirección que falla en el navegador y lee la lista de saltos.
Elimina o cambia la regla que devuelve la cadena a una dirección que ya visitó.
Borra las cookies del sitio antes de volver a probar. Una cookie obsoleta puede mantener vivo un bucle de inicio de sesión después de corregir la configuración.
Los navegadores cachean las redirecciones 301. Prueba las correcciones en una ventana privada, o usa curl -I para ver cada respuesta sin ninguna caché.
Redirige directamente a la dirección final. http://example.com debe ir a https://www.example.com en un solo salto, no en dos.
Cuando una CDN o un hosting ofrezca un interruptor para forzar HTTPS, usa ese o tu regla de servidor, nunca ambos sin comprobar cómo interactúan.
Preguntas frecuentes
¿Qué significa te ha redirigido demasiadas veces?
Ese mensaje y el código de error ERR_TOO_MANY_REDIRECTS describen lo mismo: el sitio respondió con una redirección tras otra y el navegador dejó de seguirlas. No hay nada roto en tu ordenador, aunque una cookie obsoleta puede formar parte del bucle.
¿Cuántas redirecciones sigue un navegador?
El Fetch Standard, que implementan los navegadores, devuelve un error de red cuando el contador de redirecciones de una petición llega a 20.
¿Por qué forzar HTTPS provoca un bucle detrás de un proxy o una CDN?
El visitante se conecta con HTTPS, pero el proxy reenvía la petición a tu servidor por HTTP simple. Tu servidor ve HTTP y redirige a HTTPS, y el ciclo se repite. Cloudflare documenta exactamente este bucle para su modo de cifrado Flexible.
¿Borrar las cookies soluciona las demasiadas redirecciones?
Solo cuando una cookie forma parte del bucle, como una sesión de inicio que nunca llega a guardarse. Si el bucle está en las reglas del servidor, borrar las cookies no cambia nada.
¿Puede un bucle de redirección perjudicar al SEO?
Una página atrapada en un bucle nunca carga, así que los rastreadores tampoco pueden leerla. Corrige los bucles rápido y mantén cortas las cadenas de redirección.
Por qué los bucles aparecen entre capas
Un sitio moderno suele tener tres o cuatro lugares que pueden redirigir: la CDN, la plataforma de hosting, el servidor web y la app. Cada uno se configura en su propia pantalla, así que dos de ellos pueden discrepar sin hacer ruido sobre el esquema, el host o la barra final.
El simulador de arriba modela exactamente eso. Pon las reglas de todas las capas en la misma lista y la discrepancia se convierte en un ciclo visible.
El problema del esquema tras un proxy
Cuando TLS termina en un proxy o un balanceador de carga, tu servidor solo ve HTTP simple. Una regla que dice redirigir todo lo que llegue por HTTP a HTTPS se dispara entonces en cada petición, incluidas las que eran HTTPS para el visitante. Los proxies envían el esquema original en la cabecera X-Forwarded-Proto, así que el servidor debería comprobar esa cabecera.
Configuración que redirige exactamente una vez
nginx terminando TLS por sí mismo
Un bloque server captura todas las peticiones HTTP y las envía directamente al host final.
nginx detrás de un proxy que termina TLS
Redirige solo cuando el esquema original del visitante, enviado por el proxy en X-Forwarded-Proto, era http.
Ver cada salto desde la línea de comandos
-I pide solo las cabeceras, -L sigue las redirecciones. Cada bloque de la salida es un salto.
Simulador de bucles de redirección
Reglas de redirección, una por línea (from -> to)
Dirección de inicio
Saltos que seguiría el navegador
Bucle: la cadena vuelve a {v}, así que el navegador se detiene con demasiadas redirecciones.
Sin bucle: la cadena termina en {v} tras {n} redirecciones.
La cadena superó {n} saltos sin terminar, así que el navegador se rinde.
Ninguna regla coincide con la dirección de inicio, así que carga sin redirección.