无法使用 WebDAV 挂载远程目录

无法使用 WebDAV 挂载远程目录

我使用 Apache 和 WebDAV 设置了一个服务器,使用本教程

我使用 Cyber​​duck 客户端测试了 WebDAV 功能,它运行完美。我可以使用以下详细信息读取和写入远程目录。

详细信息已输入 Cyber​​ducks。连接成功!

因此,我想将此目录作为 Windows 8 中的驱动器安装,我相信使用 WebDAV 应该可以实现。我右键单击“计算机”,然后选择“映射网络驱动器”。但不清楚我应该如何输入上述数据。

我尝试了能想到的所有方式重写 URL,并尝试了使用和不使用“使用不同的凭据连接”。

它总是只是说尝试连接,然后要求输入凭据(如果我选中了),然后给出错误“0x80070043 无法找到网络名称”。

在此处输入图片描述

哪里出了问题?如果与上述情况不同,如何使用 WebDAV 挂载远程目录?

答案1

使用 WebDAV 顺利航行 - Microsoft 客户端和 Apache 服务器

默认情况下,Windows 7 及更高版本仅通过安全套接字 (SSL) 处理 WebDAV。简单的解决方法是获取 SSL 证书并在服务器上安装。之后,您的服务器端配置可能如下所示:

    Alias /webdav  /var/www/webdav

    <Directory /var/www/webdav>
            DAV on
            Satisfy all
            Order allow,deny
            Allow from all
            ForceType application/octet-stream
            AuthType Digest
            AuthName "davusers"
            AuthDigestDomain /webdav /geep /foop /goop
            AuthUserFile davusers.digest
            Require valid-user
            SSLRequireSSL
            Options Indexes
    </Directory>

AuthDigestDomain 指令应在 davusers.digest 文件中列出受“davusers”领域保护的所有位置。它告诉客户端浏览器,如果用户已为其中一个位置提供身份验证,则允许用户访问其他位置。

在 Windows 客户端,使用以下 URL 映射 webdav 共享:

    https://www.myserver.com/webdav

如果您真的不喜欢处理 SSL,可以使用 Windows 客户端上的注册表破解来关闭此要求。将以下几行放入纯文本文件“Install - Enable BasicWebdav.reg”中

    Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WebClient\Parameters]
    "BasicAuthLevel"=dword:00000002

右键单击该文件并选择“合并”。您可能需要重新启动。如果要删除此更改,请创建一个纯文本文件“删除 - 启用 BasicWebdav.reg”,并在其中保存以下行:

    Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WebClient\Parameters]
    "BasicAuthLevel"=dword:00000001

合并将使一切恢复为默认值。

当你能够挂载 WebDAV 共享时,你会受到另一个烦恼的侵扰。每次你将文件从远程文件夹拖到本地文件夹时,你都会收到一条威胁性警告:

These files might be harmful to your computer

这是微软著名的“FUD”技术的一个纯粹例子。他们希望连接到 Apache 服务器的人体验“恐惧、不确定和怀疑”。

解决这个问题有点复杂,网上有很多相互矛盾的建议。第一步是普遍认同的:

从 Internet Explorer->工具或控制面板开始,选择:

Internet Options -> Security -> Local intranet

Allowed levels for this zone:

    Move the slider to: Low

Sites -> Advanced:

    Add the path to the remote webdav server.

但是这条路径从何而来?这就是出现如此多相互矛盾的建议的原因:成功连接后,您必须使用 Explorer 窗口标题栏中显示的路径。这将取决于许多无法估量的因素。

例如,如果标题栏显示类似以下内容:

Computer webdav (\\www.mysite.com@SSL\DavWWWRoot) (X:)

添加到区域的路径将是仅使用括号内的服务器部分:

\\www.mysite.com@SSL

在您的例子中,磁贴栏中的服务器名称可能显示为 IP 地址,或者可能没有 @SSL:只需输入您看到的内容。退出配置窗口,烦恼就会停止。

下次打开此窗口时,路径将如下所示:

    file://www.mysite.com@ssl

显然,这是 Windows 喜欢的规范形式。

在上面的例子中,我们在本地“内部网”(LAN)上创建了一个例外,但如果您敢的话,您可以对远程服务器执行同样的事情。

最后,这非常重要,如果您不进行此调整,从 Windows 访问 WebDAV 将会非常慢(如冰川般缓慢):

Internet Explorer->Tools->Internet Options
Select the "Connections" tab.
Press the "LAN Settings" button.
UNCHECK: "automatically detect settings"

每个版本的 Windows 都需要一套新的黑客和补丁才能使 WebDAV 正常工作。人们可能会觉得微软感到受到这项技术的威胁​​,或者更有可能的是,他们只想看到它在他们的服务器上工作。

答案2

@user2152363 的回答非常好。为了完整起见,您可以考虑以下两种替代解决方案:

  • 山鸭,与 Cyber​​duck 来自同一个团队;
  • 克隆,一个支持 WebDAV 的类 Rsync 程序。

这两个都支持安装 WebDAV 服务器。但我建议先测试它们;Rclone 开发人员说他们的安装选项是实验性的,而且根据我的经验,Mountain Duck 仍然存在一些错误。

答案3

macOS Finder / Transmit (反向代理)也出现了同样的问题

解决方案:

相关内容