web-dev-qa-db-fra.com

meilleure façon de déboguer le fichier de configuration nginx?

J'ai un tas de règles de réécriture que je dois porter d'Apache vers nginx.

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

Apache a eu le débogage de son module de réécriture. Que puis-je faire pour nginx?

41
Jiho Kang

Activer rewrite_log :

rewrite_log on;

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

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

Activer la prise en charge du débogage , puis définissez le niveau de débogage dans error_log.

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

Vous pouvez maintenant parcourir 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 mal , dans un contexte de localisation au moins ...

15
rossnz

L'utilisation de journaux et d'une prise en charge intégrée pour le débogage est certainement la manière la plus raisonnable. Si vous effectuez un débogage de routage rapide à un stade précoce et que vous souhaitez interagir uniquement via le navigateur/client, l'utilisation de la directive return 4xx "text"; peut également vous donner la réponse que vous souhaitez avec très peu d'effort. . 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 renvoyée vous indiquera quel server bloque le déclenchement de votre demande.

J'espère que cela t'aides!
Andres