WebDAV за обратным прокси

У меня 2 сервера. Один обратный прокси в Интернете и один на частной ссылке, обслуживающей WebDAV.

Бут-серверы - это apache httpd v2.

На прокси у меня:

    ProxyRequests Off

    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    ProxyPass           /repo/ http : //share.local/repo/
    ProxyPassReverse    /repo/ http : //share.local/repo/

На сервере dav у меня есть:

<Location /repo/>
    DAV on
    Order allow,deny
    allow from all
</Location>

Доступ к обратному прокси-серверу осуществляется через https, а к частному серверу - через http. И в этом проблема!

Команды только для чтения работают нормально. Но когда я хочу что-то переместить, я получаю 502 Bad gateway. Причина этого в том, что обратный прокси-сервер не перезаписывает URL-адрес внутри расширенного запроса dav.

Исходный URL-адрес находится внутри заголовка и правильно преобразован в http://share.local/file1. Целевой URL-адрес находится внутри какого-то фрагмента xml, который я не понимаю, и остается https://example.com/file1 :(

Есть ли стандартный способ позволить apache правильно преобразовать запрос?

Спасибо за ваши усилия.


person Community    schedule 10.07.2009    source источник
comment
Переполнение стека действительно говорило, что я могу опубликовать только один URL :( поэтому я добавил пробелы. В моих исходных файлах конфигурации URL-адреса, конечно, верны.   -  person    schedule 10.07.2009


Ответы (2)


Хм, нашел ответ. Всегда одно и то же :)

Я добавил следующую строку в конфигурационный файл моего «частного сервера»:

LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so

RequestHeader edit Destination ^https http early

(например, расположение конфигурации '/etc/httpd/conf.d/DefaultRequestHeader.conf')

и это сработало. Не знаю, есть ли у этого недостатки. Я посмотрю.

person Community    schedule 10.07.2009

Как вы уже заметили, целевой URL должен быть не в формате XML, а в заголовке «Destination». Может быть, вы смотрели на ответ об ошибке ...

В общем, эта проблема исчезнет, ​​если клиенты и серверы реализуют уровень 3 WebDAV (как определено в RFC4918), который позволяет заголовку Destination быть просто относительным путем.

person Julian Reschke    schedule 13.07.2009