WebDAV:共享文件的利器,让你驰骋云端!

1. WebDAV的介绍

WebDAV全称是Web Distributed Authoring and Versioning,它是一种用于Internet上进行文件共享、管理的技术标准。它是基于HTTP协议的扩展性,为用户提供了对远程服务器上文档的如本地一样的访问和编辑功能。相比起FTP和SMB等传统的文件协作方式,WebDAV的文件操作更加直观、友好,并且在跨平台的环境中表现得更为优秀。

2. WebDAV的应用场景

WebDAV广泛应用于团队协作、文件管理、云盘搭建等场景,具体情况如下:

(1) 团队协作

WebDAV为团队内部提供了一个协作平台,在同一个文档中完成文本编辑、文件共享、讨论等操作。编辑后自动同步到服务器上,对使用者的版本控制和管理带来极大的方便。

(2) 文件管理

WebDAV提供了丰富的文件管理功能,如新建、删除、复制、移动、重命名等操作。在本地中,更多时候我们习惯了文件管理软件为我们许多繁琐重复的工作,而在网络上,WebDAV就能够帮助我们完成这些操作,使我们的工作效率得到提升。

(3) 云盘搭建

现在很多人已经不再将数据储存于个人电脑或服务器中,而是使用更方便的云存储服务进行共享。使用WebDAV搭建云盘也是一种方案,通过自己的服务器或者虚拟空间等搭建WebDAV服务,便可以实现云盘功能,方便用户同时访问。

3. 快速上手

WebDAV是一种用于在Web服务器上进行文件管理和共享的协议。使用Dk8s平台来部署WebDAV非常方便,就像是给你的文件管理增加了一把“魔法钥匙”,让你可以随时随地访问和管理文件。 下面是使用Dk8s快速搭建WebDAV服务器的步骤:

步骤1:安装Dk8s

首先,你需要在你的机器上安装Dk8s。具体的安装方法可以进入【首页】-【探索】-【快速上手】查阅官方文档。

步骤2:安装WebDAV

进入【首页】-【商店】搜索‘WebDAV’程序,点击安装。

步骤3:运行WebDAV

安装后,点击【我的】-【‘WebDAV’程序】-【更多】-【设置】,检查各项参数是否需要修改,

其中,‘本地目录’指示的值(默认为‘.’)为共享文件夹的二级目录路径,一级目录需进入【首页】-【设置】-【存储】-‘存储位置’进行修改,所有程序仅支持存储于同一个一级目录中,二级目录默认隶属于一级目录。

设置参数检查后,如无需修改,即可点击运行,程序会自动拉取镜像并完成安装。

步骤4:访问WebDAV

现在,你可以进入【我的】-【‘WebDAV’程序】,点击打开程序,可在【设置】中修改默认密码。

4. 参考手册

该镜像运行一个易于配置的带有Apache的WebDAV服务器。

您可以配置身份验证类型、多个用户的身份验证,或者使用自签名的SSL证书运行。如果您想要使用Let’s Encrypt证书,请参考这里的示例。

代码仓库:https://github.com/BytemarkHosting/docker-webdav

问题反馈地址:https://github.com/BytemarkHosting/docker-webdav/issues

维护者:Bytemark Hosting

支持的架构:任何httpd镜像支持的架构

5. 使用方法

(1) 基本的WebDAV服务器

此示例在端口80上启动一个WebDAV服务器。它只能通过单个用户名和密码访问。

在使用未加密的HTTP时,使用摘要认证(而不是基本认证)以避免明文密码传输。

为了确保您的数据不会被删除,您可能需要创建一个持久存储卷(-v vol-webdav:/var/lib/dav)或者绑定挂载一个目录(-v /path/to/directory:/var/lib/dav)。

docker run --restart always -v /srv/dav:/var/lib/dav
-e AUTH_TYPE=Digest -e USERNAME=alice -e PASSWORD=secret1234
–publish 80:80 -d bytemark/webdav

通过 Docker 撰写:

version: ‘3’ services: webdav: image: bytemark/webdav restart: always ports:

  • “80:80” environment: AUTH_TYPE: Digest USERNAME: alice PASSWORD: secret1234 volumes:
  • /srv/dav:/var/lib/dav

(2) 安全的SSL WebDAV

我们建议您使用反向代理(例如Traefik)来处理SSL证书。您可以在这里看到如何进行配置的示例。

如果您满意使用自签名的SSL证书,请指定-e SSL_CERT=selfsigned,容器将为您生成一个证书。 
docker run --restart always -v /srv/dav:/var/lib/dav
-e AUTH_TYPE=Basic -e USERNAME=test -e PASSWORD=test
-e SSL_CERT=selfsigned --publish 443:443 -d bytemark/webdav

如果您将证书链绑定到/cert.pem并将私钥绑定到/privkey.pem,容器将使用它们。

(3) 认证多个客户端

