Project

General

Profile

Feature #1325

mod_core_proxy doesn't modify (parts of) "Destination" in WebDAV COPY/MOVE requests

Added by dev-zero about 12 years ago. Updated about 3 years ago.

Status:
Missing Feedback
Priority:
Normal
Assignee:
-
Category:
mod_proxy
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Missing in 1.5.x:

Description

... and this leads to a "502 Bad Gateway" error.

This is the HTTP Request as captured with wireshark: *********************************************
COPY /svn/it/!svn/bc/24/svn-tests/foo1/bar HTTP/1.1
Request Method: COPY
Request URI: /svn/it/!svn/bc/24/svn-tests/foo1/bar
Request Version: HTTP/1.1
X-Forwarded-For: 192.168.168.104
X-Host: myclient.mydomain.ch
X-Forwarded-Proto: https
Host: myhost.mydomain.ch
User-Agent: SVN/1.4.4 (r25188) neon/0.26.3
TE: trailers
Depth: infinity
Destination: https://myhost.mydomain.ch/svn/it/!svn/wrk/f9fa2da8-4979-4499-8ad6-367c849c5df3/svn-tests/foo2/bar
Overwrite: T

The configuration is: lighttpd running on port 443 using https, proxies requests to /svn to an apache running on the same machine on port 8088 using http.

As shown above, the lighttpd-proxy code should also rewrite "https://myhost.mydomain.ch" to "http://myhost.mydomain.ch" (in my case).
I didn't check whether it renames "myhost.mydomain.ch" but leaves https as it is or whether it doesn't rename anything.

History

#1

Updated by dev-zero about 12 years ago

sorry, the WikiFormatting didn't like what I pasted, here is it again:


COPY /svn/it/!svn/bc/24/svn-tests/foo1/bar HTTP/1.1
  Request Method: COPY
  Request URI: /svn/it/!svn/bc/24/svn-tests/foo1/bar
  Request Version: HTTP/1.1
X-Forwarded-For: 192.168.168.104
X-Host: myclient.mydomain.ch
X-Forwarded-Proto: https
Host: myhost.mydomain.ch
User-Agent: SVN/1.4.4 (r25188) neon/0.26.3
TE: trailers
Depth: infinity
Destination: https://myhost.mydomain.ch/svn/it/!svn/wrk/f9fa2da8-4979-4499-8ad6-367c849c5df3/svn-tests/foo2/bar
Overwrite: T
#2

Updated by dev-zero about 12 years ago

After reading through the code, there's a solution for it:

#3

Updated by gstrauss about 3 years ago

  • Description updated (diff)
  • Status changed from New to Missing Feedback
  • Assignee deleted (jan)

Curious what your solution was.

Some other options:
  • mod_magnet could be used with some custom lua code to rewrite arbitrary headers, including Destination
  • lighttpd could be configured to run (a properly configured) svnserve as CGI instead of proxying back to Apache.

Also available in: Atom