Поднимаю проект на джанго на VDS. Раньше сильно не парился и пихал фронт на один порт, а бэк на другой, но сейчас ситуация такого сделать не позволяет. Мне нужно, чтобы и один и второй сервис висели на 80 порту, при этом, если обращаться к host:80/api/, то запрос перенаправлялся в UWSGI-приложение, а если просто host:80/, то в index.html.
Проблема в том, что запрос полностью перненаправляется в приложение джанги вместе с url, поэтому джанга думает, что у него запросили host:port/api/.../ и всегда выдает 404.
Вот конфиг который я использовал
upstream django {
# server unix:///root/busines_trip_api/api.sock;
server 127.0.0.1:8000;
}
server {
listen 80;
# root /root;
server_name address.ya.ne.dam;
charset utf-8;
client_max_body_size 75M;
location /media {
alias /root/media;
}
location /static {
alias /root/static;
}
location /api {
# rewrite ^/api$ / last;
uwsgi_pass django;
include /root/uwsgi_params;
}
location ^~ / {
root /root/dist;
index index.html index.htm;
try_files $uri $uri/ @rewrites;
}
location @rewrites {
root /root/biztrip_frontend_webapp/dist;
rewrite ^.*$ index.html last;
}
}
Можно ли перенаправить запрос в django с измененным url?