结合 Nginx 的 --with-http_dav_module 默认模块 + HTTP Basic 认证 + HTML+ JavaScript,在浏览器中,对服务器指定路径(可配置)下,实现文件与子目录的查看、上传、删除、改名、新建、移动、复制的功能。
响应式布局,支持PC与手机浏览器,只使用了HTML + JavaScript + Nginx 实现文件管理功能;而tiny file manager 需要 php 环境,当然,tiny file还支持多用户的隔离。
使用方法
- 准备好
/etc/nginx/conf.d/.htpasswd文件,可使用在线htpasswd生成工具。 - 在 Nginx 的站点配置文件中,增加引用
include conf.d/WebDav.nginx;。- 修改
WebDav.nginx文件中第7行的路径 - 使用配置生效
sudo ngintx -t && sudo ngintx -s reload
- 修改
- 上传
FileManager.html到 Nginx 的站点根目录下,通过浏览器访问https://youdomain/FileManager.html
更新记录
v3.0 2026/7/30
- 增加了移动与复制功能
- 安全加固,及其他修复
v2.0 2026/4/16
- 增加了中英文语言与主题颜色的自适应
v1.0 2026/4/4
- WebDav 文件管理功能的实现
Nginx 的 autoindex + WebDAV 配置
location = /FileManager.html {
default_type text/html;
auth_basic "Restricted WebDAV Manager";
auth_basic_user_file /etc/nginx/conf.d/.htpasswd;
}
location /WebDav/ {
alias /data/downloads/;
index off; # 访问/WebDav/时,强制返回autoindex列表,而不是index.html文件
# 1. 自动索引(用于列目录)
autoindex on;
autoindex_format json; # json 格式
autoindex_localtime on; # 文件(修改)时间是服务器时间
autoindex_exact_size off; # 大小自动显示MB/GB单位
# 2. HTTP Basic 认证
auth_basic "Restricted WebDAV";
auth_basic_user_file /etc/nginx/conf.d/.htpasswd; # 密码文件路径
# 3. WebDAV 方法配置
dav_methods PUT DELETE MKCOL COPY MOVE;
create_full_put_path on; # 允许 PUT 时自动创建目录
dav_access user:rw group:rw all:r;
client_max_body_size 15M; # 限制上传文件大小(按需调整)
# 4. 可选:CORS 配置(若前端页面与接口不同域时启用)
#add_header Access-Control-Allow-Origin *;
#add_header Access-Control-Allow-Methods "GET, PUT, DELETE, MOVE, MKCOL, OPTIONS";
#add_header Access-Control-Allow-Headers "Authorization, Destination, Content-Type";
if ($request_method = OPTIONS) { return 204; }
}

