nginx配置文件或目录404和403

对于Nginx web目录下的文件,如果不想用户访问那么可以配置返回404或者403状态,默认情况下对于目录来说,如果目录下没有默认文档,那么默认返回是403,也就是不允许查看目录列表,但是如果知道静态文件名称,那么手动访问是没问题的,在一定程度上提升了安全性现在假设在web目录下建立了一个目录abcd,如果想让该目录以及该目录下的所有文件全部返回404,那么可以在server {}块中增加loc

  对于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访问目录外来使用

原创文章,作者:小得盈满,如若转载,请注明出处:https://www.davidwu.net/archives/3413

发表评论

电子邮件地址不会被公开。 必填项已用*标注