现在市面上有很多网盘(如 Cloudreve)或文件列表程序(如 AList)支持 WebDAV 管理文件,所以我就想到了将其作为网络位置或网络驱动器挂载到电脑里像硬盘一样直接使用,但是由于我的 AList 是在本地跑的,没有 HTTPS,挂载时就遇到了一些问题。

映射网络驱动器
映射网络位置

问题原因

  问题的原因其实并不复杂,Windows 的 WebClient 服务默认只支持 HTTPS ,以追求更高的安全性。但对于内网部署使用来说,这无疑有点小题大做了。

解决方法

  清楚了问题的原因,我们可以知道只要让 WebClient 支持 HTTP 协议即可。

1、修改注册表

按下 Windows + R键 输入 regedit ,回车,打开注册表编辑器。

注册表编辑器

在顶部输入计算机三个字后输入 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters ,找到 BasicAuthLevel 一项,双击并将值修改为 2 ,点击确定

注册表编辑器

2、重启 WebClient 服务

按下 Windows键 ,搜索 cmd,右键管理员身份运行,输入以下命令

net stop webclient
net start webclient

3、重新添加驱动器即可

解释说明

  以上内容很多地方都可以找得到类似的,但是这个修改的值到底是什么呢?根据微软官方文档BasicAuthLevel 的值分为以下三个:

  • 0 – 禁用基本身份验证
  • 1 – 仅对 SSL 连接启用基本身份验证
  • 2 – 为 SSL 和非 SSL 连接启用基本身份验证