在 Debian 上,Nginx 的**目录浏览(目录列表)**是由 autoindex 指令控制的。默认情况下 Nginx 不开启目录浏览,但如果之前被开启过,可以通过以下方式禁止。
编辑对应的 Nginx 配置文件(常见位置):
sudo nano /etc/nginx/nginx.conf
# 或
sudo nano /etc/nginx/sites-enabled/default
# 或你的站点配置文件
找到类似以下内容:
location / {
autoindex on;
}
改为:
location / {
autoindex off;
}
✅ autoindex off; 表示禁止目录浏览
例如只允许 /downloads 不能列目录:
location /downloads/ {
autoindex off;
}
有时候目录浏览是在子配置中开启的,比如:
grep -R "autoindex" /etc/nginx/
确保没有 autoindex on;
如果目录下没有 index.html 等文件,且 autoindex on,就会列出文件。
建议确保有默认首页:
index index.html index.htm;
sudo nginx -t
sudo systemctl reload nginx
浏览器访问:
http://你的服务器IP/某个目录/
如果返回:
403 Forbidden
说明目录浏览已成功禁止 ✅
如果你愿意,可以把你的 Nginx 配置片段发出来,我可以帮你精确定位问题。