Назад | Перейти на главную страницу

WebDAV и Windows 7, нет доступа для записи

Я настроил свой Apache 2.4.10 с помощью WebDAV:

DavLockDB "/etc/httpd/var/DavLock"

Alias /public "/srv/webdav/public"

<Directory "/srv/webdav/public">
Dav On

AllowOverride None
Options Indexes

AuthType Digest
AuthName 7ooo
AuthUserFile "/etc/httpd/user.passwd"
AuthDigestProvider file

<Limit GET HEAD OPTIONS PROPFIND>
    Require all granted
</Limit>

<LimitExcept GET HEAD OPTIONS PROPFIND>
    Require user webdav
</LimitExcept>
</Directory>

Все необходимые файлы и папки существуют и имеют соответствующие разрешения.

Если я подключаюсь к WebDAV с помощью проводника Windows под 64-разрядной версией Windows 7, я могу читать файлы и переходить в подкаталоги. Однако я не могу записывать новые или существующие файлы. Проводник Windows просто зависает на неопределенный срок. То же самое и с блокнотом.

Что не так с моей конфигурацией?

Как ни странно, другие клиенты WebDAV, такие как cadaver или даже приложение для iPhone, работают отлично.

Кроме того, если я просто поставлю «Требовать все предоставлено» (без ограничения) перед предложением LimitExcept, доступ на запись будет работать нормально (для всех пользователей, а не только для пользователя «webdav»).

Показывают ли ваши журналы apache, что вы правильно аутентифицированы как пользователь webdav? Похоже, дайджест-аутентификация не работает должным образом.

Взгляните на это сообщение в блоге: http://dark9t.github.io/blog/2014/06/02/why-digest-authentication-fails-in-windows-7-mini-redirector/

Возможно, вы захотите поиграть с параметрами keepalive (даже больше, если у вас есть прокси), но переключение на базовую аутентификацию HTTP / SSL будет более простым и не менее безопасным.