71 votes

meilleur moyen de déboguer les règles de réécriture de nginx dans le fichier de configuration ?

J'ai un certain nombre de règles de réécriture que je dois porter d'Apache à Nginx.

C'est un processus plutôt pénible car je ne suis pas en mesure de voir si mes règles de réécriture et mes conditions "si" fonctionnent comme je le souhaite.

Apache disposait d'un débogage pour son module de réécriture. Que puis-je faire pour nginx ?

73voto

quanta Points 49664

Activer rewrite_log :

rewrite_log on;

et définir le niveau de débogage dans error_log directive :

error_log /var/log/nginx/localhost.error_log notice;

22voto

ytk Points 459

Activer le support de débogage puis définir le niveau de débogage dans error_log.

error_log   /var/log/nginx/error.log debug;

Vous pouvez maintenant suivre le journal et envoyer vos demandes. Il y a probablement plus de détails que vous ne le souhaitez, mais cela peut parfois vous sauver la vie.

Oh, et vous devez savoir que si c'est le mal dans un contexte de localisation, au moins...

6voto

fr_andres Points 161

L'utilisation des journaux et de l'assistance intégrée pour le débogage est certainement la méthode la plus raisonnable. Si vous effectuez un débogage rapide du routage à des stades précoces et que vous souhaitez interagir uniquement par le biais du navigateur/client, l'utilisation de la commande retour 4xx "texte" ; peut également vous donner la réponse que vous souhaitez avec très peu d'efforts. Par exemple,

http {
  server {
    listen 80;
    server_name mydomain.net;
    return 404 "mydomain 80 route";
  }

  server {
    listen 80 default_server;
    return 404 "default 80 route";
  }
}

Le texte de la page web retournée vous indiquera quelle server bloquer votre demande déclenchée.

2voto

Lucas Bustamante Points 121

Une autre bonne étape de débogage consiste à vérifier si vos règles Nginx sont prises en compte :

location /test {
    return 200 'My test';
}

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X