nginx开启目录浏览

有时候需要开启nginx的目录浏览功能,比如用来放原型什么的。如果没有开启目录浏览功能,访问目录会显示403。
没有配置目录访问提示403

1. 进入nginx的配置文件目录

查看当前运行的nginx是在哪个目录,因为我是mac,使用brew安装的nginx,如果是其他linux,配置文件路径:/etc/nginx/nginx.conf

1
2
3
4
ps -ef | grep nginx

# brew安装的进入目录
cd /usr/local/etc/nginx/

2. 编辑配置文件

1
vim nginx.conf

3.在http节点下添加如下内容:

1
2
3
4
5
6
location / {  
autoindex on; #开启目录浏览功能;
autoindex_exact_size off; #关闭详细文件大小统计,让文件大小显示MB,GB单位,默认为b;
autoindex_localtime on; #开启以服务器本地时区显示文件修改日期!
charset utf-8,gbk; #解决中文乱码问题。
}

在http节点下的配置会影响整个网站的配置,也就是全站都开启目录浏览,如果只是想开启特定路径,则使用下面的方法。

4.开启指定路径的目录浏览功能

1
2
3
4
5
6
location /prototype {
autoindex on; #开启目录浏览功能;
autoindex_exact_size off; #关闭详细文件大小统计,让文件大小显示MB,GB单位,默认为b;
autoindex_localtime on; #开启以服务器本地时区显示文件修改日期!
charset utf-8,gbk; #解决中文乱码问题。
}

添加的内容是一样的。

5. 校验配置文件

1
2
3
nginx -t
# nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
# nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful

6. 重启nginx

1
2
3
4
nginx -s reload

# brew
sudo brew services restart nginx

7. 访问测试

正常显示目录
如果访问显示404,则需要配置根路径(要访问的目录):root /private/srv;,在相应的http节点或者location节点下配置。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!