Une boucle de connexion uniquement depuis l’extérieur signifie généralement que le chemin du proxy distant modifie le schéma, le nom d’hôte, le cookie, le callback ou les informations de session vues par l’application.
À l’intérieur du domicile, un navigateur peut se connecter directement au service de cloud privé via son adresse locale, tandis que les utilisateurs distants passent par un DNS public, une terminaison TLS, un proxy inverse, une couche d’authentification en avant, un tunnel ou un fournisseur d’identité. Les identifiants peuvent être acceptés correctement, mais la requête suivante renvoie à la page de connexion parce que le cookie de session n’est pas stocké ou renvoyé, le backend pense que HTTPS est HTTP, l’URL de callback diffère de la valeur enregistrée, ou l’application génère des redirections pour son nom d’hôte interne.
Capturer la boucle de redirection exacte dans le navigateur
Ouvrez le panneau réseau du navigateur avant de vous connecter depuis l’extérieur du domicile. Conservez le journal des requêtes et enregistrez chaque code d’état, l’en-tête Location, l’en-tête Set-Cookie, le nom d’hôte de la requête, et si le cookie de session apparaît lors de la requête suivante.
Un guide de dépannage Keycloak recommande d’observer la chaîne complète de redirections car des en-têtes forwardés manquants, la portée des cookies et les callbacks peuvent tous créer une redirection infinie de connexion même lorsque l’étape du mot de passe réussit.
Si aucun cookie n’est émis, examinez la réponse de l’application et du proxy. Si un cookie est émis mais non renvoyé, inspectez son domaine, chemin, attributs Secure et SameSite. Si le cookie est renvoyé mais que l’application redirige toujours, poursuivez avec la confiance du proxy et le stockage de session.
Comparer les noms d’hôte et schémas locaux et publics
Notez l’URL locale exacte et l’URL publique, incluant http ou https, le nom d’hôte, le port et le sous-chemin. Testez si l’application a une URL canonique ou externe configurée.
Une analyse WordPress avec proxy inverse explique que lorsque le backend croit que la requête est HTTP, il peut rediriger vers HTTPS de manière répétée alors que le proxy continue de terminer TLS. La boucle provient d’une mauvaise détection de HTTPS derrière le proxy plutôt que du mot de passe de l’utilisateur.
Utilisez un seul nom d’hôte public de manière cohérente pour la connexion distante, les callbacks et les cookies. Ne mélangez pas le domaine public, l’IP privée, le nom d’hôte interne et les ports alternatifs dans un même flux d’authentification sauf si l’application supporte explicitement plusieurs origines de confiance.
Vérifier les en-têtes Forwarded Host et Protocol
Vérifiez la configuration du proxy inverse et les journaux du backend pour X-Forwarded-Proto, X-Forwarded-Host, X-Forwarded-Port et l’adresse client originale. Confirmez que l’application ne fait confiance qu’au proxy connu et reconstruit la même URL publique utilisée par le navigateur.
Un cas qBittorrent avec proxy inverse note qu’une page de connexion peut se charger et accepter les identifiants tandis qu’un en-tête Host ou HTTPS non concordant empêche la session authentifiée d’être reconnue.
Si le proxy envoie les bonnes valeurs publiques mais que l’application les ignore, configurez les paramètres trusted-proxy et external-URL de l’application. Si le proxy les omet, ajoutez uniquement les en-têtes nécessaires plutôt que de transférer tous les en-têtes fournis par le client sans modification.
Inspecter le domaine, chemin, Secure et SameSite du cookie
Comparez le cookie de session créé localement avec celui créé via le domaine public. Un cookie limité à un nom d’hôte interne, un mauvais domaine parent, un sous-chemin différent ou un contexte non sécurisé peut ne pas accompagner la requête publique redirigée.
L’accès externe ajoute souvent un autre domaine d’authentification ou un callback cross-site. Les restrictions SameSite et les exigences Secure peuvent donc affecter le flux distant même si une connexion locale directe ne quitte jamais une origine unique.
Effacez uniquement les cookies des domaines cloud privés affectés, reproduisez la boucle et inspectez les nouveaux attributs. Corrigez les paramètres d’URL publique et de cookie de l’application ou du proxy ; n’utilisez pas une relaxation globale des cookies du navigateur comme solution permanente côté serveur.
Vérifier l’identité du callback OAuth, OIDC ou Forward-Auth
Si le cloud privé utilise un fournisseur d’identité ou un service forward-auth, comparez l’URL de callback générée par l’application, enregistrée chez le fournisseur, et atteinte par le navigateur. Le schéma, nom d’hôte, port, chemin et slash final doivent tous correspondre exactement.
Un cas communautaire NGINX décrit une boucle de connexion distante où TLS se termine au proxy mais le backend voit HTTP, donc l’application ne peut pas maintenir la session externe sécurisée attendue.
Testez directement le point de terminaison de callback via le domaine public et confirmez qu’il atteint la bonne route proxy et le backend. Si l’authentification réussit mais que le callback relance la connexion, inspectez l’état, le nonce, la persistance du cookie, la synchronisation de l’horloge et l’URI de redirection exacte.
Valider la session distante complète sans contourner le proxy
Après avoir corrigé une cause, commencez avec une fenêtre privée propre sur un réseau externe. Connectez-vous, actualisez le tableau de bord, ouvrez un fichier, attendez au-delà de l’intervalle de session court, et reconnectez-vous pour confirmer que la session survit à une navigation ordinaire.
Le guide ZimaSpace sur l’accès NAS distant contrôlé fournit la limite de sécurité environnante : corriger la boucle ne doit pas nécessiter d’exposer directement le backend ni de désactiver l’authentification.
Le problème est résolu uniquement lorsque les utilisateurs locaux et distants atteignent le nom d’hôte prévu, que le proxy préserve l’identité de la requête publique, que le cookie reste valide, et que le flux complet de connexion et de callback réussit de manière répétée. Supprimez les contournements temporaires et les journaux d’authentification verbeux après vérification.
Assistance et conseils
Plus à lire

Guide de stockage pour l’enregistrement de la télévision en direct : capacité, conservation et nettoyage
Mesurez les enregistrements réels, prévoyez une marge de sécurité, combinez les limites d’ancienneté et de capacité, et vérifiez que le programme admissible le plus...

Flux de récupération des métadonnées multimédias à domicile après la restauration d’une base de données
Protégez l’état restauré, vérifiez l’identité et les chemins des médias, puis corrigez les illustrations ou les correspondances manquantes dans une bibliothèque pilote avant d’appliquer...

Liste de contrôle de compatibilité du client Jellyfin pour l’audio, la vidéo et les sous-titres
Testez des fichiers représentatifs en ne faisant varier qu’un paramètre à la fois, puis consignez pour chaque client la lecture directe, le remuxage, la...

