web-dev-qa-db-fra.com

Nginx - Empêcher l'accès au fichier de débogage

Je me connecte au fichier de débogage

wp-content/debug.log

mais tout utilisateur peut télécharger le fichier s'il met l'URL sur son navigateur. Comment puis-je empêcher l'accès à ce fichier à l'aide de Nginx?

4
Joanna Mikalai

J'ai souvent vu cela utilisé dans Apache 2.2:

<Files "debug.log">
    Order allow,deny
    Deny from all
</Files>

mais c'est obsolète dans Apache 2.4:

Les directives Allow, Deny et Order, fournies par mod_access_compat, sont obsolètes et disparaîtront dans une version ultérieure. Évitez de les utiliser et évitez les didacticiels obsolètes qui en recommandent l'utilisation.

Je viens de tester avec la directive Require dans Apache 2.4:

Exiger tout ce qui est refusé L'accès est refusé sans condition. _

avec:

<Files "debug.log">
   Require all denied
</Files>

et il semble le bloquer avec 403 interdit.

Notez qu'il bloquera l'accès à partir de example.tld/debug.log, example.tld/wp-content/debug.log etc.

Mise à jour

Je viens de remarquer que vous avez mentionné NginX. J'ai donc testé divers modèles d'emplacement et cela semble fonctionner:

location ~* /debug\.log$
{
    deny  all;
}

où le modificateur ~* est destiné à la correspondance d'expression régulière insensible à la casse.

5
birgire