栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

nginx文件服务器美化autoindex显示

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

nginx文件服务器美化autoindex显示

网络上很多使用nginx来作为文件服务器的,前段时间公司也有这个需求,就研究了一下使用nginx来做文件服务器,参见前面两篇文章:

容器中使用ngnix搭建支持上传下载的文件服务器
使用nginx容器并搭建sftp服务

但是nginx原生的autoindex显示界面很一般,网上也有使用Nginx-Fancyindex插件来的,但是需要自己编译nginx,比较麻烦,笔者使用的容器版本的nginx,所以放弃了它,而选择了add_after_body的方式。

感谢 phuslu 写了一个 autoindex.html,可以非常方便的进行美化,只需要在nginx配置中添加一行:

add_after_body /autoindex.html;

非常方便。

作者的展示站点:https://phus.lu/

它还支持展示目录中的README.md文件,非常不错。

在站点中,作者为了方便大家获取autoindex.html,将其放在了文件服务器中显示。在实际应用中,该文件不应该让大家看到,可以将其改为隐藏文件,即改名为.autoindex.html。但是如果文件服务器的下载目录同时是为了方便别人上传文件(上传的人只能访问此目录),此时有不相关的文件就不太合适了。所以笔者修改了相应的配置,将autoindex.html放在了另一个目录,这里列一下nginx的主要配置:

server {
		......
		root share;
        charset utf-8;

        add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";

        add_header cache-control "no-cache";
        add_header access-control-allow-origin "*";
        add_header referrer-policy "no-referrer";
        add_header x-content-type-options nosniff;
        add_header x-xss-protection "1; mode=block";
        add_header x-frame-options sameorigin;

        location = /autoindex.html {
            root   html;
        }
        
        location ~ ^(.*)/$ {
            autoindex       on;
            autoindex_localtime on;
            autoindex_exact_size off;
            add_after_body /autoindex.html;
        }

        location ~ .md$ {
            default_type text/plain;
        }

        location ~ .(log|pac|keys|lua|json|yaml|toml|conf|cmd|sh|bash|h|c|cpp|hpp|py|go|service)$ {
            default_type text/plain;
        }

        location ~ ^/(bashrc|vimrc)$ {
            default_type text/plain;
        }
        ......

作者还写了一个markdown.html用于渲染markdown文件为html,但是有一个问题就是导致下载的所有的md文件后面都有markdown.html的代码。笔者通过研究,在展示后面加了一列preview,如果是markdown文件,则会在后面显示一个preview按钮,点它则会新建一个窗口,来展示经过html渲染的markdown文件(markdown的是通过marked来渲染的,功能有限)。如下图所示:

附上autoindex.html:





参考:
https://1kb.day/posts/nginx_autoindex.html
https://akawa.ink/2020/05/23/make-nginx-autoindex-page-beauty

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/887171.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号