我正在部署某种文件交换,其前提是只有知道服务器上文件夹路径的人才能访问这些文件(例如mydomain.tld/privatesecretfolder/
)。我在 Nginx 中启用了自动索引功能,并在文档根目录中创建了一个虚拟 index.html 文件。
现在我的问题是:有人可以生成目录索引吗(可以全面查看超级秘密文件夹) 即使 index.html 存在?
仅作为参考,启用自动索引的部分:
location ~/ {
autoindex on;
}
答案1
除非您(现在或将来)出现配置错误,否则 nginx 永远不会公开目录索引。您必须明确启用目录的目录自动索引。下一个代码片段为 下的所有子目录/public/
(不包括/public
)启用自动索引:
server {
// server_name, logs, redirect, etc.
location ~ /public/.+/ {
autoindex on;
}
}
该index
指令优先于该autoindex
指令,即如果找到索引文件,目录将不会显示自动索引。如果您相信自己永远不会删除最顶层的索引文件,则可以删除该autoindex
指令。