Forum: NGINX NGINX + Subversion + HTTPS and 502 Bad Gateway error

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Mario Gazzo (Guest)
on 2008-12-15 16:40
(Received via mailing list)
Hi,

Could only find one entry about this on the NGINX mailinglist but
without any answer, so maybe there is someone who can help me with
this. I get the following svn error when I try to create a branch:

"svn: Server sent unexpected return value (502 Bad Gateway) in
response to COPY request"

After googling around there was some indications that this could be
related to running subversion over https behind a reverse proxy
although I must admit that I am not entirely sure about this. I have a
subversion server running under Apache with WebDAV and NGINX in front
as a https reverse proxy. Below you will find an example of my NGINX
configuration. I am still running version NGINX 0.7.19. Maybe its just
some configuration stuff missing. Any help would be much appreciated.

Cheers
Mario

worker_processes  1;

events {
     worker_connections  1024;
}

http {
     include    mime.types;
     include    proxy.conf;
     default_type  application/octet-stream;

  log_format   main '$remote_addr - $remote_user [$time_local] $status '
                       '"$request" $body_bytes_sent "$http_referer" '
                       '"$http_user_agent" "$http_x_forwarded_for"';

  access_log   logs/access.log  main;

     sendfile        on;
     keepalive_timeout  65;

     upstream subversion_hosts {
           server  192.168.1.136:80;
     }

     server {
         listen 443;

    ssl    on;
    ssl_certificate    /etc/ssl/certs/mydomain-ssl.crt;
    ssl_certificate_key     /etc/ssl/private/mydomain-ssl.key;

         server_name  www.mydomain.com;

         location /myproj/repos {
           proxy_pass http://subversion_hosts;
         }
     }
}
Gena M. (Guest)
on 2008-12-15 19:10
(Received via mailing list)
On Monday, December 15, 2008 at 16:30:12, Mario Gazzo wrote:

MG> "svn: Server sent unexpected return value (502 Bad Gateway) in
MG> response to COPY request"

MG> After googling around there was some indications that this could
MG> be related to running subversion over https behind a reverse proxy
MG> although I must admit that I am not entirely sure about this.

because nginx pass to backend https:// url in Destination header.

but http:// and https:// urls can not be mixed in COPY request.

workaround available:

        server_name www.mydomain.com;

        location /myproj/repos {

                set $fixed_destination $http_destination;
                if ( $http_destination ~* ^https(.*)$ )
                {
                    set $fixed_destination http$1;
                }

                proxy_set_header        Host $host;
                proxy_set_header        X-Real-IP $remote_addr;
                proxy_set_header        Destination $fixed_destination;
                proxy_pass              http://subversion_hosts;
        }

MG>          server_name  www.mydomain.com;
MG>          location /myproj/repos {
MG>                 proxy_pass http://subversion_hosts;
MG>          }
Mario Gazzo (Guest)
on 2008-12-15 22:32
(Received via mailing list)
Hi Gena,

This worked like a charm. Thanks a lot for the quick reply.

Big Ups :))

Mario
This topic is locked and can not be replied to.