强制 nginx 始终自动索引并忽略 index.html 文件?

强制 nginx 始终自动索引并忽略 index.html 文件?

我正在尝试让 nginx 忽略index.html文件和总是显示模块的目录列表autoindex

如果我删除我的index行,nginx 仍然默认提供index.html文件服务,所以这不是一个解决方案。

类似的问题在 Stack Overflow 上被问到,但我正在寻找一种不涉及发明虚假文件名的解决方案,如果这样的解决方案存在的话(更不用说该线程偏离主题了)。

我怎样才能改变我的index指令来告诉 nginx 永远不显示索引文件?

答案1

您不应该删除该index指令,而应该将其设置为一个合理不存在的名称,这样它就不会匹配任何文件。

例如:

index X6XewZMsmreGIxx1lCdp0Yo1X4qHTivW;

你不可以喜欢这个解决方案。它有点不优雅。但它工作得很好,并且完全满足您的要求,而其他任何解决方案都不能。

答案2

删除(注释掉)索引指令。例如,使用 Debian nginx 包,autoindex(或 fancyindex)会尝试目录索引。

作为替代方案,伪造索引文件并不优雅,但也不昂贵。可能只需要几个系统调用来检查文件是否存在。

相关内容