WebDav File Manager

结合 Nginx 的 --with-http_dav_module 默认模块 + HTTP Basic 认证 + HTML+ JavaScript,在浏览器中,对服务器指定路径(可配置)下,实现文件与子目录的查看、上传、删除、改名、新建、移动、复制的功能。

响应式布局,支持PC与手机浏览器,只使用了HTML + JavaScript + Nginx 实现文件管理功能;而tiny file manager 需要 php 环境,当然,tiny file还支持多用户的隔离。

使用方法

  1. 准备好/etc/nginx/conf.d/.htpasswd文件,可使用在线htpasswd生成工具
  2. 在 Nginx 的站点配置文件中,增加引用 include conf.d/WebDav.nginx;
    • 修改WebDav.nginx文件中第7行的路径
    • 使用配置生效 sudo ngintx -t && sudo ngintx -s reload
  3. 上传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; }
}
ToC