proxying to apache/svn, COPY fails, but without HTTPS
Igor Sysoev
is at rambler-co.ru
Wed Aug 12 14:30:24 MSD 2009
On Wed, Aug 12, 2009 at 12:18:23PM +0200, Samuel Vogel wrote:
> 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?
This should work.
--
Igor Sysoev
http://sysoev.ru/en/
More information about the nginx
mailing list