IIS 那套方案,解决的是另一个问题
搜「Windows WebDAV 服务器」,翻出来的基本都是 IIS 文档:角色服务、授权规则、应用程序池,配图还停留在 Server 2012。这条路当然走得通,只是它回答的往往不是你真正想问的问题。
IIS 发布的是这台机器本地磁盘上已经存在的目录。而大多数人想要 WebDAV 的原因恰恰相反:文件在阿里云 OSS、腾讯云 COS、阿里云盘、群晖 NAS,或者某台只开了 SFTP 的服务器上,希望它们能以一个盘符出现在文件资源管理器里,而不是先整包下载到本地。
装 WebDAV Publishing 角色服务、启用身份验证模块、写授权规则、挑应用程序池标识,再花一个小时搞明白为什么匿名身份验证总是优先生效。折腾完,你得到的是对 C:\inetpub\某个目录 的 HTTP 访问。这套东西碰不到任何一个云端存储桶。
你要的其实是更小的一件事:一个只为你自己跑的本地服务,一边说 WebDAV,一边连着你的各个存储账号。
启动服务大概只要十秒
AnyStorage 内置了 WebDAV 服务器。打开应用,在侧边栏进入「服务」,切到 WebDAV 标签页,点开始。端点就是 http://127.0.0.1:3211。
在映射之前,有几件事值得先看一眼:
- HTTP Basic 认证始终开启。默认用户名是 anystorage,密码在首次使用时随机生成 24 位字符。两者都可以改,有重新生成按钮,URL、用户名、密码旁边都有复制按钮。
- 端口可以改,范围 1 到 65535。默认用 3211 是因为它和常见服务几乎不撞。
- 默认只绑定 127.0.0.1。另有一个局域网访问选项会改成绑定 0.0.0.0,打开时应用会明确警告你,因为当前版本没有 TLS,Basic 凭据会以明文形式在网络里走一趟。
- 开关状态会保留。保持开启的话,下次启动应用时服务会一起起来。
应用里当前已连接的每一个存储连接,都会以连接名作为文件夹出现在 WebDAV 根目录下。S3、Cloudflare R2、Backblaze B2、阿里云 OSS、腾讯云 COS、Azure Blob、OneDrive、Google Drive、阿里云盘、Seafile、SFTP、FTP、本地文件夹,一共 20 种连接类型。有个前提我们更愿意提前说清楚,而不是让你自己撞上:连接是懒加载的,应用重启之后,你需要在 AnyStorage 里先打开一次某个连接,它才会出现在 WebDAV 根目录下。之后新增的连接则不需要重启服务。
整个过程不装驱动,没有 WinFsp,没有内核态文件系统,启动服务也不需要管理员权限。
Windows WebDAV 服务器真正麻烦的那一半
服务端这半边现在很轻松,麻烦的是 Windows 自带的 WebDAV 客户端,而且这个状况已经持续很多年了。
映射本身没什么特别:文件资源管理器,此电脑,映射网络驱动器,粘贴 http://127.0.0.1:3211,用应用里的用户名和密码登录。失败的话,几乎跑不出下面三种情况。
WebClient 服务没启动。这个组件已经被微软标记为弃用,到 2026 年,大多数 Windows 10 和 11 上它的启动类型都是「手动」,也就是通常压根没在跑。打开 services.msc,找到 WebClient,启动它。典型症状是提示「你输入的文件夹似乎无效」,以及系统错误 67「找不到网络名」。
Windows 默认拒绝明文 HTTP 上的 Basic 认证。注册表路径 HKLM\SYSTEM\CurrentControlSet\Services\WebClient\Parameters 下有个值叫 BasicAuthLevel,默认值 1 表示只允许在 SSL 上使用 Basic 凭据。我们的端点是回环地址上的 http,所以需要把它改成 2,然后重启 WebClient 服务。对应的报错通常是 0x80070043。这条策略放在不可信网络上是合理的,放在 127.0.0.1 上就没什么必要,但 Windows 并不区分这两者。改注册表需要管理员账号,这也是整个流程里唯一一步需要提权的操作。
超过 50 MB 的文件复制失败。同一个注册表项下的 FileSizeLimitInBytes,默认值是 50000000 字节,也就是 50 MB,而不是很多人记成的 50 GB。超过这个大小会报 0x800700DF,「文件大小超出允许的限制,无法保存」。这个值最大能调到 0xFFFFFFFF,十进制 4294967295,大约 4 GB,改完同样要重启 WebClient。超过 4 GB 的文件,系统自带客户端就彻底没戏了。
需要搬大文件时,绕开系统客户端
上面三条限制没有一条在服务端。它们属于 Windows 自己的 WebDAV 客户端,所以换任何一个第三方 WebDAV 客户端都能直接跳过,用 AnyStorage 应用本身也一样。
我们的建议是这样分工:映射出来的盘符用来浏览目录、用常规软件直接打开文档、拖动进度条看视频。读取走的是 HTTP Range 流式传输,拖到片子中间不需要先把整个文件拉下来。真正大体量的操作,比如几十 GB 的归档、批量迁移,交给应用里的传输界面,那边不受这些注册表上限约束。
有些限制是我们自己的,也一并说清楚。免费版的 WebDAV 服务器是只读的,写入、删除、重命名需要 Pro 授权;即便是 Pro,你也可以主动把它保持在只读模式。根目录下代表连接的那一层文件夹不能通过 WebDAV 重命名或删除,两个不同连接之间也不能直接通过挂载互相移动或复制文件,需要先落到本地再传过去。另外没有文件锁,多人同时改同一份文档这种场景它保护不了。它解决的是另一件事:让你自己的存储出现在你自己的资源管理器窗口里,而整台机器上你只装了一个应用。