首页
位置:首页>新闻动态 > 建站指南 >

nginx 禁止直接访问目录或文件

Nginx 默认是不允许列出整个目录的。

如需此功能,打开 nginx.conf 文件或你要启用目录浏览虚拟主机的配置文件,在 location server 或 http 段中加入

autoindex on;

另外两个参数最好也加上去:

autoindex_exact_size off;

默认为 on,显示出文件的确切大小,单位是 bytes。

改为 off 后,显示出文件的大概大小,单位是 KB 或者 MB 或者 GB

autoindex_localtime on;

默认为 off ,显示的文件时间为 GMT 时间。

改为 on 后,显示的文件时间为文件的服务器时间。


我们用的较多的还是Nginx禁止目录和文件访问的方式。这里介绍常用的几个禁止目录和文件访问的脚本记录。

1、禁止特定后缀文件

location ~ \.(css|conf|txt)$ {
    deny all;
}

2、禁止访问某目录

location ^~ /sample/ {
    deny all;
}

3、禁止访问目录下文件

location ^~ /sample {
    deny all;
}

4、禁止图片不被打开

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
    add_header Content-Disposition attachment;                   
}

5、禁止多个目录不被访问

location ~* ^/(sample1|sample2)/{
    deny all;
}

基本上涵盖我们需要的应用范畴。

备注:

^~ 表示uri以某个字符串开头

~ 正则匹配(区分大小写)

~* 正则匹配(不区分大小写)

!~和!~*分别为区分大小写不匹配及不区分大小写不匹配的正则

/ 任何请求都会匹配


上一篇:网站安全运维策略

下一篇:用css3的clip-path画扇形、空心扇形(透明背景)