Nginx静态目录列表autoindex开启与关闭 Nginx
前言
访问一个没有 index 文件的目录,Nginx 默认返回 403。需要开放文件下载列表时用 autoindex 开启目录浏览;生产站点反而要关闭,防止文件被遍历。本文讲解开启、关闭、排序格式和安全注意。
操作步骤
1. 开启目录列表
location /download/ {
root /var/www;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
2. autoindex_exact_size off
显示可读的 MB/GB,on 显示字节。
3. autoindex_localtime on
列表时间用服务器本地时区。
4. 关闭目录列表(生产默认)
autoindex off;
5. 校验并重载
nginx -t && nginx -s reload
6. 验证
curl -I https://域名/download/
开启后 200 并返回 HTML 列表。
常见坑
- 生产站点误开 autoindex,泄露全部文件结构。
- 目录里有 index 文件时优先返回索引页,列表不显示。
- autoindex 只列文件不限制下载,敏感目录别开。
- 中文文件名在列表乱码,注意编码。
- 没配 root,列表路径错误。
- autoindex 与 location 正则冲突时匹配不到。
- 开启后仍要配合访问控制限制来源。
总结
autoindex on 开启目录浏览,配 exact_size off 和 localtime;生产站点保持 off。只在明确的下载目录开启,敏感文件放列表之外。改完 nginx -t 校验,curl 确认响应码。
遇到问题加QQ23979811 协助处理