Réponses:
Vous pouvez envoyer des valeurs de variable nginx via des en-têtes. Pratique pour le développement.
add_header X-uri "$uri";
et vous verrez dans les en-têtes de réponse de votre navigateur:
X-uri:/index.php
Je fais parfois cela pendant le développement local.
Il est également utile de vous informer si une sous-section est exécutée ou non. Il suffit de les saupoudrer dans vos clauses pour voir si elles sont utilisées.
location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt)$ {
add_header X-debug-message "A static file was served" always;
...
}
location ~ \.php$ {
add_header X-debug-message "A php file was used" always;
...
}
Donc, visiter une URL telle que http://www.example.com/index.php déclenchera ce dernier en-tête, tandis que visiter http://www.example.com/img/my-ducky.png déclenchera l'ancien en-tête.
add_header
lequel sera renvoyé l'en-tête, quel que soit le code de réponse. Ainsi, par exemple, add_header X-debug-message "A php file was used" always;
devrait fonctionner même pour 500 codes d'erreur.
Vous pouvez renvoyer une chaîne simple sous forme de réponse HTTP:
location /
{
return 200 $document_root;
}
Vous pouvez définir un format de journal d'accès personnalisé à l'aide de la log_format
directive qui enregistre les variables qui vous intéressent.
error_log
afin debug
que vous puissiez voir la valeur des variables et de ce bloc qui sont exécutés. Exempleerror_log file.log debug
-
dans le journal, mais sont vraiment vides dans le code nginx, vous ne devriez en vérifier -
à aucun moment. Cela confond parfois les utilisateurs.
Une autre option consiste à inclure le module echo lorsque vous compilez nginx ou à installer OpenResty, qui est livré avec un ensemble d’extensions (comme echo).
Ensuite, vous pouvez simplement saupoudrer votre configuration d’énoncés du type:
echo "args: $args"
echo_log
directive en développement.
add_header
cela fonctionnera uniquement sur les demandes ayant abouti . La documentation indique qu'il ne peut être appliqué qu'aux réponses portant les codes 200, 204, 301, 302 ou 304. Par conséquent, il ne peut pas être utilisé pour déboguer des erreurs HTTP.