WebDAV behind a reverse proxy
apache2, http, mod-proxy, reverse-proxy, webdav
Solution
Hmm, found the answer. Always the same :)
I added the next line to my 'private server' config file:
LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so
RequestHeader edit Destination ^https http early
(e.g. of config location '/etc/httpd/conf.d/DefaultRequestHeader.conf')
and it worked. I don't know if this has drawbacks. I'll see.
Problem
I have 2 servers. One Reverse proxy on the web and one on a private link serving WebDAV. Booth servers are apache httpd v2. On the proxy I have: ``` ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /repo/ http : //share.local/repo/ ProxyPassReverse /repo/ http : //share.local/repo/ ``` On the dav server I have: ``` <Location /repo/> DAV on Order allow,deny allow from all </Location> ``` The reverse proxy is accessed via `https` and the private server is accessed via `http`. And there lies the problem! Read only commands work fine. But when I want to move something I get `502 Bad gateway`. The reason for this is the reverse proxy not rewriting the url's inside the extended dav request. The source URL is inside the header and is correctly transformed to `http://share.local/file1`. The destination URL is inside some xml fragment I do not understand and stays `https://example.com/file1` :( Is there a standard way to let the apache correctly transform the request? Thanks for your effort.