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

IIS8.5 с WebDAV обслуживает файлы только для чтения

Windows Server 2012 R2 с установленным и включенным IIS 8.5 и функцией WebDAV. Похоже, все основы работают:

$curl --ntlm -u username:password -i -X OPTIONS http://server/file.docx

HTTP/1.1 200 OK
Allow: OPTIONS, TRACE, GET, HEAD, POST, COPY, PROPFIND, DELETE, MOVE, PROPPATCH, PUT, LOCK, UNLOCK
Server: Microsoft-IIS/8.5
Public: OPTIONS, TRACE, GET, HEAD, POST, PROPFIND, PROPPATCH, MKCOL, PUT, DELETE, COPY, MOVE, LOCK, UNLOCK
DAV: 1,2,3
MS-Author-Via: DAV
Persistent-Auth: true
X-Powered-By: ASP.NET
Date: Wed, 07 Dec 2016 05:10:15 GMT
Content-Length: 0

Также:

$curl --request PROPFIND --ntlm -u username:password  --header "Content-Type: text/xml" --header "Brief:t" --data "<D:propfind xmlns:D='DAV:'><D:prop><D:displayname/><D:getcontentlength/><D:getlastmodified/></D:prop></D:propfind>" http://server/file.docx

<?xml version="1.0" encoding="utf-8"?>
<D:multistatus xmlns:D="DAV:"><D:response>
<D:href>http://server/file.docx</D:href>
<D:propstat><D:status>HTTP/1.1 200 OK</D:status>
<D:prop>
<D:getlastmodified>Wed, 07 Dec 2016 04:26:19 GMT</D:getlastmodified>
<D:displayname>file.docx</D:displayname>
<D:getcontentlength>16265</D:getcontentlength>
</D:prop>
</D:propstat>
</D:response>
</D:multistatus>

ОБНОВЛЕНИЕ: Также были обнаружены команды curl для удаления файла с сервера и загрузки файла, и все они тоже работают:

$curl --ntlm -u username:password -X DELETE http://server/file.docx
$curl --ntlm -u username:password -T file.docx http://server/

На основе всех curl тесты, базовый WebDAV вроде работает, но как бы я ни пытался открыть этот файл / URL в Microsoft Word, он открывается только для чтения.

Я пробовал вставить URL-адрес в диалоговое окно «Открыть файл» MS Word, я запустил Word из командной строки с URL-адресом этого файла, я даже пробовал некоторые обработчики протоколов MS Office (ms-word:ofe|u|http://server/file.docx) с веб-страницы.

Каждый раз я получаю только чтение. Любые предложения о том, как заставить MS Office правильно использовать этот WebDAV? Я использовал тот же MS Office с другой реализацией WebDAV (Atlassian Confluence), поэтому я надеюсь, что это просто необходимая конфигурация Office или переключатель командной строки.

У меня недостаточно комментариев для комментариев, поэтому я пишу в качестве ответа.

Поскольку вы сказали, что установка работает с сервером Atlassian и не работает с вашим, что бы я сделал для отладки проблемы, так это отслеживание HTTP-связи и выяснение различий в данных и заголовках запросов / ответов.

Для этого я обычно использую умный запах или WireShark.

Это не поможет, если одна из этих систем использует SSL.

Вам необходимо включить опцию «Источник» в настройках WebDAV, чтобы MS Office и многие другие инструменты корректно работали с WebDAV.