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
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