无法使用WebDAV挂载远程目录


9

我使用本教程设置了Apache和WebDAV服务器。

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

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

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

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

它总是只是说尝试连接,然后请求凭据(如果我检查了关闭),然后给出错误“0x80070043无法找到网络名称。”

在此输入图像描述

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

Answers:


8

使用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

右键单击该文件,然后选择“合并”。您可能需要重启。如果要删除此更改,请创建纯文本文件“Remove - Enable 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.

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

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

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

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

\\www.mysite.com@SSL

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

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

    file://www.mysite.com@ssl

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

在上面的示例中,我们在本地“Intranet”(LAN)上创建了一个例外,但如果您觉得胆大的话,可以为远程服务器执行相同的操作。

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

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

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


感谢非常详细和彻底的答复。“不幸的是”,我回到Linux上进行开发,主要是因为我从来没有找到一种在Windows上运行远程服务器的好方法。我仍然批准了你的答案,希望你是对的:)
Mads Skjern 2014年

优秀的答案,@ hugh-sparks !!!
Paulo Coghi

0

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

  • 山鸭,来自与Cyber​​duck相同的人;
  • Rclone,一个类似Rsync的程序,支持WebDAV。

这两个都支持安装WebDAV服务器。但我建议先测试一下; Rclone开发者说他们的挂载选项是实验性的,根据我的经验,Mountain Duck仍有一些bug。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.