Nginx-Standortumleitung falsch

Nginx-Standortumleitung falsch

Meine 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/;
    }
  }
}

Wenn ich zu gehe, http://myapp/trackerwerde ich zu myapp/tracker/tracker/users/sign_instatt zu weitergeleitet myapp/tracker/users/sign_in.

Ich habe eine Million Varianten ausprobiert, aber entweder bekomme ich 500 Weiterleitungen zu viel oder dies.

Ich habe ein paar Dinge geändert und herumgespielt und dachte, ich hätte es wieder zurückgeändert, aber jetzt habe ich etwas kaputt gemacht ... hätte ein Backup machen sollen.

Bitte helfen Sie. Ist es eine schlechte Praxis, zwei Rails-Apps auf diese Weise auszuführen?

Antwort1

Sie müssen rootim serverBlock festlegen, nicht im locationBlock. Dies ist einer der häufigsten Nginx-Fehler.

Verwenden Sie dort location, wo Sie das Dokumentstammverzeichnis überschreiben müssen, aliasanstelle von root, damit der Pfad richtig übersetzt wird.

verwandte Informationen