Я использовал Давенпорт+Кот через Обратный прокси Apache AJP в течение нескольких лет, и это очень помогло моему учреждению. Я хочу перейти на САМБАДАВ сохранение той же конфигурации для моих пользователей, которые получают доступ Давенпорт сервер через обратный прокси.
В настоящее время я использую в своей конфигурации apache для обратного прокси-сервера Davenport следующие директивы:
ProxyPass /webfolders ajp://davenport.my.domain:8009/webfolders flushpackets=on
ProxyPassReverse /webfolders ajp://davenport.my.domain:8009/webfolders
Итак, я попытался сделать то же самое с рабочей конфигурацией на http: // sambadav.my.domain / webfolders. Поскольку я не нашел никакой документации, я пробовал:
ProxyPass /webfolders http://sambadav.my.domain/webfolders
ProxyPassReverse /webfolders http://sambadav.my.domain/webfolders
И это работает для просмотра веб-страниц и некоторых клиентов webdav (Sardine / 0.0, Windows), но не работает для некоторых других клиентов webdav (gvfs / 1.20.3 и других), которые правильно работают как с прямым подключением к серверу sambadav, так и с текущим прокси-подключением к сервер davenport.
Анализируя трафик, я вижу, что после авторизации, когда SAMBADAV отвечает на запрос OPTION 200 OK обратному прокси-серверу Apache, он отправляет следующие заголовки:
HTTP/1.1 200 OK
Date: Wed, 21 Sep 2016 09:31:13 GMT
Server: Apache/2.4.10 (Debian)
X-Sabre-Version: 3.0.9
Allow: OPTIONS, GET, HEAD, DELETE, PROPFIND, PUT, PROPPATCH, COPY, MOVE, REPORT, LOCK, UNLOCK
DAV: 1, 3, extended-mkcol, 2
MS-Author-Via: DAV
Accept-Ranges: bytes
Content-Length: 0
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
В то время как обратный прокси-сервер Apache отправляет клиенту разные заголовки:
HTTP/1.1 200 OK
Date: Wed, 21 Sep 2016 09:31:13 GMT
Vary: Accept-Encoding
Content-Encoding: gzip
Cache-Control: max-age=0, no-cache
Content-Length: 20
Keep-Alive: timeout=15, max=99
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
И тогда клиент предполагает, что «сервер не поддерживает WebDAV».
Как я могу сделать так, чтобы обратный прокси-сервер Apache не фильтровал эти заголовки?
Я также пробовал включить следующие расположение директива безуспешно.
<Location /webfolders/>
<Limit OPTIONS PROPFIND GET REPORT MKACTIVITY PROPPATCH PUT CHECKOUT MKCOL MOVE COPY DELETE LOCK UNLOCK MERGE>
Order Deny,Allow
Allow from all
Satisfy Any
</Limit>
</Location>
Это клиенты webdav, которые я пробовал с обратным прокси-сервером, некоторые из них не работают с SAMBADAV (и обратным прокси-сервером Apache), но работают с Davenport (и обратным прокси-сервером Apache AJP).
| Operating System | Client | Works? |
--------------------------------------------------------------------------------
| Linux | gvfs/1.20.3 | No |
| Linux | davfs2/1.4.7 neon/0.30.0 | No |
| MacOS X | WebDAVFS/3.0.0 (03008000) Darwin/15.6.0 (x86_64) | No |
| MacOS X | WebDAVLib/1.3 | idem |
| Windows 10 | Microsoft-WebDAV-MiniRedir/10.0.10586 | Yes |
| Android | Sardine/0.0 | Yes |
Пишу вопрос заметил шапку Content-Encoding: gzip
.
Это была проблема: у меня pagespeed_module включен. После отключения прокси работает. Итак, я изменил расположение и теперь все работает !!!
ProxyPass /WEBFOLDERS http://sambadav.iib.uam.es/webfolders
<Location /webfolders/>
ProxyPassReverse /webfolders/
<Limit OPTIONS PROPFIND GET REPORT MKACTIVITY PROPPATCH PUT CHECKOUT MKCOL MOVE COPY DELETE LOCK UNLOCK MERGE>
Order Deny,Allow
Allow from all
Satisfy Any
</Limit>
# <IfModule pagespeed_module>
ModPagespeed off
# </IfModule>
</Location>