WebDAV全称是Web Distributed Authoring and Versioning,它是一种用于Internet上进行文件共享、管理的技术标准。它是基于HTTP协议的扩展性,为用户提供了对远程服务器上文档的如本地一样的访问和编辑功能。相比起FTP和SMB等传统的文件协作方式,WebDAV的文件操作更加直观、友好,并且在跨平台的环境中表现得更为优秀。
WebDAV广泛应用于团队协作、文件管理、云盘搭建等场景,具体情况如下:
WebDAV为团队内部提供了一个协作平台,在同一个文档中完成文本编辑、文件共享、讨论等操作。编辑后自动同步到服务器上,对使用者的版本控制和管理带来极大的方便。
WebDAV提供了丰富的文件管理功能,如新建、删除、复制、移动、重命名等操作。在本地中,更多时候我们习惯了文件管理软件为我们许多繁琐重复的工作,而在网络上,WebDAV就能够帮助我们完成这些操作,使我们的工作效率得到提升。
现在很多人已经不再将数据储存于个人电脑或服务器中,而是使用更方便的云存储服务进行共享。使用WebDAV搭建云盘也是一种方案,通过自己的服务器或者虚拟空间等搭建WebDAV服务,便可以实现云盘功能,方便用户同时访问。
WebDAV是一种用于在Web服务器上进行文件管理和共享的协议。使用Dk8s平台来部署WebDAV非常方便,就像是给你的文件管理增加了一把“魔法钥匙”,让你可以随时随地访问和管理文件。 下面是使用Dk8s快速搭建WebDAV服务器的步骤:
步骤1:安装Dk8s
首先,你需要在你的机器上安装Dk8s。具体的安装方法可以进入【首页】-【探索】-【快速上手】查阅官方文档。
步骤2:安装WebDAV
进入【首页】-【商店】搜索‘WebDAV’程序,点击安装。
步骤3:运行WebDAV
安装后,点击【我的】-【‘WebDAV’程序】-【更多】-【设置】,检查各项参数是否需要修改,
其中,‘本地目录’指示的值(默认为‘.’)为共享文件夹的二级目录路径,一级目录需进入【首页】-【设置】-【存储】-‘存储位置’进行修改,所有程序仅支持存储于同一个一级目录中,二级目录默认隶属于一级目录。
设置参数检查后,如无需修改,即可点击运行,程序会自动拉取镜像并完成安装。
步骤4:访问WebDAV
现在,你可以进入【我的】-【‘WebDAV’程序】,点击打开程序,可在【设置】中修改默认密码。
该镜像运行一个易于配置的带有Apache的WebDAV服务器。
您可以配置身份验证类型、多个用户的身份验证,或者使用自签名的SSL证书运行。如果您想要使用Let’s Encrypt证书,请参考这里的示例。
代码仓库:https://github.com/BytemarkHosting/docker-webdav
问题反馈地址:https://github.com/BytemarkHosting/docker-webdav/issues
维护者:Bytemark Hosting
支持的架构:任何httpd镜像支持的架构
此示例在端口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:
我们建议您使用反向代理(例如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,容器将使用它们。
指定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将其绑定到容器中。
所有环境变量都是可选的。您可能至少想要指定USERNAME和PASSWORD(或将自己的认证文件绑定到/user.passwd),否则没有人能够访问您的WebDAV服务器!
WebDAV的特性与优势不仅仅在于流程,更多的体现在对用户使用的规范和标准化,具体如下:
WebDAV通过网络进行文件交互,用户可以方便的分享文件、将文件共享给团队并且进行共同修改。
传统的文件共享往往有版本控制致命的缺点,而WebDAV通过强化了版本控制这一点,可以防止文件修改过程中的错误。用户可以在WebDAV已共享的文件中进行修订,出现对于文档的重大改变时,可以方便的回溯文档状态。
WebDAV支持批量操作,同时进行多项功能操作,如快速上传、下载、重命名等。
WebDAV内置搜索功能,支持多个文件的同时操作,更好的满足了工作中各类文件的需求。
WebDAV通过安全通讯协议,更好的保障了数据的安全性,确保数据不会在传输的过程中被他人盗用或篡改。
在进行WebDAV的使用过程中,我们需要注意以下几点:
因为WebDAV启动在HTTP协议之上,因此数据传输的安全性不能够保证,建议在数据传输的过程中启动SSL等安全通讯协议。
WebDAV传输文件的大小,大小限制很小,如果传输文件过大,需要重新设定limit等参数,以保证数据的传输准确、及时性。有些WebDAV客户端可能不支持对大小限制的文件进行传输,这时也应当考虑使用软件兼容性更好的WebDAV客户端。
WebDAV传输的过程可能会丢失数据。当希望使用WebDAV云盘作为持久化存储时,需要多备份求证,以保证文件和数据的安全性和可靠性。
WebDAV的原理基于HTTP和HTTPS协议,它拥有更为丰富的HTTP方法和HTTP协议属性。连接WebDAV所需要的URL是标准的URL,除了具有完整的HTTP和HTTPS协议特性之外,还经过扩展以支持WebDAV规范。
WebDAV可以更好的支持分布式开发和文件协作。在原理上,WebDAV非常适合小文档的传输,但相对的对于比较大的文档的传输就存在一些缺陷。
对于大多数人而言,WebDAV或许不是特别常见或用得到的项目,但这并不妨碍我们去使用它来解决实际问题中的应用场景。无论是团队协作、文件管理和云盘搭建,我们随时可以使用这个有趣、灵活的协作工具,细心打磨出高效工作的丝滑路径。