Nginx 위치가 잘못 리디렉션됨

Nginx 위치가 잘못 리디렉션됨

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

으로 이동하면 대신 http://myapp/tracker으로 리디렉션됩니다 .myapp/tracker/tracker/users/sign_inmyapp/tracker/users/sign_in

백만 가지 변형을 시도했지만 리디렉션이 500개나 너무 많거나 이 중 하나입니다.

몇 가지를 만지작거리면서 바꿨고, 다시 바꾼 줄 알았는데, 이제 뭔가 망가졌네요... 백업해야 합니다.

도와주세요. 이와 같이 두 개의 Rails 앱을 실행하는 것이 나쁜 습관입니까?

답변1

블록 이 아닌 블록에 root설정 해야 합니다 . 이것은 가장 일반적인 nginx 실수 중 하나입니다.serverlocation

location문서 루트를 재정의해야 하는 경우 경로 가 올바르게 변환되도록 alias대신 사용하세요.root

관련 정보