La ubicación de Nginx se redirige incorrectamente

La ubicación de Nginx se redirige incorrectamente

Mi nginx.conf:

http {
  include mime.types;

  default_type application/octet-stream;

  # click tracking!
  access_log /var/log/nginx/nginx.access.log combined;

  sendfile on;

  tcp_nopush on; # off may be better for *some* Comet/long-poll stuff
  tcp_nodelay off; # on may be better for some Comet/long-poll stuff

  gzip on;
  gzip_http_version 1.0;
  gzip_proxied any;
  gzip_min_length 500;
  gzip_disable "MSIE [1-6]\.";

  include /etc/nginx/sites-enabled/*;



  upstream nvhbase {
    server unix:///tmp/nvhbase.sock fail_timeout=0;
  }

  upstream tracker {
    server unix:///tmp/tracker.sock fail_timeout=0;
  }

  server {

    listen 80;
    server_name hmaapp101;

    # Application root, as defined previously
    #root /var/www/nvh/public;
    #try_files $uri/index.html $uri.html $uri;
    location / {
        root /var/www/nvh/public;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_pass http://unix:///tmp/nvhbase.sock;
    }

    location ^~ /tracker/ {
        root /var/www/tracker/public;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_pass http://unix:///tmp/tracker.sock:/tracker/;
    }
  }
}

Cuando voy a http://myapp/trackerme redirigen a myapp/tracker/tracker/users/sign_inen lugar de myapp/tracker/users/sign_in.

He probado un millón de variaciones, pero obtengo 500 redireccionamientos de más o esto.

Cambié algunas cosas, pensé que lo había vuelto a cambiar, pero ahora rompí algo... debería hacer una copia de seguridad.

Por favor asiste. ¿Es una mala práctica ejecutar aplicaciones de dos rieles como esta?

Respuesta1

Debe configurar rooten el serverbloque, no en el locationbloque. Este es uno de los errores de nginx más comunes.

Cuando locationnecesite anular la raíz del documento, utilice aliasen lugar de rootpara que la ruta se traduzca correctamente.

información relacionada