Tu peux activer le debug des rewrites dans nginx aussi:
Rajouter notice dans la déclaration error_log soit globale soit d'une location ou d'un site :
error_log /.../error.log notice;
Dans le bloc http :
http { rewrite_log on;
et tu veras ce qui match, l'ordre de recherche, et plein d'autres choses
Le 21/01/2022 à 15:15, Daniel Caillibaud a écrit :
Bonjour,
En cherchant qqchose pour pouvoir tester des conf nginx, je suis tombé sur https://nginx.viraptor.info/ qui a l'air pas mal, sur le papier, car c'est pas fiable du tout [1]
Vous connaissez qqchose d'équivalent et fiable ? L'idéal serait un truc en cli à qui on indiquerait la conf nginx (/etc/nginx/nginx.conf par défaut) puis une url absolue et il répondrait quel fichier et quelle location match.
En attendant je teste en local avec un script minimaliste[2] (faut aller réparer manuellement des location imbriquées s'il y en a), mais si vous connaissez un outil plus pratique je suis preneur.
[1] ajouter à une configuration basique l'entrée location = /robots.txt { return 200 "User-agent: *\nDisallow: /\n"; } suffit à ce qu'il ne trouve plus une seule location qui match
[2] le script pour générer un vhost bidon pour tester les location #!/bin/sh
DST=/etc/nginx/sites-enabled/debug.conf
[ $# -lt 1 ] && echo "Il faut passer le fichier source en premier paramètre (il sera transformé pour générer $DST)" && exit 1
if echo 'server { listen 8080; server_name localhost; ' > "$DST"; then sed -nre 's/( *location )([^{]+){/\1\2 {\nreturn 200 "\2";\n}/p' $1 >> $DST echo "$DST généré à partir de $1" else echo "Impossible d'écrire dans $DST">&2 exit 1 fi