对于Nginx web目录下的文件,如果不想用户访问那么可以配置返回404或者403状态,默认情况下对于目录来说,如果目录下没有默认文档,那么默认返回是403,也就是不允许查看目录列表,但是如果知道静态文件名称,那么手动访问是没问题的,在一定程度上提升了安全性
现在假设在web目录下建立了一个目录abcd,如果想让该目录以及该目录下的所有文件全部返回404,那么可以在server {}块中增加location块如下:
location /abcd { return 404; }
注意这里没添加正则匹配,这样访问/abcd/会返回404,以及abcd下所有页面和文件都会返回404,如果这时候有个目录为abcde那么访问该目录也是404,因为abcde也优先匹配了abcd,正常配置中可以在abcd后面添加一个/,如果设置某一个文件为404那么location后面跟文件路径即可
对于文件或者目录的403拒绝访问,可以如下配置:
location /configs/ { deny all; }
保存配置之后,访问configs和目录下所有文件都会返回403,但是访问configs1不会匹配到,因为后面有个斜杠,对于文件403,同样是配置文件路径即可
以上就是nginx服务器配置目录或者文件禁止访问或者返回伪装404的方式,注意:location后面永远跟的都是web访问目录下的路径,也就是浏览器请求路径的匹配
在实际服务器环境中,有些重要文件除了上述方式外,建议更安全的方式是尽量放到web访问目录外来使用