Я настроил свой 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 будет более простым и не менее безопасным.