есть приложение, которое работает на домене (для примера example.com ). необходимо сделать еще одно приложение на домене example.com/new-app (при этом это совершенно отдельное приложение, никак не связанное с тем, которое на example.com).
в конфигурации nginx для example.com есть location /new-app, которое делает proxy_pass на домен example.com:8080, по которому доступно второе приложение. статику и прочее я подтягиваю через try_files (типа если файлы такие тут есть, использовать, иначе идети на /new-app/static). это работает. Проблема в том, что пути прописаны так: /login. и этот /login ведет на example.com/login, а мне нужно, чтобы он вел на example.com/new-app/login. как такое можно сделать?
server {
listen 80;
server_name example.com;
access_log /var/log/nginx/example.log;
location /static/{
root /srv/example/files/;
try_files $uri /new-app/$uri;
expires 30d;
}
location /media/{
root /srv/example/files/;
try_files $uri /new-app/$uri;
}
location / {
proxy_pass http://unix:/srv/example/example.sock;
proxy_set_header Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /new-app/static/ {
root /srv/new-app/files/;
expires 30d;
}
location /new-app/media/ {
root /srv/new-app/files/;
}
location /new-app/ {
proxy_pass http://example.com:8080/;
}
}
server {
listen 8080;
server_name example.com;
access_log /var/log/nginx/new-app.log;
location /static/{
root /srv/new-app/files/;
expires 30d;
}
location /media/{
root /srv/new-app/files/;
}
location /{
proxy_pass http://unix:/srv/new-app/new-app.sock;
proxy_set_header Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
возможно есть и другие предложения