Scénarios courants où une mauvaise configuration de Nginx conduit à ERR_TOO_MANY_REDIRECTS

dépense ou frais Nginx Lorsqu'il agit en tant que serveur web, leERR_TOO_MANY_REDIRECTS est l'un des problèmes de configuration les plus courants. Cette erreur est généralement due à la présence de la configuration NginxRègles de redirection incorrectespeut-êtreParamètres du proxyqui place la demande dans une boucle de redirection infinie. Cet article se concentre sur certaines des causes courantes de ERR_TOO_MANY_REDIRECTS Problèmes de configuration incorrecte de Nginx et leurs solutions.

Image [1] - Résolution de l'erreur ERR_TOO_MANY_REDIRECTS dans la configuration de Nginx

1. boucle de redirection HTTP vers HTTPS

L'une des causes les plus courantes deRedirection HTTP vers HTTPS mal configuréeSouvent, les sites veulent forcer tout le trafic à utiliser HTTPS. Souvent, les sites veulent forcer tout le trafic à utiliser HTTPS, et si Nginx n'est pas configuré correctement, il peut en résulter le problème suivant HTTP à HTTPSredirectionscycle.

Mauvaises pratiques :

1.Configurer les mauvaises règles de redirection du serveurLa configuration du serveur peut avoir accidentellement introduit une boucle de redirection qui fait que les requêtes rebondissent sans cesse entre HTTP et HTTPS.

2.Problèmes de cache du navigateurLes navigateurs peuvent mettre en cache les informations de redirection, en particulier si les redirections HTTP vers HTTPS ne sont pas gérées correctement, ce qui peut entraîner des boucles.

3.Problèmes de configuration de l'équilibreur de charge ou du proxySi un équilibreur de charge ou un serveur proxy est utilisé, il peut y avoir une mauvaise configuration qui fait que les demandes sont redirigées sans cesse entre HTTP et HTTPS.

Image [2] - Résolution de l'erreur ERR_TOO_MANY_REDIRECTS dans la configuration de Nginx

Solution :
sécurisé HTTP et HTTPS sont traités séparément et ne sont pas redirigés l'un vers l'autre. Par exemple, une configuration correcte de redirection HTTP vers HTTPS devrait ressembler à ceci :

# Redirection HTTP -> HTTPS
serveur {
    listen 80 ; nom_du_serveur example.com ; nom_du_serveur
    nom_du_serveur exemple.com ; return 301 ;
    return 301 https://$host$request_uri ;
}

Configuration HTTPS de #
serveur {
    listen 443 ssl ; server_name example.com ; }
    nom_du_serveur exemple.com.

    ssl_certificate /path/to/certificate ; ssl_certificate_key /path/to/private_key ; ssl_certificate_key /path/to/certificate
    ssl_certificate_key /path/to/private_key ; ssl_certificate_key /path/to/private_key ; ssl_certificate_key

    # Autres configurations HTTPS
}

2. X-Forwarded-Proto Mauvaise orientation de la tête

Si Nginx fonctionne comme un proxy inverse, le serveur dorsal peut être en mesure d'utiliser Nginx sur la base de l'option X-Forwarded-Proto L'en-tête détermine le type de protocole de la demande. S'il est mal configuré, le serveur final peut supposer à tort que la demande est de type HTTP ou HTTPS, ce qui déclenche une redirection.

Mauvaises pratiques :

  • Dans la configuration de Nginx, le champX-Forwarded-Proto Les en-têtes ont été transmis de manière incorrecte, ce qui a amené l'application dorsale à décider à tort qu'elle devait rediriger vers HTTPS ou HTTP.

Solution :
Veillez à ce que vous passiez le bon X-Forwarded-Proto Tête :

L'en-tête X-Forwarded-Proto est passé correctement

3. les accords de conflit d'agences

Si une requête est transmise à un serveur dorsal via Nginx, des incohérences dans le protocole (HTTP ou HTTPS) peuvent également provoquer des boucles de redirection. En particulier, lorsqu'une requête HTTP est transmise à un serveur backend HTTPS, si le serveur backend suppose à tort que la requête est HTTP, il peut envoyer une redirection HTTPS, ce qui provoque une boucle.

Mauvaises pratiques :

  • Nginx reçoit la requête HTTP et la transmet par procuration à un backend HTTPS, mais ce dernier redirige vers HTTP.

Solution :
Assurez-vous que Nginx utilise le même protocole que le serveur dorsal et qu'il est configuré correctement. proxy_set_header Tête.

Utilisation correcte de l'en-tête proxy_set_header

4. les problèmes de mise en cache

Les navigateurs ou les serveurs proxy peuvent mettre en cache les réponses de redirection, ce qui peut conduire à une infinité de cas lorsque l'on revisite le site Web.redirections.

Exemple de scénario :

  • Comme le navigateur met en cache la réponse de redirection erronée, les demandes suivantes entrent à nouveau dans la boucle de redirection.

Solution :
Effacer le cache du navigateur

Image [5]-Résoudre les erreurs ERR_TOO_MANY_REDIRECTS dans la configuration de Nginx

ERR_TOO_MANY_REDIRECTS incorrectElle est généralement causée par des problèmes de redirection, de proxy et de gestion des protocoles dans la configuration de Nginx. Cette erreur peut être évitée en vérifiant et en ajustant soigneusement la configuration de Nginx afin de s'assurer que les règles de redirection, les paramètres du proxy et le passage des en-têtes sont corrects.


Contactez nous
Vous n'arrivez pas à lire le tutoriel ? Contactez-nous pour une réponse gratuite ! Aide gratuite pour les sites personnels et les sites de petites entreprises !
Service clientèle WeChat
Service clientèle WeChat
Tel : 020-2206-9892
QQ咨询:1025174874
(iii) Courriel : info@361sale.com
Horaires de travail : du lundi au vendredi, de 9h30 à 18h30, jours fériés.
© Déclaration de reproduction
Auteur : liuyan
LA FIN
Si vous l'aimez, soutenez-le.
félicitations155 partager (joies, avantages, privilèges, etc.) avec les autres
commentaires achat de canapé

Veuillez vous connecter pour poster un commentaire

    Pas de commentaires