背景
目前大部分浏览器已经不支持ftp协议了,win11也移除了支持ftp的ie,那么现在使用ftp有几个方案:
- 使用资源管理器,但界面看起来就不太舒服了
- 使用cmd匿名登录或者wget下载指定文件,浏览文件不方便
- 使用第三方工具登录ftp或者下载ftp文件,浏览文件不方便
解决
其实下载ftp和查看ftp文件都还是支持的,只是更好的观赏性和便利性已经不支持了。而且ftp的重要功能是上传,对于内网大部分的用户而言他们都不需要上传,所以我们新增一个http协议吧,让下载/浏览/便利重新回归,此次使用nginx的文件下载功能。
nginx文件下载
nginx最小化的编译安装也是支持文件下载的,参数如下:
server {
listen 80;
location / {
autoindex on;
root html;
}
}
这个配置满足了文件下载功能,但是有几个问题:中文文件名乱码,文件名超过一定字符显示不完整,再就是不够美观。所以采用开源模块fancy来解决此文件。
优化
fancy主体,此模块编译进nginx
https://github.com/aperezdc/ngx-fancyindex
主题优化代码
https://github.com/TheInsomniac/Nginx-Fancyindex-Theme
安装后更新为如下代码:
# 其中主题解压到了/var/ftp/pub/fancyindex,其他方法貌似访问有问题
# 前面三个参数功能nginx默认是支持的,把fancy改成auto就行了
server {
listen 80;
charset utf-8,gbk;
location / {
fancyindex on;
fancyindex_localtime on;
fancyindex_exact_size off;
fancyindex_name_length 500;
fancyindex_header "/fancyindex/header.html";
fancyindex_footer "/fancyindex/footer.html";
fancyindex_ignore "fancyindex";
alias /var/ftp/pub/;
}
}