proxying to apache/svn, COPY fails, but without HTTPS
Samuel Vogel
samydelux at gmail.com
Wed Aug 12 14:18:23 MSD 2009
Am 10.08.09 16:50, schrieb Samuel Vogel:
> Hey guys,
>
> We proxy http://svn.domain.com:80 to http://localhost:81, where an
> apache server with mod_dav_svn is listening, which is binding only to
> 127.0.0.1:81.
> We do get a "502 Bad Gateway" for COPY requests. This topic came up a
> couple of times on the list, but issues with HTTPS vs. HTTP always
> caused the problems.
> This is however not the case with out setup, the SVN client uses HTTP
> and we proxy to the backend via HTTP.
>
> Our nginx config:
> server {
> listen 80;
> server_name svn.domain.com;
>
> location / {
> proxy_pass http://localhost:81;
> }
> }
>
> Apache config:
> Listen 127.0.0.1:81
>
> ServerName svn.domain.com
> UseCanonicalName On
>
> <Location />
> DAV svn
> SVNParentPath "/var/lib/svn"
> </Location>
>
> Any hints how this could be solved?
>
> Regards,
> Samy
I have now changed my nginx config as follows:
server {
listen 80;
server_name svn.domain.com;
location / {
set $dest $http_destination;
if ($http_destination ~ "^http://svn.domain.com/(.+)") {
set $dest http://localhost:81/$1;
}
proxy_set_header Destination $dest;
proxy_pass http://localhost:81;
}
}
Now the COPY Request looks as follows (captured with tcpdump):
COPY /tourvital/!svn/bc/120/trunk HTTP/1.0
Destination:
http://localhost:81/tourvital/!svn/wrk/0200ab05-2301-0010-93d2-4be8b1bacda6/branches/test
Host: localhost:81
Shouldn't this be working?
Regards,
Samy
More information about the nginx
mailing list