WebDav rename fails on an Apache mod_dav install behind NginX
(Back to the days when I used Subversion) I had similar problem with proxying to Apache SVN from Nginx SSL frontend. Suppose Nginx SSL frontend is https ://host and we'd like to proxy connections to the internal Apache SVN server http ://svn
The problem occurs when you try to copy a resource is with Destination
header:
COPY /path HTTP/1.1
Host: host
Destination: https://host/another_path
As you can see Destination
header still contains https
schema. The fix is pretty evident --
location / {
# to avoid 502 Bad Gateway:
# http://vanderwijk.info/Members/ivo/articles/ComplexSVNSetupFix
set $destination $http_destination;
if ($destination ~* ^https(.+)$) {
set $destination http$1;
}
proxy_set_header Destination $destination;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://svn;
}