无法使用 WebDAV 挂载远程目录

Mad*_*ern 10 webdav windows-8 network-location

我使用本教程设置了一个带有 Apache 和 WebDAV 的服务器。

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

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

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

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

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

在此处输入图片说明

怎么了?如果不像上面那样,如何使用 WebDAV 挂载远程目录?

小智 9

使用 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>
Run Code Online (Sandbox Code Playgroud)

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

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

    https://www.myserver.com/webdav
Run Code Online (Sandbox Code Playgroud)

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

    Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WebClient\Parameters]
    "BasicAuthLevel"=dword:00000002
Run Code Online (Sandbox Code Playgroud)

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

    Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WebClient\Parameters]
    "BasicAuthLevel"=dword:00000001
Run Code Online (Sandbox Code Playgroud)

合并将使所有内容恢复为默认值。

当您能够安装您的 WebDAV 共享时,您将受到另一个烦恼的攻击。每次将文件从远程文件夹拖到本地文件夹时,都会收到威胁警告:

These files might be harmful to your computer
Run Code Online (Sandbox Code Playgroud)

这是微软著名的“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.
Run Code Online (Sandbox Code Playgroud)

但这条路从何而来?这就是出现这么多相互矛盾的建议的原因:成功连接后,您必须使用资源管理器窗口标题栏中显示的路径。这将取决于数十个不可估量的因素。

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

Computer webdav (\\www.mysite.com@SSL\DavWWWRoot) (X:)
Run Code Online (Sandbox Code Playgroud)

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

\\www.mysite.com@SSL
Run Code Online (Sandbox Code Playgroud)

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

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

    file://www.mysite.com@ssl
Run Code Online (Sandbox Code Playgroud)

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

在上面的例子中,我们在本地“内联网”(LAN)上创建了一个例外,但如果你有胆量,你可以对远程服务器做同样的事情。

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

Internet Explorer->Tools->Internet Options
Select the "Connections" tab.
Press the "LAN Settings" button.
UNCHECK: "automatically detect settings"
Run Code Online (Sandbox Code Playgroud)

每个版本的 Windows 都需要一组新的黑客和补丁来使 WebDAV 工作。人们可能会觉得微软受到了这项技术的威胁​​,或者更有可能只是希望看到它与他们的服务器一起工作。