9

Я настроил сервер с Apache и WebDAV, используя это руководство.

Я протестировал функциональность WebDAV с помощью клиента Cyberduck, и он отлично работает. Я могу как читать, так и писать в удаленный каталог, используя подробности ниже.

Подробности вошли в кибердаки.Соединение успешно!

Поэтому я хочу смонтировать этот каталог как диск в Windows 8, что, по моему мнению, должно быть возможно с использованием WebDAV. Я щелкаю правой кнопкой мыши "Компьютер", затем выбираю "Подключить сетевой диск". Но не ясно, как мне следует вводить вышеуказанные данные.

Я попытался переписать URL всеми способами, которые я мог себе представить, и попытался с "Без использования различных учетных данных" и без него.

Он всегда просто говорит, что пытается подключиться, затем запрашивает учетные данные (если я его отключил), а затем выдает ошибку «0x80070043 Имя сети не найдено».

Что случилось? Как мне смонтировать удаленный каталог с помощью WebDAV, если не как выше?

2 ответа2

8

Плавное плавание с WebDAV - клиенты Microsoft и серверы Apache

По умолчанию Windows 7 и более поздние версии будут работать с WebDAV только через безопасные сокеты (SSL). Самый простой выход - это получить и установить сертификат 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" в файле davusers.digest. Он сообщает браузеру клиента, чтобы пользователи могли получить доступ к другим местоположениям, если они предоставили аутентификацию для одного из них.

На стороне клиента Windows сопоставьте общий ресурс webdav, используя этот URL:

    https://www.myserver.com/webdav

Если вы действительно ненавидите идею иметь дело с SSL, вы можете отключить это требование, используя взлом реестра на клиенте Windows. Поместите следующие строки в простой текстовый файл «Установить - включить 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

Это чистый пример известной техники Microsoft "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.

В приведенном выше примере мы создали исключение в локальной "интрасети" (LAN), но вы можете сделать то же самое для удаленных серверов, если хотите.

Наконец, и это очень важно, доступ к WebDAV из Windows будет безумно медленным (как в ледниковом режиме), если вы не выполните эту настройку:

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

Каждая версия Windows требует нового набора хаков и патчей для работы WebDAV. Может сложиться впечатление, что Microsoft чувствует угрозу от этой технологии или, что более вероятно, хочет только видеть, как она работает со своими серверами.

0

Ответ @ user2152363 очень хороший. Для полноты изложения предлагаем два альтернативных решения:

  • Mountain Duck, из тех же людей, что и Cyberduck;
  • Rclone, Rsync-подобная программа, которая поддерживает WebDAV.

Оба из них поддерживают монтирование сервера WebDAV. Но я бы рекомендовал сначала проверить их; разработчики Rclone говорят, что их вариант монтирования является экспериментальным, и, по моему опыту, у Mountain Duck все еще есть ошибки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .