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 列表。

常见坑

  1. 生产站点误开 autoindex,泄露全部文件结构。
  2. 目录里有 index 文件时优先返回索引页,列表不显示。
  3. autoindex 只列文件不限制下载,敏感目录别开。
  4. 中文文件名在列表乱码,注意编码。
  5. 没配 root,列表路径错误。
  6. autoindex 与 location 正则冲突时匹配不到。
  7. 开启后仍要配合访问控制限制来源。

总结

autoindex on 开启目录浏览,配 exact_size off 和 localtime;生产站点保持 off。只在明确的下载目录开启,敏感文件放列表之外。改完 nginx -t 校验,curl 确认响应码。

遇到问题加QQ23979811 协助处理


emer 发布于  2026-11-15 07:12 
'); })();