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/tracker
me redirigen a myapp/tracker/tracker/users/sign_in
en 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 root
en el server
bloque, no en el location
bloque. Este es uno de los errores de nginx más comunes.
Cuando location
necesite anular la raíz del documento, utilice alias
en lugar de root
para que la ruta se traduzca correctamente.