Dépannage de l'erreur de configuration de Nginx causant TOO_MANY_REDIRECTS

TROP DE REDIRECTIONS(Trop de redirections) est une erreur courante sur les sites web. Ce problème affecte l'accès des utilisateurs et les résultats du référencement. Dans cet article, nous allons expliquer les idées de dépannage et les solutions pour TOO_MANY_REDIRECTS causées par une mauvaise configuration de Nginx.

Image [1]-Dépannage TOO_MANY_REDIRECTS d? à une mauvaise configuration de Nginx

1. principe d'erreur TOO_MANY_REDIRECTS

navigateur (logiciel)Lors de l'accès à un site web, si le serveur a mal configuré les règles de redirection, ce qui fait que les demandes sont envoyées en plusieurs fois. URL Le navigateur renverra éventuellement une erreur TOO_MANY_REDIRECTS afin d'éviter une boucle morte.

Performance commune :

  • Le chargement de la page échoue avec ERR_TOO_MANY_REDIRECTS
  • Le panneau Réseau de F12 Developer Tools affiche des redirections 301 ou 302 en double

2. les préparations à l'examen

Avant de procéder au dépannage, confirmez les informations suivantes :

  • Nom de domaine utilisé pour le site (y a-t-il un mélange de www et de non-www)
  • Configuration ou non de SSL (HTTPS)
  • Que vous utilisiez ou non le CDN ou un proxy inverse (tel que Cloudflare)

3) Causes courantes d'erreurs de redirection dans la configuration de Nginx

3.1 Configuration des conflits HTTP et HTTPS

Si vous configurez également HTTP pour passer automatiquement à HTTPS, et que la configuration HTTPS revient à HTTP, vous créerez une boucle infinie.

Image [2]-Dépannage de TOO_MANY_REDIRECTS d? à une mauvaise configuration de Nginx

Exemple d'erreur typique :

serveur {
    listen 80 ; nom_du_serveur example.com ; nom_du_serveur
    nom_du_serveur exemple.com ; return 301 ; erreur #
    return 301 http://example.com$request_uri ; # error : jump to http
}

serveur {
    listen 443 ssl ; server_name example.com ; return 301 ; # error
    nom_du_serveur_exemple.com ; nom_du_serveur ; nom_du_serveur_exemple.com ; nom_du_serveur_exemple.com ; nom_du_serveur_exemple.com
    return 301 https://example.com$request_uri ; } server { listen 443 ssl ; server_name example.com ; return 301 https://example.com$request_uri ; }
}

Cette configuration redirige les requêtes HTTP vers HTTP (lui-même) et les requêtes HTTPS vers HTTPS (lui-même) et n'effectue pas le saut HTTP -> HTTPS attendu.

3.2 Mauvaise configuration des redirections www et non www

Les TOO_MANY_REDIRECTS sont également générés lorsque les sites www et non-ww sautent l'un sur l'autre.

Exemple de mauvaise configuration :

serveur {
    nom_du_serveur exemple.com.
    return 301 http://www.example.com$request_uri ;
}

server {
    nom_du_serveur www.example.com ; return 301 www.example.com ; } server { nom_du_serveur www.example.com ; }
    return 301 http://example.com$request_uri ; } server { server_name http://example.com$request_uri ; }
}

Cette configuration entra?ne :

  • Visitez example.com Sauter à www.example.com
  • En allant sur www.example.com, nous revenons à example.com.
  • boucle infinie

3.3 Conflits de configuration entre Reverse Proxy et HTTPS

Cloudflare a été utilisé,pagodeAprès le reverse proxy ou le CDN, si vous n'avez pas le bon X-Forwarded-Proto Avec ce paramètre, Nginx peut mal interpréter le protocole URL (HTTPS comme HTTP), ce qui entra?ne une erreur de saut de page.

Solution :

Ajoutez-le dans le fichier de configuration :

Le fichier de configuration se trouve généralement dans l'un des emplacements suivants :

  • nginx / ouvrir nginx.conf (le fichier de configuration principal, il n'est pas recommandé d'éditer le bloc serveur directement)
Image [3]-Dépannage de TOO_MANY_REDIRECTS d? à une mauvaise configuration de Nginx
serveur {
    listen 80 ; server_name example.com ;
    nom_du_serveur exemple.com www.example.com ;

    set $https_off "" ; if ($http_x_forwarded_proto !
    if ($http_x_forwarded_proto ! = "https") {
        définir $https_off "redirect" ;
    }
    if ($https_off = "redirect") {
        return 301 https://$host$request_uri ;
    }
}

Ou utiliser la méthode standard :

serveur {
    listen 80 ; server_name example.com ;
    nom_du_serveur exemple.com www.example.com ; return 301 www.example.com ;
    return 301 https://$host$request_uri ;
}

Ajoutez-le à la configuration HTTPS :

serveur {
    listen 443 ssl ; server_name example.com ;
    nom_du_serveur exemple.com www.example.com ;
    # Configuration du certificat SSL...
}

De même, dans la configuration globale de Nginx fastcgi_params fichier ou segment de serveur :

fastcgi_param HTTPS on.

Assurez-vous que le proxy inverse transmet les informations HTTPS.

4. le processus de dépannage systématique

Voici les étapes recommandées pour le dépannage de TOO_MANY_REDIRECTS :

  • Vérifiez le panneau Réseau de votre navigateur
    Examinez le lien de saut et confirmez s'il s'agit d'une boucle entre HTTP et HTTPS ou entre www et non-www.
  • Visualisation du fichier de configuration de Nginx
    • Existe-t-il une configuration en double de plusieurs noms de serveur ?
    • Le retour 301 pointant vers le même nom de domaine est-il à l'origine d'une boucle ?
  • Confirmation de la configuration du proxy inverse Si vous utilisez Cloudflare, assurez-vous que l'option "Mode SSL/TLS" est sélectionnée. Complet (strict)pour éviter les boucles causées par le mode flexible.
  • vérifier WordPress ou d'autres paramètres du CMS Si l'URL du site web est définie sur HTTP, mais que le serveur est configuré pour forcer HTTPS, cela peut également entra?ner des sauts en double.
Image [4]-Dépannage de TOO_MANY_REDIRECTS d? à une mauvaise configuration de Nginx
  • Vider les caches des navigateurs et des CDN Parfois, la configuration a été modifiée mais le cache n'a pas été mis à jour et affiche toujours l'ancienne erreur.

résumés

TOO_MANY_REDIRECTS Oui Nginx La clé des problèmes courants de configuration éviter les boucles de redirectionVoici un exemple d'erreur qui peut être résolue en vérifiant les configurations HTTP et HTTPS, www et non www, en conjonction avec les paramètres du serveur web, du CDN et de l'application. La vérification des configurations HTTP et HTTPS, www et non-www, en conjonction avec le serveur web, le CDN et le dépannage des paramètres de l'application, peut résoudre ce type d'erreurs.


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咨詢(xún):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 : linxiulian
LA FIN
Si vous l'aimez, soutenez-le.
félicitations110 partager (joies, avantages, privilèges, etc.) avec les autres
commentaires achat de canapé

Veuillez vous connecter pour poster un commentaire

    Pas de commentaires