我正在尝试将 WebDAV 共享作为驱动器安装在 Windows 8 上。我尝试在 Windows 2012 和 Debian Linux 上设置 WebDAV 服务器,但尝试从客户端安装时都出现相同的错误。
我已经验证 Linux WebDAV 可以通过尸体-命令,它使用给定的凭据成功验证身份,并且我能够下载文件。我还可以使用浏览器使用这些凭据从客户端成功访问它。因此 WebDAV 服务器似乎可以正常工作。
但是 Windows 8 客户端给出了这个错误:
C:\>net use * http://10.0.0.5/webdav/ 发生系统错误 67。 找不到网络名称。
如果我尝试使用 Windows 资源管理器进行挂载,我会收到同样的错误。“/webdav/”是我在服务器上为 WebDAV 访问配置的子目录。
没有防火墙阻止访问服务器。正如我所说,我可以使用浏览器连接,因此网络不是问题。
是否需要任何其他步骤才能使其工作以及/或者我做错了什么?
编辑: Apache 日志显示以下内容(主机名已被更改以保护无辜者):
==> /var/log/apache2/other_vhosts_access.log <== debian1.my.net:80 10.0.0.4 - - [2013 年 7 月 13 日:17:53:00 +0200] “选项/HTTP/1.1” 200 229 “-” “DavClnt” debian1.my.net:80 10.0.0.4 - - [13/Jul/2013:17:53:03 +0200] “选项 /WebDAV HTTP/1.1” 200 193 “-” “Microsoft-WebDAV-MiniRedir/6.2.9200” debian1.my.net:80 10.0.0.4 - - [2013 年 7 月 13 日:17:53:03 +0200] “PROPFIND /WebDAV HTTP/1.1” 405 584 “-” “Microsoft-WebDAV-MiniRedir/6.2.9200”
我还可以使用 .Net 访问 WebDAV,并且SharpBox。
答案1
找到解决方案:基本认证。
改为BasicAuthLevel
2 下HKLM\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
然后重新启动 WebClient 服务:
停止 WebClient 净启动 WebClient
对于那些感兴趣的人,我的 Apache2 配置如下:
名称虚拟主机 * <虚拟主机 *> ServerAdmin webmaster@localhost 文件根目录 /var/www/webdav/mounts <目录 /var/www/webdav/mounts> 期权指数多视图 AllowOverride 无 命令允许、拒绝 允许所有人 </目录> 别名 /webdav /var/www/webdav/mounts <位置 /webdav> DAV 开启 AuthType 基本版 AuthName“webdav” 验证用户文件 /var/www/webdav/passwd.dav 需要有效用户 </位置> </虚拟主机>
编辑:最终将 WebDAV 配置为使用 Digest,这样它就可以工作,而无需修改 Windows 客户端上的注册表。发布结果这里如果有人感兴趣的话。
答案2
如果您的服务器运行的是 Linux,则路径可能区分大小写。
该错误也可能是由不良凭证引起的;请尝试指定该/user
选项。