指定USERNAME和PASSWORD仅支持单个用户。如果您想为不同的用户设置多个登录凭据,请将自己的文件绑定到/user.password,容器将使用该文件。

1.如果使用基本身份验证,请运行以下命令:

touch user.passwd htpasswd -B user.passwd alice htpasswd -B user.passwd bob

2.如果使用摘要身份验证,请运行以下命令。(注意:默认的REALM是WebDAV。如果您指定了自己的REALM,您需要使用新名称再次运行htdigest命令。)

touch user.passwd htdigest user.passwd WebDAV alice htdigest user.passwd WebDAV bob

一旦您创建了自己的user.passwd文件,请使用-v /path/to/user.passwd:/user.passwd将其绑定到容器中。

6. 环境变量

所有环境变量都是可选的。您可能至少想要指定USERNAME和PASSWORD(或将自己的认证文件绑定到/user.passwd),否则没有人能够访问您的WebDAV服务器!

(1)SERVER_NAMES:以逗号分隔的域名列表(例如,example.com,www.example.com)。第一个被设置为ServerName,其他(如果有)被设置为ServerAlias。默认值为localhost。

(2)LOCATION:WebDAV的URL路径(例如,如果设置为/webdav,则客户端应连接到example.com/webdav)。默认值为/。

(3)AUTH_TYPE:要使用的Apache身份验证类型。可以选择Basic(HTTPS的最佳选择)或Digest(HTTP的最佳选择)。默认值为Basic。

(4)REALM:设置AuthName,当客户端连接时显示给客户端的标识符。默认值为WebDAV。

(5)USERNAME:使用此用户名进行身份验证(以及下面的密码)。如果将自己的认证文件绑定到/user.passwd,则会忽略此项。

(6)PASSWORD:使用此密码进行身份验证(以及上面的用户名)。如果将自己的认证文件绑定到/user.passwd,则会忽略此项。

(7)ANONYMOUS_METHODS:以逗号分隔的HTTP请求方法列表(例如,GET,POST,OPTIONS,PROPFIND)。客户端可以在此处使用您指定的任何方法而无需进行身份验证。设置为ALL以禁用身份验证。默认值是不允许匿名访问。

(8)SSL_CERT:设置为selfsigned以生成自签名证书并启用Apache的SSL模块。如果指定了SERVER_NAMES,第一个域将被设置为通用名称。

7. WebDAV的常用特性

WebDAV的特性与优势不仅仅在于流程,更多的体现在对用户使用的规范和标准化,具体如下:

(1) 文件共享

WebDAV通过网络进行文件交互,用户可以方便的分享文件、将文件共享给团队并且进行共同修改。

(2) 版本控制

传统的文件共享往往有版本控制致命的缺点,而WebDAV通过强化了版本控制这一点,可以防止文件修改过程中的错误。用户可以在WebDAV已共享的文件中进行修订,出现对于文档的重大改变时,可以方便的回溯文档状态。

(3) 批量操作

WebDAV支持批量操作,同时进行多项功能操作,如快速上传、下载、重命名等。

(4) 多功能操作

WebDAV内置搜索功能,支持多个文件的同时操作,更好的满足了工作中各类文件的需求。

(5) 安全性保障

WebDAV通过安全通讯协议,更好的保障了数据的安全性,确保数据不会在传输的过程中被他人盗用或篡改。

8. WebDAV注意事项

在进行WebDAV的使用过程中,我们需要注意以下几点:

(1) 数据传输安全

因为WebDAV启动在HTTP协议之上,因此数据传输的安全性不能够保证,建议在数据传输的过程中启动SSL等安全通讯协议。

(2) 传输文件大小限制

WebDAV传输文件的大小,大小限制很小,如果传输文件过大,需要重新设定limit等参数,以保证数据的传输准确、及时性。有些WebDAV客户端可能不支持对大小限制的文件进行传输,这时也应当考虑使用软件兼容性更好的WebDAV客户端。

(3) 维护备份

WebDAV传输的过程可能会丢失数据。当希望使用WebDAV云盘作为持久化存储时,需要多备份求证,以保证文件和数据的安全性和可靠性。

9. WebDAV原理概述

WebDAV的原理基于HTTP和HTTPS协议,它拥有更为丰富的HTTP方法和HTTP协议属性。连接WebDAV所需要的URL是标准的URL,除了具有完整的HTTP和HTTPS协议特性之外,还经过扩展以支持WebDAV规范。

WebDAV可以更好的支持分布式开发和文件协作。在原理上,WebDAV非常适合小文档的传输,但相对的对于比较大的文档的传输就存在一些缺陷。

10. 结语

对于大多数人而言,WebDAV或许不是特别常见或用得到的项目,但这并不妨碍我们去使用它来解决实际问题中的应用场景。无论是团队协作、文件管理和云盘搭建,我们随时可以使用这个有趣、灵活的协作工具,细心打磨出高效工作的丝滑路径。

Copyright © 2023-2023  深圳市南山区殷悦软件中心  版权所有  粤ICP备2023068705号