autoindex_exact_size on 表示在 nginx 目录列表中显示原始字节数(如10485760),需配合 autoindex on 且必须在 location 块中显式配置,仅影响 html 格式下的文件大小列显示。

autoindex_exact_size 用于控制 Nginx 自动生成的目录列表中文件大小的显示格式。要显示精确大小(即原始字节数),只需将其设为 on。
这个设置只在启用 autoindex on 的 location 块中生效,且必须显式配置,不能继承自 server 或 http 级别。
-
autoindex_exact_size on:显示确切字节数,例如10485760、2048、512 -
autoindex_exact_size off:自动换算为 KB/MB/GB 并保留一位小数,例如10.0M、2.0K、512
注意:即使设为 on,Nginx 也不会添加单位(如 B),仅输出纯数字;单位需靠前端或用户自行理解。
正确配置方式
在对应 location 中写明三项关键指令:
-
autoindex on—— 启用目录索引 -
autoindex_exact_size on—— 显示字节值 -
alias或root—— 指向实际文件路径
示例:
location /docs/ {
alias /var/www/docs/;
autoindex on;
autoindex_exact_size on;
autoindex_localtime on;
}
常见误区提醒
-
不能省略 autoindex on:
autoindex_exact_size仅对 autoindex 生效,关闭索引后该指令无意义 - 不支持全局配置:必须写在具体 location 块内,server 或 http 块中设置无效
-
不改变响应头或日志:该指令只影响 HTML 目录页中的
<td> 文件大小字段,不影响 Content-Length 或 access_log<li> <strong>HTML 格式下才可见</strong>:若 <code>autoindex_format json,则此参数不生效(JSON 输出结构固定) - 需要程序解析文件大小(如脚本批量处理、校验一致性)
- 运维人员排查存储细节(比如对比 du 与 ls -l)
- 与旧系统保持显示风格一致(某些内部工具依赖整数大小)
- 若显示
10485760类似长数字 →on生效 - 若显示
10.0M或2.0K→ 当前是off
什么时候适合用 on?
验证是否生效
访问该 location 路径(如 http://your-domain.com/docs/),查看页面中文件大小列:
修改后需重载 Nginx 才能生效:
nginx -t && nginx -s reload
不复杂但容易忽略











