Nginx add path to url while proxy_pass

nginx

I have following proxy_pass in nginx:

upstream svnserver {
    server 10.0.1.90;
}

server {
  server_name svn.domain.com;
  listen 443 ssl;
  root /var/www/html;

  error_log /var/log/nginx/svn.error.log;

  rewrite /(.*) /svn/$1? break;

  location / {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://svnserver/svn$request_uri;
  }
}

I just want to add /svn path to url when accessing svn.domain.com so final url will be http://svn.domain.com/svn.

I've tried to add this rewrite /(.*) /svn/$1? break; but it looks like that doesn't work. Is it possible to do this with proxy_pass and rewrite?

Thanks

Best Answer

Try this:

server {
  server_name svn.domain.com;
  listen 443 ssl;
  root /var/www/html;

  error_log /var/log/nginx/svn.error.log;

  location / {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://10.0.1.90/svn/;
  }
}