Изменить публичный путь к прокси-серверу Nginx

Изменить публичный путь к прокси-серверу Nginx

У меня есть API Python/Django с уникальной конечной точкой, /videosработающей на моем сервере Debian.

Виртуальный хост Nginx выглядит так:

server {

    server_name example.com;

    location / {
        # Pass to Uvicorn/Gunicorn web server service
        proxy_pass http://upstream_name/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /path_to/fullchain.pem; # managed by Certbot
    ssl_certificate_key /path_to/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

upstream upstream_name {
    server 127.0.0.1:8002;
}

Таким образом, он успешно обслуживает приложение и его уникальную конечную точку на https://example.com/videos.

Теперь я хотел бы обслуживать приложение на https://example.com/my_app/videos, чтобы в будущем иметь другие приложения, обслуживаемые на том же домене/виртуальном хосте (с другими внутренними портами, другими восходящими потоками в виртуальном хосте, конечно).

Я читал несколько похожих вопросов/ответов на ServerFault и пытался изменить location /на location /my_app, одновременно пробуя разные конфигурации завершающих слешей на locationи proxy_pass, но безуспешно. Что я здесь упускаю?

EDIT: Точнее:

  • При изменении vhost на location /myapp-> https://example.com/my_app/videosотображается ошибка Not Found (не от Nginx)

  • При изменении vhost на location /my_app/-> https://example.com/my_app/videosпроисходит перенаправление https://example.com/videos/и отображается ошибка 404 Not Found (из Nginx)

Связанный контент