Nginx-阻止访问调试文件

时间:2016-11-28 作者:JoaMika

我正在记录到调试文件

wp-content/debug.log
但任何用户都可以下载该文件,只要他们将url放在浏览器上。如何阻止使用Nginx访问此文件?

1 个回复
最合适的回答,由SO网友:birgire 整理而成

我经常在Apache 2.2中看到这一点:

<Files "debug.log">
    Order allow,deny
    Deny from all
</Files>
但那是deprecated 在Apache 2.4中:

这个Allow, Deny, 和Order 指令,由提供mod_access_compat, 已弃用,将在未来版本中消失。您应该避免使用它们,并避免过时的教程推荐使用它们。

我刚刚用Require Apache 2.4中的指令:

Require all denied无条件拒绝访问

使用:

<Files "debug.log">
   Require all denied
</Files>
而且它似乎用403禁忌来阻止它。

请注意,它将阻止访问example.tld/debug.log, example.tld/wp-content/debug.log

Update

我刚刚注意到您提到了NginX,所以我测试了各种位置模式,这似乎很有效:

location ~* /debug\\.log$
{
    deny  all;
}
其中~* 修饰符用于不区分大小写的正则表达式匹配。