Trouver et corriger une boucle de redirection
Diagnostiquer ERR_TOO_MANY_REDIRECTS en examinant HTTPS, www, slash, proxy, CDN, cookies, authentification et règles de langue.
Une boucle ramène une requête vers une URL déjà visitée. Le navigateur suit les instructions jusqu’à afficher ERR_TOO_MANY_REDIRECTS. La cause se répartit souvent entre CDN, proxy, serveur et application.
Capturer le plus petit cycle
Saisissez l’adresse exacte dans le URL Redirect Checker et cherchez les répétitions :
https://example.com/page
→ https://www.example.com/page
→ https://example.com/page
Notez statut, protocole, hôte, chemin, requête et type de chaque saut. Deux URL alternées indiquent souvent des règles opposées dans deux couches.
Causes courantes
HTTP et HTTPS
Le visiteur se connecte au CDN en HTTPS, mais le CDN contacte l’origine en HTTP. Si l’application ne voit que cette connexion, elle redemande HTTPS. Traitez Forwarded ou X-Forwarded-Proto uniquement depuis des proxys fiables.
www et slash
Une couche impose www, l’autre le retire ; un framework ajoute /, un autre l’enlève. Définissez une politique canonique et un seul responsable.
Authentification et cookies
Une mauvaise configuration de domaine, Secure, SameSite ou callback peut alterner entre login et page protégée. Une fenêtre privée isole l’état, mais ne remplace pas la correction de session.
Langue et région
Préfixe, cookie, pays et Accept-Language peuvent se contredire. Une URL explicite et le choix utilisateur doivent primer sur la détection automatique.
Méthode de débogage
- Reproduisez avec une session neuve et un test serveur.
- Trouvez le plus petit cycle répété.
- Identifiez par en-têtes et logs la couche qui émet chaque saut.
- Isolez CDN, serveur et application en staging.
- Attribuez protocole, hôte et slash à un responsable unique.
- Purgez les caches et retestez publiquement.
Les redirections permanentes peuvent rester en cache. Si seul un ancien navigateur échoue, utilisez un profil neuf pour distinguer cache local et problème actif.
Prévention
- Documentez protocole, hôte et chemin canoniques.
- Évitez les normalisations opposées dans plusieurs couches.
- Configurez explicitement les proxys de confiance.
- Testez avec un CDN proche de la production.
- Évitez les expressions régulières qui correspondent à leur propre cible.