nginx autoindex:在目录列表中包含点(隐藏)文件

nginx autoindex:在目录列表中包含点(隐藏)文件

我用来静态提供文件的位置块是:

location ~ ^/git/?(.*)$ {
    root /home/aoeu/git-webserver;
    autoindex on;
    try_files /$1 /$1/ 404;
}

大部分情况下都可以正常工作,只是当我访问网站的路径时,目录内/home/aoeu/git-webserver.字符开头的文件和目录不包含在 nginx 返回的目录列表中。它们各自的子目录也一样。/git/

我可以手动在浏览器 URL 栏中输入以点为前缀的目录并浏览它(这似乎是一个非常尴尬的不一致,并且可能存在 nginx 的安全问题)。但在浏览其父目录时,我无法看到它并单击它。

我希望所有文件都是可见的,无论它们以什么字符开头。

答案1

根据这个reddit帖子缺少该功能。该线程链接到票557从 2014 年开始,它有一个补丁来添加一个配置选项,允许列出点文件。然而,问题尚未解决,快速查看源代码就会发现ngx_http_autoindex_handler()每当遇到以点开头的条目时,只需输入continue:s,大约八九年后。

有可能从 trac 票证中应用补丁,无论是否需要做一些额外的工作来使其适应当代代码库。

为此,我放弃了 nginx,并用 lighttpd 取而代之。

# lighttpd config showing dot files in directory listings.
dir-listing.activate = "enable"
dir-listing.hide-dotfiles = "false"

答案2

现在可以使用fancyindex模块显示点/隐藏文件

相关内容